OpenGL 重复渲染

OpenGL重复渲染

OpenGL重复渲染简介

想象一下,你想渲染一个巨大的军队移动的场景。你有一个士兵模型,你想渲染几千名士兵。第一种方法 - 正面 - 调用渲染多次,因为士兵移动,只改变所需的统一变量。例如,每个士兵位于不同的点,每个可以比平常暗10%/亮,等等。此外,我们必须更新呈现调用之间的 WVP 矩阵,就像其他特定于士兵的变量一样。这样一个计划将大笔开支。但有一个更好的方法。

考虑重复渲染。例如,这是要渲染的模型的唯一出现(在我们的例子中,它是一个士兵)。重复渲染意味着我们可以在一个呈现调用中渲染多个样本,并提供具有唯一属性数据的每个示例。我们将介绍这两种方法。

在第一种复制方法中,某些属性(如 WVP 矩阵)被放置在单独的顶点缓冲区中。通常,顶点处理器在每个顶点的 VB 内执行一个步骤。对于具有重复数据的 VB,只有在绘制了所有"常规"顶点后,才执行此步骤。具有重复数据的 VB 仅提供所有顶点共有的属性。请考虑以下图像:

上一篇:数据结构:网易公开课上浙大课程学习笔记


下一篇:Vue3学习(十三)之 Modal 对话框、表单的使用