v_m Posted May 19, 2008 Share Posted May 19, 2008 hi, is there an elegant way of layering shaders in houdini? basically, if I have a leather shader for example and then a dust shader or a dirt shader etc, and I want to layer them, and if both shaders are in fact, at their origin, the same shader, so they have the same parameters/parameter names, when I add the 2 shaders in the same vop network, half of my parameters will become unavailable, so I have to go parameter by parameter and rename them bastards... and, of course, my shader's interface will also have to be redone. all this is no biggie if you do it once or a few times maybe, although it's a mighty waste of time, but it becomes really impractical on a larger scale. so I'm making a generic layered shader... and all my maps have a certain number of layers... the problem with this approach is that it's inefficient for both the renderer - because every layer has ALL the parameters available, what if I want to layer a diffusion-only shader with a diffusion+specular+reflection shader... it would be ideal if I only kept what's necessary in each layer - and it's inefficient for the 'shading artist' (that would be me) as well, because I can't imagine yet a way to save my presets, or layers - so I can combine for example the leather preset with a scratches preset maybe.... instead of the above-mentioned dust and dirt... and this approach is not smart nor flexible, I'm making separate shaders for a 2-layer, or 3-layer-shader for example, and then what if I need a 10-layer all of a sudden? I have to build one that specifically has 10 layers... any ideas would be greatly appreciated, thank you! vm Quote Link to comment Share on other sites More sharing options...
stevenong Posted May 19, 2008 Share Posted May 19, 2008 Have you checked out the VEX Layered Surface SHOP? I think it covers most of what you want. Cheers! steven Quote Link to comment Share on other sites More sharing options...
3__ Posted May 19, 2008 Share Posted May 19, 2008 yep it looks pretty awkward at the moment. from what I can tell you would have to pre-compile your vopnet 'shaders' into digital assets and layer them up in a new vopnet. a shop-level composite node would be much better, especially if the alpha of a 3rd shader as the blend multiplier. Quote Link to comment Share on other sites More sharing options...
v_m Posted May 20, 2008 Author Share Posted May 20, 2008 steven, thanks, of course I looked at the VEX Layered but I need to be able to layer my own shaders. yo cpb, wow, thanks a lot, awesome idea, why didn't I think of it?? I don't see why I can't use a texture as alpha between layers... let me see how this works... cheers!! Quote Link to comment Share on other sites More sharing options...
v_m Posted May 20, 2008 Author Share Posted May 20, 2008 hm... except that when making a subnet or a digital asset and duplicating it, the parameters of the duplicated shaders are going to have the same name as the original, and therefore will be inactive... so.... is there a way to have houdini rename Parameter Name automatically when you duplicate a parameter? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.