tag:blogger.com,1999:blog-35320919904258790.post3161851203841812540..comments2020-04-26T09:32:17.650-07:00Comments on Mikkelsen and 3D Graphics: Derivative Maps in xNormalMorten S. Mikkelsenhttp://www.blogger.com/profile/11647723969880785609noreply@blogger.comBlogger4125tag:blogger.com,1999:blog-35320919904258790.post-29450416378875884312012-04-23T07:33:16.850-07:002012-04-23T07:33:16.850-07:00Yes but using the signed values of your normal map...Yes but using the signed values of your normal map. Mind you, however, this is technically only 100% correct when applied to normal maps that were created by converting a height map into a normal map. But in practice, for the most part, it works fine with baked normal maps too. The reason it's technically wrong for baked normal maps is because they were generated under the assumption that the tangent and bitangent are unit length and perpendicular to each other.Morten S. Mikkelsenhttps://www.blogger.com/profile/11647723969880785609noreply@blogger.comtag:blogger.com,1999:blog-35320919904258790.post-13233357454201589262012-04-23T03:02:32.801-07:002012-04-23T03:02:32.801-07:00> the derivative map represents the derivatives...> the derivative map represents the derivatives of the height map (dBdu, dBdv) while the normal map represents the normal of the height map normalize( (-dBdu, -dBdv, 1) )<br /><br />Do I read in this correctly that you can reverse this calculation by taking the normal map and dividing it by -(1/n.z) to get the derivative in the x/y direction?Peter Bindelshttps://www.blogger.com/profile/02642770336702427006noreply@blogger.comtag:blogger.com,1999:blog-35320919904258790.post-34860568088199930762011-12-02T05:59:47.739-08:002011-12-02T05:59:47.739-08:00Thank you! :)
> Can you clarify some point abo...Thank you! :)<br /><br />> Can you clarify some point about which transform space to use ?<br /><br />You can use any consistent space such as object/world/view space and yes surface position and normal have to be in the same space.<br /><br />Regarding tangent space directional light maps I can see how that would be an issue though tangent space can also be recreated in a pixel shader. However, I'd probably only do this for special cases like parallax mapping. At least for bump mapping w.r.t. screen-space is cheaper and allows you to mix height derivatives acquired relative to different texture spaces which is why this method can do triplanar bump.<br /><br />Additionally the derivatives can be obtained through different methods like: derivative map, height map, procedurals (w.r.t. different domains even) and all get mixed up into one height derivative w.r.t. screen-space. Much more freedom this way.Morten S. Mikkelsenhttps://www.blogger.com/profile/11647723969880785609noreply@blogger.comtag:blogger.com,1999:blog-35320919904258790.post-35302093450371287152011-12-02T04:21:17.842-08:002011-12-02T04:21:17.842-08:00Hello,
Good work!
Can you clarify some point abou...Hello, <br />Good work!<br />Can you clarify some point about which transform space to use ?<br /><br />For your listing 1 in you paper, I suppose you must provide position and normal in the same space to the function. Do you provide them in object space or world space or both are possible ?<br /><br />As the tangent space is no more available, do you have any advice to be compatible with feature like directional lightmap of Half life 2 ? Maybe the way of generating lightmap should be rethink to not more rely on tangent space ?<br /><br />Thank youSébastien Lagardehttps://www.blogger.com/profile/11170507314218400784noreply@blogger.com