代码之家  ›  专栏  ›  技术社区  ›  Rushyo

DirectX球体纹理坐标

  •  1
  • Rushyo  · 技术社区  · 16 年前

    U = Asin(Norm.X) / PI + 0.5
    V = Asin(Norm.Y) / PI + 0.5
    

    使用波尔卡圆点纹理,我得到:

    Misaligned textures

    以下是未应用纹理的同一对象:

    No textures

    我特别关注的问题(我知道有一些)是纹理的错位。

    我倾向于认为问题在于我对这些算法的使用,因为镜面反射高亮显示(不使用任何纹理,但依赖于法线是否正确)似乎没有瑕疵。

    有什么想法吗?

    1 回复  |  直到 9 年前
        1
  •  3
  •   Goz    16 年前

    不能在构建球体时设置UV吗?

     u = theta / (2 * PI);
     v = phi / PI;
    

    编辑:我还可能指出,鉴于顶部的黑点,你的法线可能有问题。。。沿多边形边也似乎有高亮显示的线。这再次指向了可能存在的不可靠的法线。。。