开发者

DirectX Sphere Texture Coordinates

开发者 https://www.devze.com 2022-12-14 23:00 出处:网络
I have a sphere with per-vertex normals and I\'m trying to derive the texture coordinates for the object using the algorithm:

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

精彩评论

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