Maybe I'm misunderstanding but this is my grasp of it so far. if I plug anything into the 'Diffuse' slot on the master material node, I will get a Lambertian model applied to whatever is going into that node correct? So if I plug the Oren-Nayar output into it, I get Oren-Nayar + Lambert. If I plug the Oren-Nayer into…
One thing, for what its worth, Oren Nayar is a lighting model. Hence the custom lighting approach. But as was mentioned, if you plug in the result to the diffuse node you're basically just pre-calculating the lighting, even though UDK will still run a lambertian model on whatever you put into the diffuse slot. I'm not sure…
-Nope. it's squared in the equation because it's the root mean square, but it's a unit in itself so there isn't any need to calcul(blabla it's just a superfluous multiplication). -Roughness goes from 0 to infinity. But anything over 1 might not make sense. -AVOID INVERSE TRIG. yes, that is how you do it (with all hlsl…
Nice that there are DVD's now. :) Less slogging through Nvidia tech docs and MSDN and taking apart other peoples code to find what actually works. Also the packages here don't seem to show anything in my version of UDK, what release are you gents up to? Further: I built up a functional oren-nayar model. And I learned to be…
Olivers solution is pretty neat, the only problem with it is that if you're using a ramp-edge-based solution (such as SSS, Fresnel, etc) in your Diffuse math, you will end up with a green-falloff, kinda like what Max pre 2011 had. You don't get that with the full ON math.
What Malk says is correct: The lambertian term (l dot n) is a direct part of the simplified version of the Oren-Nayar shader, so if you do not include that final multiply, then plug it into the diffuse slot of the default material, it will give identical results as to having the full thing in a custom lighting slot.
I think what he means is that in the end you are multiplying by lambert, the NdotL, so you could do everything and plug it into the diffuse without doing the whole custom lighting thing. I think there are benefits to doing your own lambert though; I remember there was something that was off about the shading in UDK (it was…
you can access all hlsl commands in udk; make a custom node return max(x,y) gestalt, i don't understand what you mean. Oren-Nayar accounts for a specific case of retroreflection, it's a brdf and is thus bidirectional. It has little to do with fresnel or specular reflections on it's own, it's just a step in the right…
FYI there are HLSL commands for inverse trig functions that you can write into a custom node. acos(x) would be one. OR you can get the arcosine by a 1/cos(x) Gestalt: Neither will a lambertian diffuse. So what? As far as aniostorpic effects, you can extend most specular models into anisotropic versions by splitting the…
Mind telling me how if you're so kind? ;P The closest I can think of is a Transformed Normal Map, multiplied by the Light Vector and Lerped with a Fresnel and using a copy of the Diffuse as a the control in all cases with an added Color for tint. Also, would like to thank all the peeps who helped me so far, but I think I…