Anti-Distinctlyminty Posted September 19, 2016 Share Posted September 19, 2016 Hi all, I was wondering, when you create a material from scratch and you apply a displacement, do you also have to feed in the displaced normal into any other part of the shader network that uses a normal for calculations, e.g. a reflect light ? The example file should make this more clear if it's confusing. Basically, I'm unsure if the displaced surface position and normals are those used for shading, or the un-displaced, as they're all int eh same network. Does anyone know or could point me towards more information? displacement_sphere.hipnc Quote Link to comment Share on other sites More sharing options...
davpe Posted September 20, 2016 Share Posted September 20, 2016 no, you don't have to. geometry is displaced first and then the surface shader is executed so no need for the surface shader to know about the displacement. Quote Link to comment Share on other sites More sharing options...
Anti-Distinctlyminty Posted September 20, 2016 Author Share Posted September 20, 2016 Thanks davpe! Quote Link to comment Share on other sites More sharing options...
Anti-Distinctlyminty Posted September 20, 2016 Author Share Posted September 20, 2016 One more thing...if I'm calculating new normals, or using a normal map without position, P, displacement, should that be plugged into the: 1. Displacement output (no P connected there, just N) 2. Into the shaders themselves, the fresnel in this case. I would've thought that both should have produced the same result, but you can see the result is actually different. Which means I don't have a proper grasp of how the renderer is working here. Is one method 'correct' in this case? If both are correct, why do the results look different? Quote Link to comment Share on other sites More sharing options...
davpe Posted September 20, 2016 Share Posted September 20, 2016 ok let me try and explain why you can't expect to get the same results with plugging things into the displacement and the surface shader. Sorry for possibly pointing out some obvious things to you. displacement actually alters your geometry and creates its highres version prior rendering. in this sense, lights response to the geometry detail is more accurate because you are indeed rendering very detailed model. you are creating a new geometry that actually changes the object's volume, cast shadows, catch proper highlights and and all sorts of these things. if you plug things into a surface shader, the effect happens on an original "simple" geometry you see in the viewport and the geometry detail is only pretended to exist. of course, if the spatial scale of the effect exceeds certain limit it becomes obvious that the detail is actually not there and things start to look fake. but it is generally faster and less memory hungry than generating actual displacement so for very fine details shader effect is a better way to go. in general, there is not a single correct answer what to do. that is Mantra's greatness that you actually can do whatever you want. it always depends on what you expect to get. hope that helps. D. 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.