【发布时间】:2011-12-29 23:21:42
【问题描述】:
我目前正在使用适用于 Android 的 OpenGL ES。我决定给自己定下做一把椅子的任务。我是否必须对每个单独的顶点进行编码,或者有没有办法将一组相乘并将它们向左变换 10 个单位。
例如,我可以将一乘四并将它们放在不同的位置,而不是对每条腿进行编码吗?
如果是这样,这可能在渲染类之外吗?
【问题讨论】:
标签: android opengl-es vertices
我目前正在使用适用于 Android 的 OpenGL ES。我决定给自己定下做一把椅子的任务。我是否必须对每个单独的顶点进行编码,或者有没有办法将一组相乘并将它们向左变换 10 个单位。
例如,我可以将一乘四并将它们放在不同的位置,而不是对每条腿进行编码吗?
如果是这样,这可能在渲染类之外吗?
【问题讨论】:
标签: android opengl-es vertices
您可以在每次绘制椅子腿之间使用glTranslate() 函数相当轻松地完成此操作。如果你想象在一张纸上你的手被锁定并且每次只能在同一个地方画同一个椅子腿,glTranslate() 在绘制每条椅子腿之间移动你手下的这张纸。
但是,对于大多数复杂的模型(例如椅子),您可能需要考虑使用 3D 建模软件包制作它们,例如 blender(免费)。当您将其保存为文件时,该文件实际上包含所有顶点。根据您保存的文件格式,您可以编写一些代码来加载文件,解析它以提取顶点,然后使用这些顶点来绘制椅子。
【讨论】: