Delayed Load Procedural CVEX Shader

proceduralcvex
In the meantime of Happy Feet production I wrote my first DSO for Mantra, It’s my first tool written in HDK. The idea is very simple: Load geometry at render time and modify it by CVEX code. This version is a raw version, probably it has a lot of bugs, but I will try to make it better!

How to install ?
otl file goes to ${HOME}/houdiniX.X/otls/
so file goes to ${HOME}/houdiniX.X/dso/mantra/
VRAYprocedural goes to ${HOME}/houdiniX.X
That’s all!

What does it add to Houdini?
First thing is procedural shader called: Delayed Load CVEX. It’s available in the SHOP context.
Second thing is Delayed Load CVEX Global VOP node. It gives you an access to predefined global variables.

Special Global Variables:
We have two special variables: geometry and proceduralid. Geometry variable gives a string, which is a path to geometry leaded by delayed load. It’s a shortcut, we don’t have to create parameter node with expression between delayed load and CVEX shader. Proceduralid variable gives you an access to Procedural ID parameter on delayed load shader. But what is it for ? It can be useful when you would like to modify the same geometry with the same CVEX shader but with a different seed.

Google Code

Have a good fun!
Cheers,
Piotr

This entry was posted in work. Bookmark the permalink.

3 Responses to Delayed Load Procedural CVEX Shader

  1. Igor Zanic says:

    Hi,

    I want to ask is there any chance to use $PSCALE? or any other particle attribut
    that we use all them time.

    Igor

  2. bareya says:

    Hey Igor!
    Yes! it was designed for that purpose ;) all you need to do is to create cvex shader and inside of this shader you can access to point attributes by parameter node.

    if you will try to overwrite attribute data on particles like this:
    parameter(newpscale) - > parameter(pscale)
    probably cvex will change data only on first particle. It’s happening because you have to take data from particles and modify this data:
    parameter(pscale) ->multiply(0)->add(my_new_value)->parameter(pscale)
    now you are taking data from particles attribute.

    Unfortunately you can’t create new attributes, I have to implement it.
    Let me know how it goes!
    Piotr.

  3. Igor Zanic says:

    Hi,

    Thanks for tip, i was trying to do this with you example scene.
    But no luck, is there any chance maybe to update your example scene with
    your workflow for pscale or some other attributes, this will help a lot.
    or if you can send me on email.

    Thanks

    Igor

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>