17-补充说明
补充说明
在OpenGL/GLSL中,有许多其他功能和结构可用于管理和利用数据,我们在本章中仅涉及了很浅层的一部分。例如,我们没有描述统一块,这是一种类似于C中的struct的用于统一变量的机制。甚至可以设置统一块从缓冲区接收数据。另一个强大的机制是着色器存储块,它本质上是一个着色器可以写入的缓冲区。
关于管理数据的许多选项的一个很好的参考资料是《OpenGL超级宝典》[SW15],特别是关于数据的章节(第7版的第5章)。它还描述了我们所涵盖的各种命令的许多细节和选项。本章的前两个示例程序,即程序4.1和程序4.2受到《OpenGL超级宝典》中类似示例的启发。
我们还需要学习如何管理其他类型的数据,以了解如何将它们发送给OpenGL管线。其中之一是纹理,包含可用于“绘制”场景中对象的彩色图像数据(像照片)。我们将在第5章中研究纹理图像。我们将进一步研究的另一个重要缓冲区是深度缓冲区(或者叫Z缓冲区)。当我们在第8章中研究阴影时,这将变得很重要。关于如何在OpenGL中管理图形数据,我们还有很多知识需要学习!