我想问一下OPENGL ES android,我想建一个具有特定宽度,高度和深度的墙
public void buildingW(float width, float height, float depth)
为了放入我的程序,任何人都可以建议我如何做到这一点?
无论如何构建一个obj文件然后读取它?或者我们可以直接画出来?
非常感谢!
答案 0 :(得分:0)
最简单的方法是简单地使用一个立方体并将其缩放为glScalef(width, height, depth)
这是最佳的,即使你绘制多个不同的墙只需要一个顶点缓冲区。
另一个很好的方法是简单地在加载时间预定义维度中创建顶点(web中填充了源代码)。在这种情况下,每个墙都有自己的顶点缓冲区,但您不需要对其进行缩放。
至于使用obj文件,您必须导入多维数据集并使用scale进行转换,因此它与第一个解决方案几乎相同,但您无法将其与第二个解决方案一起使用(尽管导入一个简单的多维数据集obj似乎是浪费)。
您可以使用仅具有宽度,高度,深度和一些中心点的片段着色器直接绘制它,但是您将需要相当多的数学技能,并且它会比使用顶点慢得多,所以我不建议它。