Calculating tangents on a normalized cube

380 views Asked by At

I made a post similar to this one previously, but I have gained a lot more insight since then. For context, I am creating a DX11 based 3D rendering engine where the central focus is a large planet, which is a normalized cube. I am trying to implement normal mapping on the planet, but I am having issues calculating the tangents. Vertex normals work properly, but I have tried various methods of calculating tangent information to no avail.

The first method is implemented from this post and seems to yield correct results as the tangent and bitangent correctly maps to the UV coordinates. However, you'll notice that at the apex of the cube faces, the UV of the geometry shifts, which results in differently oriented normals and therefore hard lighting seams. Method1

The second method, adoped from this page, doesn't rely on vertex UVs and therefore provides smooth tangents all around the sphere. However, because the UVs aren't lined up, the new bumped normal ends up being noticibly off. Method2

(Seemingly too dark) Seemingly Dark

Any advice would be appreciated to point me towards fixing this issue, whether it be the tangents themselves or my underlying sphere geometry, or at least understanding it better. Thanks in advance.

0

There are 0 answers