Jump to content
rutra

Cellular Automata VOP RSL shader

Recommended Posts

I've translated Malcolm Kesson's Cellular Automata SL into a Houdini VOP RSL shader (no reason). You can find the original SL on his website

Main difference is that Houdini VOPs don't support arrays so I used multiple connections and 8 texture calls instead of a for loop. Let me know if there is some better way of querying neigbours:)

Original shader cell size and count is dependant on micropolgyons and controlled by shading rate. I've set the shading rate to a very high value and the cell count is controlled by geometric subdivision instead. That meant I couldn't use random function for initialization so I replaced it with cellnoise shadeop.

post-4513-133064396621.gif

OTL library contains digital assets:

  • cellular - Object type digital asset
  • bake3d - shadeop for pointcloud baking
  • texture3D - shadeop for pointcloud reading
  • cellnoise - rendermans cellnoise function
  • cellular_automata - cellular.sl VOP node version. Just a direct implementation of the code. Not used for anything.

Cellular is Object Type Digital Asset that contains shaders, geometry and ROPs for 'out of the box' test render.

cellularotl.zip

  • Like 1

Share this post


Link to post
Share on other sites

Very cool. Thanks for sharing that!

Share this post


Link to post
Share on other sites

vops do support arrays! (and have been there in H10 and H11 as far as I remember)

but only if your using an inline vop..or if you write your otl in vex.

H12 has officially launched and it has now support for array inputs etc!

the only thing is to create an array you would have to use an inline vop which lets you write vex code

directly inside vex!

Share this post


Link to post
Share on other sites

but only if your using an inline vop..or if you write your otl in vex.

Yes, inline vop would work but I wanted to recreate the shader with minimum amount of code and try to use only existing vops where possible. Just as an exercises to demonstrate that you can translate almost any code to vop network.

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

×