有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何在OpenGL中自动纹理映射球体?

特别是s和t的哪些参数将用于文本映射球体?我尝试过各种不同的选择,但不管我选择float[]s和t的值是什么,总有一小部分会扭曲。我可以做平面和圆柱体,但我不确定球体。任何帮助都将不胜感激

    gl.glTexGeni(GL2.GL_T, GL2.GL_TEXTURE_GEN_MODE, GL2.GL_OBJECT_LINEAR);
    float[] s = {1f, 0f, 0f, 0};
    gl.glTexGenfv(GL2.GL_S, GL2.GL_OBJECT_PLANE, s, 0);
    float[] t = {0f, 1f, 0f, 0};
    gl.glTexGenfv(GL2.GL_T, GL2.GL_OBJECT_PLANE, s, 0);

共 (1) 个答案

  1. # 1 楼答案

    使用单个矩形纹理对球体进行纹理贴图时,不能在某个位置不产生严重变形。这在数学上是不可能的。这就是说,您也不应该为此使用glTexGen功能,因为a)它已被弃用,b)只创建线性平面映射,而对于球体纹理,您需要曲线坐标使用顶点着色器从顶点位置生成纹理坐标