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



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

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

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

是否有构建一个obj文件然后读取它的方法?或者我们可以直接画?

非常感谢!

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

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

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

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

最新更新