【发布时间】:2014-07-12 15:36:39
【问题描述】:
在进行 OpenGL 时,我们不断定义我们要处理的缓冲区类型。即使 OpenGL Superbible 说缓冲区没有真正的类型,因为它们只是“缓冲区”,但总有人必须提供缓冲区的种类。
那么为什么总是提供缓冲区类型作为参数很重要呢?每个 Buffer 是否都有保留的内存量?不同类型的 Buffers 的 Memory Locations 有区别吗?
【问题讨论】:
-
我不是 openGL 专家,但通常不同类型的缓冲区可能需要不同的缓存访问(例如纹理)、迁移策略和/或执行低级内容(例如对齐),所有这些都需要一些有关如何使用该内存区域的更多“信息”。这在CUDA中是有效的,也许对于处理片上内存的openGL驱动也是如此。
-
不确定您的意思,但可能同时绑定了多个缓冲区(例如 ARRAY 和 ELEMENTS_ARRAY) - 每种类型一个 - 并且您指定要使用其中的哪一个。