Jump to content
Sign in to follow this  
tkngs

image3d shader writing tutorial in VOPs network

Recommended Posts

Hi all,

Here's a simple reference VOPs network of i3d shaders based on Jason Iversen's image3d shader writing tutorial (part 1 only) that I built while working on some write-ups on Houdini.tk_i3d_spheres1.zip

To start, switch to Outputs and generate the three i3d files (it'll be created in the same directory as this hip file) using the three image3d ROPs in there, namely i3d_simple_sphere_gen, i3d_sphere_gen and i3d_spherenoise_gen. You can visualise the generated i3d files in Geometry by toggling the display flag of the appropriate isosurface SOPs(reload the i3d files if necessary).

In Objects, there are three atmosphere objects already created (i3d_simpleshere, i3d_sphere and i3d_spherenoise). Turn on the render flag of the i3d object you want and render (either View: Mantra or mantra1). Remember to 'home' your 3D viewport/camera if you do not see anything.

Feel free to comment :) Let me know if there are problems with the VOPs network or the hip file.

cheers,

tk

Share this post


Link to post
Share on other sites

I have made another set of VOPs network of image3d shaders that access the geometry info of metaballs based on jason's i3d shader writing tutorial (part 2) for self learning. You can find the excellent i3d shader writing tutorials by jason iversen here.

As with the previous reference, switch to Outputs and generate the necessary i3d files via the rops (i3d_simplemeta_gen, i3d_uniquemeta_gen and i3d_metaballs_space_gen).

For more details, switch to Vex Builder and drill into the 'forpoints' vop in each i3d shader to see how the loop works. The blend_attribute i3d shader is not included in this hip.

Also attached are images generated by each of the shader.

Please feel free to comment and suggest improvements or corrections. Hope this stuff is useful. Look forward to more sharing and learning with everyone :)

cheers,

tk

tk_i3d_metaballs_vop.zip

post-394-1103271973.jpg post-394-1103271994.jpg post-394-1103272008.jpg

Share this post


Link to post
Share on other sites

Curious, is it the Houdini's i3d function (from default shader?) that gives the volumetric stuff a very fast falloff (which made it looks like glow) or is we just have to write our own function to give it a softer falloffs..?

Share this post


Link to post
Share on other sites
Curious, is it the Houdini's i3d function (from default shader?) that gives the volumetric stuff a very fast falloff (which made it looks like glow) or is we just have to write our own function to give it a softer falloffs..?

15550[/snapback]

Hmmm, will need to explore deeper into the way houdini computes the volume density of metaballs, whether it's constant density or allows user-controllable falloffs via weights etc.

The i3dshaders rendered out in jason's part 1 tutorial based on geometric equations also has a glow around them too, which leads me to believe the glow effect also comes from the use of the 'vex 3d texture fog' shader (used in both hips). The ray marching algorithm used in the fog shader to walk thru the volumetric blob to sum the density and shade the results - the outer regions of the metaballs are less dense (if you shoot a ray straight thru from the eye/camera) and thus the glow effect and a dense core. We may need a custom fog shader as well for highly controllable renders. My guess so far...

cheers,

tk

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×