【发布时间】:2013-12-30 11:04:26
【问题描述】:
我想问一下OPENGL ES android,我想建一堵特定宽度、高度和深度的墙
public void buildingW(float width, float height, float depth)
为了放入我的程序中,任何人都可以建议我如何做到这一点?
是否有构建一个 obj 文件然后读取它?或者我们可以直接画出来?
非常感谢!
【问题讨论】:
标签: opengl-es 3d opengl-es-2.0
我想问一下OPENGL ES android,我想建一堵特定宽度、高度和深度的墙
public void buildingW(float width, float height, float depth)
为了放入我的程序中,任何人都可以建议我如何做到这一点?
是否有构建一个 obj 文件然后读取它?或者我们可以直接画出来?
非常感谢!
【问题讨论】:
标签: opengl-es 3d opengl-es-2.0
最简单的方法是简单地使用一个立方体并将其缩放为glScalef(width, height, depth) 这将是最佳的,因为即使您绘制了多个不同的墙,您也只需要一个顶点缓冲区。
另一种很好的方法是在加载时间预定义维度中简单地创建顶点(网络充满了源)。在这种情况下,每面墙都有自己的顶点缓冲区,但您不需要对其进行缩放。
至于使用 obj 文件,您必须导入立方体并使用缩放来转换它,因此它与第一个解决方案几乎相同,但您不能将它与第二个解决方案一起使用(尽管导入一个简单的立方体 obj似乎很浪费)。
你可以直接使用只有宽度、高度、深度和一些中心点的片段着色器来绘制它,但你需要相当多的数学技能,而且它会比使用顶点慢得多,所以我不建议这样做。
【讨论】: