![]() |
1
5
使用所谓的顶点阵列可能是优化此类场景的最可靠方法。下面是一个很好的教程: http://www.songho.ca/opengl/gl_vertexarray.html
一个顶点数组或更一般地说,gl数据数组保存顶点位置、法线、颜色等数据。您还可以有一个数组,该数组保存这些缓冲区的索引,以指示绘制它们的顺序。
这些数组通常驻留在主机内存中,进一步的优化是使用顶点缓冲区对象,这些对象与常规数组的概念相同,但驻留在GPU内存中,可以更快一些。这里有一点: http://www.songho.ca/opengl/gl_vbo.html
--- 编辑 在场景中移动、旋转和变换对象是使用模型视图矩阵完成的,不需要对网格数据进行任何更改。举例说明: 您有您的初始化:
|
![]() |
2
4
既然你已经开始了,我建议坚持立即模式渲染,并让它首先工作。如果您觉得更舒服,可以改进顶点阵列。如果你觉得更舒服,VBOs。最后,如果你感觉非常舒服,实例化是最快的解决方案(没有变形,只有整个对象变换)。
对于整个对象变换,通常要变换模型视图矩阵。
对于加载对象,您甚至需要提出一些格式或实现一些可以加载网格格式的内容(obj是最容易支持的格式之一)。有高级库可以简化这一点,但我建议使用OpenGL来获得您的体验和控制。 |
![]() |
3
1
我希望openglapi可以通过IDE支持(intellisense等)轻松导航。几个小时后,很明显需要制定一些基本规则。所以我停止了打字和RTFM。 http://www.glprogramming.com/red/ 最好的建议,我可以给任何人谁发现这个问题时,找到自己的OpenGL立足点。长时间的阅读,但授权。 |
![]() |
John V · 是否存在单元测试无法发现的逻辑/流错误类型? 6 年前 |
![]() |
Beefster · 为什么ANSI颜色转义以“m”而不是“]”结尾? 6 年前 |
![]() |
Guillermo Gutiérrez · STR转换是如何工作的? 7 年前 |
![]() |
RudziankoÅ · 合并排序数组算法 7 年前 |
|
user8852560 · 构造函数中的验证和构造函数冲突 7 年前 |
![]() |
jav974 · 订购产品时寻找最佳价格组合的算法 7 年前 |
![]() |
hippietrail · 确定浮点数中前导零的数量 7 年前 |