Gas Up res

   7098   4   1
User Avatar
Member
731 posts
Joined: Dec. 2006
Offline
Hi,

I've seen this question asked a few times, but I've not yet seen an answer. Has anyone had any luck uprezzing some random volume, (that has vel, dens, and temperature prims, natch)? For example, this question was asked but never answered:

http://www.sidefx.com/index.php?option=com_mailarchive&Itemid=212&view=WEB&msgid=622cacf50907291136x355c7f04vfe765edc749f4101@mail.gmail.com&perpage=20&revdate=off [sidefx.com]

I'm trying to wrap my mind around what exactly Houdini is doing in an uprez, (the node tree is good for scaring children, but totally baffling). It seems you can't just pipe a volume straight into it without some original lo-rez volume data already there, (for example, the original source). I guess Houdini isn't simply advecting noise through the original volume, it is creating a brand new one.

Basically, if you had a volume and no idea how it was made, is there a way to uprez it?
Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
User Avatar
Member
856 posts
Joined: Oct. 2008
Offline
I must admit I don't really know the best answer but gasmatch works at least partially.

The effect may not be visible in many case because it doesn't add any new information, just the old volume in hires. But once it is used in simulation it should “upres” as it evolves.

Attachments:
Capture.JPG (28.0 KB)
Capture2.JPG (28.3 KB)
volupres.hip (596.8 KB)

--
Jobless
User Avatar
Member
257 posts
Joined: Nov. 2007
Offline
I find there are two streams of thought on this.
1) you have a low res volume that has the approximate shape of your volume with corresponding fields. Specifically vel and rest, and the upres will be a separate sim that gets run based on the fields of the low res. Which really comes down to the density of the high rest being advected by the velocity of the low res + noise in areas of high curvature.
– this is a bit annoying as it is a separate sim, so not parallel.

2) You have your low res sim and at each frame you convert the low res to a high res volume, then advect it with noise and a bit of the low res velocity for a couple of steps. This is much more similar to displacements in a shader, as you are not performing a completely new simulation. Just a few steps. The advantage is that your “displacement” is curved and curled and that you can use the existing microsolvers to calculate your curvature so you know where to add noise.
This means you can run all frames of the upres in parallel on the farm.

For both you often use the rest fields of the low res for the shader, the high res only needs to store a few fields because the amount of data that needs to be stored becomes really high really quickly, most of the other information you can lookup from the low res anyway (like velocity, Cd or rest).

As mentioned in that other post, the data goes up quickly, 80Gb is not that much for a sim. I remember some of the larger sims went up to a terrabyte for Clash. When volumes go up really high res, you need to slice them into subcontainers and potentially render them as separate objects (delayed load) so they are unloaded when you have enough slices.

I don't know if an upres of an upres is a smart idea… I think at that stage you should really be adding the detail in the shader. The data required for a double upres seems excessive.

An idea I've been wanting to try out myself is to try and do solution 2) at rendertime as part of a VRAYprocedural, but I have not tried it yet.

When you say is there a way to “upres” it, what do you actually want to happen. Do you want to simply increase the number of voxels, or do you want to use it in combination with the tools for uprezzing provided?
If you have a brand new volume, you should be able to increase the resolution just fine. But as Mark was saying you will just have the same volume with a higher res.

If you want to use it with Houdini's gasupres, you will need to make sure that volume has some of the required fields. Such as vel, rest, and perhaps a few more. Have a look inside the upres digital asset… most of the left side is really not that necessary. The part that you are interested in is on the right side, where it masks the noise (“scale_from_curl”) and performs the advection (primary_noise_advection - and note how it promotes the lowres velocity into the high res with a gas_calculate set to copy).
Cg Supervisor | Effects Supervisor | Expert Technical Artist at Infinity Ward
https://www.linkedin.com/in/peter-claes-10a4854/ [www.linkedin.com]
User Avatar
Member
21 posts
Joined: Dec. 2008
Offline
I posted an answer to this here :

http://forums.odforce.net/index.php?/topic/12800-maya-fluids-export-to-houdini-for-upresing/page__gopid__80608&#entry80608 [forums.odforce.net]
User Avatar
Member
731 posts
Joined: Dec. 2006
Offline
Thanks everyone for your input, will hammer at this today.
Sean Lewkiw
CG Supervisor
Machine FX - Cinesite MTL
  • Quick Links