我读到类似的 API 可以glDrawElementsIndirect
帮助glDrawArraysIndirect
我们进行间接渲染。间接渲染与直接渲染的不同之处在于,“顶点属性数”、“要绘制的实例数”、“缓冲区对象的起始顶点属性”等渲染参数由 GPU 本身在缓冲区对象中提供,而不是由 GPU 本身提供。由 CPU 在绘图调用中提供。
我明白。它还解释说,优点是渲染速度更快,因为不涉及 CPU 交互。但是等等,实际上进行渲染调用的不是 CPU 吗?它仍然指定渲染模式(GL_TRIANGLES
等)。它还可能加载了顶点属性。
那么间接渲染中的所有性能增益是否都可以通过不必传递这些微小的变量来解释:“计数”、“原始计数”、“第一个顶点属性”、“实例计数”?这对我来说没有多大意义。(它也没有改变任何状态)