DirectX Sphere Texture Coordinates
I have a sphere with per-vertex normals and I'm trying to derive the texture coordinates for the object using the algorithm:
U = Asin(Norm.X) / PI + 0.5
V = Asin(Norm.Y) / PI + 0.5
With a polka dot texture, I get:
Here's the same object without the texture applied:
The issue I'm particuarly looking at (I know there's a few) is the misalignment of the textures.
I am inclined to believe the issue resides in my use of those algorithms, as the specular highlighting (which doesn't 开发者_高级运维utilise any textures but does rely on the normals being correct) appears to have no artifacts.
Any ideas?
Can't you just set your UVs while you are building the sphere?
Then:
u = theta / (2 * PI);
v = phi / PI;
Edit: I might also point out that there probably is something wrong with your normals given the black dot on top ... There also appears to be highlighted lines along polygon edges. This again points to probable dodgy normals ...
精彩评论