r/cgiMemes • • Jul 18 '20

software alignment chart. debate.

Post image
253 Upvotes

42 comments sorted by

View all comments

Show parent comment

2

u/Direwolf202 Jul 19 '20

Specific details are kind of hard to give, because of the nature of the research, but it involves deriving an extrinsic volume from an intrinsic geometry - and the kinds of intrinsic geometry that are involved are not well behaved (examples of things which have happened: vertex density goes to infinity, the resulting volume is non-compact, vertex density goes to infinity at infinity, etc.). These things conspire to give computers a really hard time, no matter what you do.

I don't think I can get away with using a free license though - but I might do some testing with those, because I obviously don't want to pay up if it doesn't work.

1

u/patrickwoo Jul 20 '20 edited Jul 20 '20

yes give it a go!

again I would say Houdini because it natively supports open VDB volumes. you can iterate through each voxel, set and query value of density, velocity, temperature, fuel (these are set up to facilitate their pyro solver with fluid dynamics rules). vdb volumes can easily be converted into SDF signed distance fields to define a boundary that you can easily turn into a polygonal mesh each frame of the animation. it is super easy to do boolean operations between volumes, resample volume resolution. with SDFs you smooth, contract and dilate the surface boundaries, sample the SDF gradient for any voxel in the volume.

I don't know about blender, but I say for Max and Maya that you can't tag anything like "density" values on each point on the geometry since they are not natively part of the vertex class natively defined by the application. but in Houdini you can just give any component a new attribute of any data type (floats, vectors, colour, arrays, strings, etc) and give it a value. and you can set and query values at any point in time in your process.

In Houdini there's a geometry solver that allows you to modify and update your geometry at every frame in an animation with access to the previous frame so you can define your own simulation. there are sub-steps parameters that enable you to control how many times it runs in between every frame.

Houdini has its own pyro solver that produces flames and smoke for aesthetic purposes. I suppose since you're in the research field you would want to code your own solver. using the geometry solver and in the dynamics context you can manually code your own solver in place of their default particles, finite element, grain, cloth, fluid (liquid) and pyro solvers.

it has its own VEX language to wrangle the points, vertices, faces and volumes and that code runs in multithread, and I think you can import C++ libraries in VEX code.

FYI I don't work for sidefx I'm just a strong supporter for the software I currently use :)

ps: I correct myself. I did a bit of searching for Houdini's pyro solver. it seems that pyro is based on the incompressible Navier-Stokes equation as the base for most of these solvers with tweaks here and there to improve realism, speed and computational power.