有 Java 编程相关的问题?

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

java有没有一种在openGL上绘制立方体而不必指定每个坐标的方法?

当我在从事3D图形项目时,我经常会遇到绘制立方体的问题。问题是,到目前为止,除了指定每个顶点、法线和偶尔的纹理坐标,我还没有找到更好的方法来绘制一个。考虑到立方体的规则性,我不能动摇那种感觉,那就是一定有更好的方法

那么,有没有比这更简单的方法:

    putNormal(geometryBuffer, 0, 0, 1);
    putVertex(geometryBuffer, x, y, 1);
    putNormal(geometryBuffer, 0, 0, 1);
    putVertex(geometryBuffer, x + 1, y, 1);
    putNormal(geometryBuffer, 0, 0, 1);
    putVertex(geometryBuffer, x + 1, y + 1, 1);
    putNormal(geometryBuffer, 0, 0, 1);
    putVertex(geometryBuffer, x, y + 1, 1);

    putNormal(geometryBuffer, -1, 0, 0);
    putVertex(geometryBuffer, x, y, 0);
    putNormal(geometryBuffer, -1, 0, 0);
    putVertex(geometryBuffer, x + 1, y, 0);
    putNormal(geometryBuffer, -1, 0, 0);
    putVertex(geometryBuffer, x + 1, y, 1);
    putNormal(geometryBuffer, -1, 0, 0);
    putVertex(geometryBuffer, x, y, 1);

    //and so on..

共 (2) 个答案

  1. # 1 楼答案

    使用包com.jogamp.opengl.util.gl2中类^{}中的方法^{},如下所示:

     GLUT glut = new GLUT();
     glut.glutSolidCube(size);
    
  2. # 2 楼答案

    openGL实用程序库(GLU)为球体、nurbs、二次曲面(不是立方体)等更复杂的形状提供了一些实用程序,但尽管立方体速度很快,程序员倾向于以不同的方式布置面,并对每个顶点绑定多少东西有不同的想法,所以这并不像人们想象的那么明显

    有关更多信息,请访问:http://www.glprogramming.com/red/chapter11.html