0
\$\begingroup\$

I've spent a couple days looking for an answer to this - How can I access the newly created triangles of tessellation and generate normals for them? I've followed much of the shader code from the following tutorial: http://www.richardssoftware.net/2013/09/bump-and-displacement-mapping-with.html

I would like to use these normals so that I can correctly light the new triangles as part of my displacement mapping implementation. Can this be done? My other idea was to use bump mapping as well as displacement mapping in order to get the correct normals and bi/tangents. Would this be overkill? Would it look right?

Any advice would be greatly appreciated.

Thank you

\$\endgroup\$
  • 1
    \$\begingroup\$ How can I access the newly created triangles of tessellation you have them available in your domain shader and generate normals for them? look at the tutorial you posted; it does that in it's domain shader. \$\endgroup\$ – tkausl Mar 5 at 9:09
  • \$\begingroup\$ @tkausl are you sure about this? Because the new triangles do not appear to be light affected. I've also changed my deferred renderer to render the normals buffer to the screen and my terrain still only shows the normals that were passed in through the vertex shader. \$\endgroup\$ – T. Elliott Mar 8 at 5:35
0
\$\begingroup\$

So after some further testing and research it is true that I am accessing the normals for the newly generated triangles - they are simply the same as the input normals because you need to calculate the new ones yourself. I was able to successfully produce correct normals for my tessellated mesh by passing a matching normal map (pre generated from the displacement heightmap) into my pixel shader and directly sampling the normals from there.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.