[Sidefx-houdini-list] Packaging and developing shaders

Pablo Giménez pablogipi at gmail.com
Sun Dec 21 14:38:17 EST 2008


2008/12/19 Andy Nicholas <andy at andynicholas.com>

> Hi Robert,
>
> Thanks for taking the time to go through all of that. It makes a lot of
> sense. I was vaguely aware of these things called "galleries" before, but
> I'd never looked into it until your explanation.

Very close to the way we managed materials in Cities on Water Andy ....
Except the we didn´t use galleries, we used pressets which is not so cool.
The only problem about using the VOP VEX Surface SHOP is that it needs to be
compiled ever time the materials is used, basically all the network is put
into the hip file, which is something flexible but not always desirable.
There is another approach where you mix you our code using inline VOP and
other VOP operators to create a new SHOP type, so you compile your shader,
later you can use this SHOP into a material, create your own interface for
the material, and put everything into and OTL.
cheers

>
>
> Thanks for the heads up.
>
> Cheers
>
> Andy
>
>
>
> > The method used for the current gallery in Houdini is:
> >
> > - use VOP VEX SURFACE SHOP to create a shop that has a VOP network
> > inside it. Parameter nodes get promoted automatically to the shop
> > level and the vopnetwork is unique to this shader. this means that it
> > does not create a vop type and only exists inside this subnetwork.
> > - opengl tab is linked to appropriate parameters from shop
> > -The SHOP is then collapsed into a subnet which turns it into a
> > material node. Then either RMB on material and choose "Promote
> > Material Parameter" or use the Edit Parameter interface to build your
> > own UI.
> > - materials can then be put into the gallery. You can even put
> > different versions of the same material into the gallery with
> > different parameter settings to create unique looks.
> > - the galleries can be installed by other users into their houdini
> > material palette and then assigned to objects or material sops.
> >
> > - by using materials you can also take advantage of the local
> > parameter overrides which let you assign one material to different
> > parts of your scene then use local parameter values (such as a texture
> > reference) to get a unique look for each object.
> >
> > - when you place a material from the gallery into your scene, the
> > instance does not retain a link to the gallery item. This leaves you
> > free to dive down and change the vop network without changing the
> > material in the gallery.
> > - If the gallery being referenced is updated with new materials or
> > with materials with different "inner" workings, the gallery will give
> > you access to the new ones BUT any materials already placed into a hip
> > file will NOT be updated because there is no dependency.
> >
> > If you want to link to a collection of materials that can be updated
> > globally then turn your materials into digital assets and place them
> > into an .otl file. When these shops which all have unique types
> > (gallery items are all "material" types) then they will retain a link
> > to the .otl definitions and using digital asset technology you can
> > update the gallery and all hip files that reference those .otl files
> > will be updated accordingly.
> >
> > By using this method, if you put down more than one version of a
> > material asset the vop networks inside them are not trying to create
> > vop types - in the past embedded vopnets would create multiple
> > instances of voptypes making things a bit unwieldy - the new setup
> > gives you more freedom both at the front end creating materials and at
> > the back end managing them as digital assets.
> >
> > One thing that might confuse is that materials live in SHOPs. They are
> > basically subnetworks that have special properties. You can use shops
> > to build materials or other materials to build new materials....
> >
> > Hope this helps.
> >
> > Robert
> >
> > PS - I DO know that we need tutorials on all this and promise that it
> > is on the list......
> >
> > On 18-Dec-08, at 1:50 PM, Andy Nicholas wrote:
> >
> >> Hi guys,
> >>
> >> I just wanted to draw on your collective experience on this. It
> >> seems that
> >> there are various ways of storing/encapsulating shaders, and each
> >> has it's
> >> own benefits and pitfalls:
> >>
> >> 1) Compile VEX to VOP type.
> >> This seems pretty useful since you can use it inside the VEX to
> >> reuse it
> >> in different ways. Unfortunately, you can't edit the shader as VEX
> >> nodes,
> >> you have to get stuck into the code.
> >>
> >> 2) Compile VEX to Shop type.
> >> Seems to be the least flexible. You can't edit the nodes or combine it
> >> with other surface shaders.
> >>
> >> 3) Convert the entire material to a digital asset.
> >> The advantage is that you can still edit the VEX nodes in the GUI.
> >>
> >> 4) Convert to Vop Shop type
> >> Like 2) but you can still edit the nodes.
> >>
> >> 5) Keep a scene with the shader VEX nodes in.
> >>
> >> Let's say that you created a set of basic shaders for general
> >> production
> >> use, how would you: a) Distribute them to artists, and b) Store them
> >> for
> >> further development and, most importantly, reuse components from them?
> >> Let's assume we're just dealing with a surface shader, rather than one
> >> that has, say, displacement as well.
> >>
> >> I'm just interested to hear if there's a widely accepted way of going
> >> about this.
> >>
> >> Thanks a lot
> >>
> >> Andy
> >>
> >>
> >>
> >>
> >> _______________________________________________
> >> Sidefx-houdini-list mailing list
> >> Sidefx-houdini-list at sidefx.com
> >> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
> >
> > ----
> > Robert Magee
> > Product Marketing Manager
> > Side Effects Software Inc.
> > www.sidefx.com
> >
> > 416 504-9876 x327
> >
> >
> >
> >
>
>
> _______________________________________________
> Sidefx-houdini-list mailing list
> Sidefx-houdini-list at sidefx.com
> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>



-- 
Un saludo
Best Regards
Pablo Giménez



More information about the Sidefx-houdini-list mailing list