Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Everything posted by rutra

  1. Hi, I'm trying to recreate GuidedWrinkling example with Vellum system. I followed the Tetrahedral softbodies example described in Vellum basics docs Then, added Vellum Constraint at the beginning of the chain and set the type to 'Pin to Target'. So the chain looks like this: Tetrahedral | Point Deform SOP (animation) | Vellum Constraint (Pin to Target) | Vellum Constraint (Distance Along Edges) | Vellum Constraint (Tetrahedral) | Vellum Solver It kiiiiinda works but I'd like to match the behavior to the Hybrid object. The main parameters to recreate are: * Shell Shape Stiffness * Shell Bend Stiffness * Solid Volume Stiffness Should I be creating a separate Vellum Constraint for 'surface_triangles' group? ideas? thanks
  2. Hi, I'm wondering how to go about creating a static shape of a stretched cloth/rubber sheet. Something like this: I've got an overly complicated version working where a set of points are constrained to primitives belonging to another geo but I suspect there is a way define pinned points and everything else is under some stretched force? Maybe initial state or rest geo is just a smaller version of itself? Thanks heaps!
  3. nbyte, this is brilliant! thanks for the link!
  4. 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. 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
  5. Cellular Automata VOP RSL shader

    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.
  6. VNC and houdini on LINUX

    We've tested it with NoMachine NX and VirtualGL + TurboVNC. No redraw issues with either virtualizations. TurboVNC is by far faster. Depending on your connection, TurboVNC can be as good as real-time. I've been connecting over ADSL and NX is great for basic 2D and TurboVNC+VirtualGL for 3D (Houdini). NX with virtualGL has some performance gain as well but not as noticeable.
  7. VNC and houdini on LINUX

    Hi, I'm trying to run Houdini on Linux over VNC as well but having same "redraw" issues. So I've tried to set HOUDINI_OGL_SOFTWARE = 1 but that didn't help. Then I found out that software OGL works only on Windows. Is there any other way to force Houdini to use sofware OGL on Linux? Unfortunately we can't use NoMachine NX (not even sure if it makes any difference) Thanks
  8. rsl arrays from multiparm list

    Hi, I'm trying to build RSL VOP texture layering node using Multiparm Block list. RSL array looks something like this: string texture_array[] = { "texture_a.tif", "texture_b.tif", "texture_c.tif" }; How can I get Multiparm Block number and values propagated into my SL code? Thanks in advance a
  9. rsl arrays from multiparm list

    Interesting idea but I'm actually trying to build Texture layering node for VOP network (VEX Builder Type). Not sure if co-shaders would work.
  10. rsl arrays from multiparm list

    Ok, I've got seriously dodgy way of doing it. Basically Python script dynamically generates SL arrays. The only problem is that I often have to refresh the script. Muliparm texture parameter Python CallBack script print hou.pwd().hdaModule().refresh(kwargs) ..runs following script: def refresh( kwargs ): this_node = kwargs['node'] num_layers = this_node.parm('layers').eval() prefix = 'texturepath' parms = this_node.parms() texture_paths = [] for p in this_node.parms(): parm_name = p.name() if parm_name.startswith(prefix): texture_paths.append( '"'+p.eval()+'"' ) else: pass code_string = '' code_string += 'string Kd_texture_array[] = {' code_string += ','.join( texture_paths ) code_string += '};' this_node.parm('texarray').set( code_string ) return code_string SL code looks like this: // generate Kd_texture_array sting array from Multiparm Block list via Python callback script // looks like this: string Kd_texture_array[] = {"texture1.tdl, texture2.tdl"} $texarray // Get total number of textures in array uniform float $numLayers = arraylength( Kd_texture_array ); uniform float $i; string $Kd_texture = ""; for( $i = $numLayers ; $i >= 0; $i -= 1 ) { $Kd_texture = Kd_texture_array[$i]; $outColor += texture($Kd_texture); } Hopefully someone has better ideas:)
  11. rsl arrays from multiparm list

    Alternatively I tried to use Texture node in 'For Loop' node but I couldn't figure out how to use loop count index to change the channel name inside 'For Loop' node in order to feed next texture path to the Texture node.