[Sidefx-houdini-list] ubershaders

Mario Marengo mario at axyzfx.com
Mon Oct 1 12:21:52 EDT 2007


On October 1, 2007 02:07 am, Ivan DeWolf wrote:
> UGH! 

I agree with everything you said, Ivan... and yet...

We've gradually, over the past few years, moved away from a library of 
mid-level VOPs to a hierarchy of "uber-shaders": generic_full, 
generic_medium, generic_small, generic_tiny, etc. -- each one a subset of the 
kitchen sink: "generic_full", which handles just about everything I could 
think of (for a surface) :)

Ultimately, whether as VOPs or Shaders, they're all just front-ends to a VEX 
"uber-library" (that sounds pretentious, I know, but you know what I mean). 
With this common ancestry, their front-end representation comes down to a 
combination of personal preference, the average animator's shading skills, 
and the shop's pipeline. Let's face it: wiring up VOPs is "easy" only when 
you know what you're doing.

In our case, having these generic shaders actually works well, because 
*anyone* can have instant (and fairly intuitive) access to some pretty 
complex shading when doing the initial pass on a shot. Then I can go in and 
reduce it to the few things that are actually being used to end up with the 
specific shader (if needed). The biggest problem with this setup is that the 
truly UBER of the ubershaders take a *long* time to run-time optimize, and 
this can make look exploration a little painful, but they more than make up 
for it by giving you access to just about everything you're likely to need 
(for a surface).

So yeah... uber-shaders: I hate them AND I love them :)

-- 
......................................................................
Mario Marengo                                  mailto:mario at axyzfx.com
AXYZ ANIMATION                                 http://www.axyzfx.com
......................................................................



More information about the Sidefx-houdini-list mailing list