1
5
可以在一个顶点缓冲区中存储多个网格。通过在一个缓冲区中放置几个小网格,可以获得一些性能。对于非常大的网格,应该使用单独的缓冲区。
|
2
2
tbh通常将它们全部放在一个大缓冲区中的原因是为了节省draw调用。切换顶点缓冲区的成本相当低。如果您可以将它们全部合并到1个顶点缓冲区中,并在1次绘制调用中渲染10个对象,那么您将获得一个巨大的胜利。 通常,为了合并它们,您只需创建一个大顶点缓冲区,其中包含所有顶点数据,这些数据已经在其中进行了一个接一个的转换。然后设置一个索引缓冲区,该缓冲区将一个接一个地呈现它们。然后在最小的绘图调用中绘制所有内容。当然,如果移动一个需要更新顶点缓冲区的一部分的对象,这就是为什么它是静态几何的理想情况。 如果所有的对象都相同,那么您将只使用1个顶点缓冲区(其中包含1个对象定义)和1个索引缓冲区,对吗?矩阵移动或动画对象… 如果所有的对象都是不同的,并且正在移动/设置动画,那么我就坚持使用单独的VBS。我怀疑你会注意到它们合并在一起有什么不同。 |
3
0
好吧,我的经验是,只要你的缓冲器不是很小或者很大,它就不会有太大的区别。我怀疑,任何切换缓冲区的效率低下都会与效率的提高相匹配,因为这会给驱动程序更多的操作性,以便用更小的缓冲区管理内存。 |
4
-2
使用OpenGL,您可以使用
|
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |