Val*_*tin 6 opengl 3d performance rendering
我正在尝试做的,基本上有一个模型,它被多次渲染,具有不同的平移和旋转.
所以我知道如何使用Array Buffers
和Array Element Buffers
(Vertex Buffer Objects
),我的问题是.现在,当我将模型加载到VBO
最佳方法时,如果我想用不同的平移和旋转多次渲染它.
我有2个理论可以做到这一点.(虽然我在问什么是最好的方法).
将模型加载到一个模型中VBO
,然后glDrawArrays
对我想要渲染的每个模型继续调用并应用平移和旋转.
将模型VBO
多次加载一次.然后相同的模型被多次存储,最终使用大量内存.
附加: 在做的1路,四叉树和/或截,可以使用这将最大限度地减少需要渲染的模型数量.
如果我想要高FPS并且仍然可以节省尽可能多的内存,那么这些方法中的哪一种最适合做,或者是否有另一种更好的方法?
只是为了澄清我不会问如何渲染使用VBO's
或如何渲染一般,我问的是当你想多次渲染相同的模型时最好的方法是什么.
这只是测试模型的图像.
我目前正在使用OpenGL版本4.2.0,我在Windows桌面计算机上使用它.
为了最大限度地减少绘制调用和统一传输,您可以使用glDrawArrayInstanced()。这样,您可以在一次绘制调用中提交任意数量的原始对象实例!每个实例的矩阵您可以打包到 UBO(统一缓冲区对象)中并使用gl_InstanceID访问每个实例的顶点着色器中的那些
归档时间: |
|
查看次数: |
955 次 |
最近记录: |