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立足点。长时间的阅读,但授权。 |
user1424739 · 如何获得子地块的绘图区域大小? 2 年前 |
Nor-s · 如何使用ASIMP正确加载模型? 2 年前 |
Makogan · 3D纹理大小影响程序输出,不会引发错误 6 年前 |
Karsten W. · 底部R中的旋转箭头 6 年前 |
168grani · Matplotlib图形的线条平滑 6 年前 |