Hi all,
last night, I ran through a great tutorial [andynicholas.com] about creating a bit of controllable light wrap in a material using an illuminance loop. Worked great, but the tutorial is a few years old and uses the older material workflow. I started trying to implement the light wrap into the default mantra surface material, but quickly realized that this wasn't going to work.
I've spent many hours now trying to dissect the material and understand what is going on under the hood, mainly the surfaceModel node. From reading the help files and forum posts I now understand that this is sort of an all in one node that is compatible with all of the mp/rt/pbr engines. It seems that with PBR the BSDF type is key. I've read up on BSDF/BRDF and have a grasp on what these functions are meant to do, but do not understand how they are implemented in houdini. When I attach a print node to them I don't get values or vectors, but strings describing what I'm guessing is the function. If I piped it through an albedo node it would return a vector, but I don't fully understand what is going on there…
From this post [sidefx.com] it seems as if you can't create your own BSDF, but rather have to manipulate the given primitive ones (multiplying, scaling, adding them). So I guess I don't really understand how you “do stuff” to this BSDF type. How is it implemented/manipulated? With floats and vectors it seems to make sense, but it is not clicking with BSDF for me. Granted, I'm very new to all of this, but I couldn't find a good detailed explanation of what is going on. Especially when I started to connect print nodes around and evaluate things. The Cf right before the output inside the surfaceModel was always {0,0,0}, equivalent to clr from the directlighting node (whose function makes sense for non-pbr renders, but seems a bit of a black box to me), but a print node connected to the output of the Cf of the surfaceModel up one level was equivalent to clr as well inside the surfaceModel network. This must be a result of the directlighting node, but it seems confusing (especially after re-reading that sentence! )
If anyone can offer some assistance or point me in the right direction to pertinent resources regarding my questions I would be most appreciative. I can't seem to find a good source for learning this SHOP/VOP/VEX stuff, a lot of it seems out of date and tough to gel with the new surfacing workflow… Additionally, if there is a decent reference of what all these variables mean (Cf, Of, I, N, P, kt, etc etc) please post a link to it. I've skimmed through the renderman user manual and found a few, but i'm not sure if they are the same for mantra or not?
Ok, apologies for the length of this post… i'll attach my hipnc file, too.
thanks
ax
Understanding multi-engine surfaceModel VOP & BSDF/PBR
1932 0 3- zephyr707
- Member
- 57 posts
- Joined: 2月 2011
- Offline
-
- Quick Links