开发者

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:

DirectX Sphere Texture Coordinates

Here's the same object without the texture applied:

DirectX Sphere Texture Coordinates

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 ...

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜