[Sidefx-houdini-list] VOPs question

jiversen jiversen at rhythm.com
Tue Jun 24 20:29:22 EDT 2008


Ah - it went something like this:

*Me:

*I was thinking about PBR and I remember the few weeks it its wee Alpha 
days when it was a whole separate BSDF shading context, alongside 
Surface and Displacement shaders. Then it was combined into the Surface 
shader context and it became a lot easier to use because the shader 
could optimize for the Cf/Of/Af code path in one phase of the rendering 
and for F in another phase .

Why don't we do the same for Displacement now? Wouldn't it make sense, 
now that the technology to do so must be there? I can imagine that it 
would would make a lot of sense to be able to build VOPs which also 
perform displacement (think of a Rust VOP, for instance) and so the 
desire to have linkable shaders similar to mental ray's Phenomenon 
becomes far less desirable. The dimport() function would be called 
implicitly, I suppose, when the surface and displacement contexts use 
the same [varying] variables.

What do you think? Personally I've always just regarded the split 
between Surface and Displacement a necessary evil. I don't think anyone 
wants to work this way, really. It's a limitation forced on us due to 
architecture issues and I don't think it really beneficial to maintain 
the split if we could possibly avoid it.

Thanks,
Jason


*Mark Elendt:*

Ah, but you're asking why don't you bundle the two shaders together into 
a single, shall we call it, a material shader?

Yes, that's an option... And it might even lead to some nice automatic 
optimizations where we can cache computations between shader  runs... Or 
do other magic stuff behind the scenes.

OTOH, I do like to be able to combine a fractal dent shader, on 
arbitrary surface shaders.

If everything were VOPs it might not be as big an issue... But it 
certainly would change the shading workflow Smile


*Me:

*Unless, of course, you were thinking of allowing shaders to be chained 
one day anyway Wink Then you could add "deformer"-type displacement 
shaders (like the Fractal Dent) to your heart's content. You could still 
much very anticipate using the current Materials "context" for 
switching/blending/layering shaders and for applying properties.

Yes, it would seem like it might type a change to the workflow- but I 
think it would improve it for real shot work since you don't have to 
maintain two shaders, and all that that entails. It'll be a little 
strange for those testing scenes where you're used to throwing on some 
arbitrary displacement onto a plastic sphere - but very useful when 
developing an ice bridge shader or something.


Jerry Corda-Stanley wrote:
> I'm getting...
>
> "The topic or post you requested does not exist"
>
> on that link.
>
>
> ----- "jiversen" <jiversen at rhythm.com> wrote:
>   
>> It's for this that I pimp this idea:
>>
>> http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=10237
>>
>> Combining all the shading contexts into a single "material shader", 
>> where the surface, displacement and bsdf outputs are automatically 
>> extracted on demand. All the optimizations (like dimport()ing stuff to
>>
>> minimize recomputation) would be handled internally without your
>> knowledge.
>>
>>
>>
>>
>> Andrew D Lyons wrote:
>>     
>>> Ah - nice solution...
>>>
>>> Thanks!
>>>
>>> 2008/6/19 Peter Bowmar <pbowmar at gmail.com>:
>>>   
>>>       
>>>> The "correct" way (I use the term Correct very loosely here) would
>>>>         
>> be
>>     
>>>> to create the pattern in the Displacement shader, then use
>>>>         
>> "dimport()"
>>     
>>>> to import the values in the Surface shader. That way the pattern
>>>>         
>> code
>>     
>>>> runs once, saving a lot of computation time.
>>>>
>>>> Having said that, I like the HDA suggestion, so you have as much
>>>> "generic" code as possible inside HDAs that are easy to update as
>>>> needed.
>>>>
>>>> Cheers,
>>>>
>>>> Peter B
>>>>
>>>> 2008/6/19 Andrew D Lyons <tstexture at gmail.com>:
>>>>     
>>>>         
>>>>> You could make a VOP subnet HDA and us that in both - assuming
>>>>>           
>> you
>>     
>>>>> were ok with constant args to all parms inside the  subnet.
>>>>>
>>>>> 2008/6/19 Phil Spicer <PSpicer at bournemouth.ac.uk>:
>>>>>       
>>>>>           
>>>>>> Hi,
>>>>>>
>>>>>> Is there a way to import a vop network into another context? For
>>>>>>             
>> example if I were to create a simple pattern surface and then wanted
>> to import that pattern into a displacement shader so that it was
>> dynamically linked, how would I go about it? Is there an Object Merge
>> SOP equivalent in VOPs?
>>     
>>>>>> Kind regards,
>>>>>>
>>>>>> Phil.
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Sidefx-houdini-list mailing list
>>>>>> Sidefx-houdini-list at sidefx.com
>>>>>>
>>>>>>             
>> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>>     
>>>>>>         
>>>>>>             
>>>>> --
>>>>> =======================================
>>>>> Andrew D Lyons | Digital Artist | http://www.tstex.com
>>>>> =======================================
>>>>> _______________________________________________
>>>>> Sidefx-houdini-list mailing list
>>>>> Sidefx-houdini-list at sidefx.com
>>>>> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>>>>>
>>>>>       
>>>>>           
>>>> _______________________________________________
>>>> Sidefx-houdini-list mailing list
>>>> Sidefx-houdini-list at sidefx.com
>>>> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>>>>
>>>>     
>>>>         
>>>
>>>   
>>>       
>> _______________________________________________
>> Sidefx-houdini-list mailing list
>> Sidefx-houdini-list at sidefx.com
>> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>>     
>
> _______________________________________________
> Sidefx-houdini-list mailing list
> Sidefx-houdini-list at sidefx.com
> https://lists.sidefx.com:443/mailman/listinfo/sidefx-houdini-list
>   



More information about the Sidefx-houdini-list mailing list