Opengl es OpenGL ES-在3D中设置对象的宽度、高度和深度

Opengl es OpenGL ES-在3D中设置对象的宽度、高度和深度,opengl-es,3d,opengl-es-2.0,Opengl Es,3d,Opengl Es 2.0,我想问一下OPENGL ES android,我想建造一堵具有特定宽度、高度和深度的墙 public void buildingW(float width, float height, float depth) 为了在我的程序中加入内容,任何人都可以向我建议如何做到这一点 是否需要构建一个obj文件然后读取它?或者我们可以直接画出来 多谢各位 最简单的方法是简单地使用立方体并将其缩放为glScalef(宽度、高度、深度)这将是最佳选择,因为即使绘制多个不同的墙,也只需要一个顶点缓冲区 另一个很

我想问一下OPENGL ES android,我想建造一堵具有特定宽度、高度和深度的墙

public void buildingW(float width, float height, float depth)
为了在我的程序中加入内容,任何人都可以向我建议如何做到这一点

是否需要构建一个obj文件然后读取它?或者我们可以直接画出来


多谢各位

最简单的方法是简单地使用立方体并将其缩放为
glScalef(宽度、高度、深度)
这将是最佳选择,因为即使绘制多个不同的墙,也只需要一个顶点缓冲区

另一个很好的方法是简单地在加载时间预定义维度中创建顶点(web上充满了这方面的源代码)。在这种情况下,每面墙都有自己的顶点缓冲区,但不需要缩放它

至于使用obj文件,您必须导入多维数据集并使用scale对其进行转换,因此它与第一个解决方案几乎相同,但不能与第二个解决方案一起使用(尽管导入简单的多维数据集obj似乎是一种浪费)


您可以直接使用仅具有宽度、高度、深度和一些中心点的碎片着色器绘制它,但您需要相当多的数学技能,并且比使用顶点要慢得多,因此我不建议这样做。

非常感谢您的回答。由于我对opengl es非常陌生,我可以创建一个顶点数组,然后使用函数glDrawArrays来绘制墙吗?谢谢,因为我已经有6个立方体围绕着中心,我希望调整它们的宽度、高度和深度,以便创建6面墙。我能那样做吗?谢谢你,你写的东西都很好。尝试使用立方体,将其定位到希望墙中心的位置,然后使用glScale设置尺寸。