OpenGL ES - 以3D形式设置对象的宽度,高度和深度

时间:2013-12-12 06:41:16

标签: opengl-es 3d opengl-es-2.0

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

public void buildingW(float width, float height, float depth)

为了放入我的程序,任何人都可以建议我如何做到这一点?

无论如何构建一个obj文件然后读取它?或者我们可以直接画出来?

非常感谢!

1 个答案:

答案 0 :(得分:0)

最简单的方法是简单地使用一个立方体并将其缩放为glScalef(width, height, depth)这是最佳的,即使你绘制多个不同的墙只需要一个顶点缓冲区。

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

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

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