OpenGL着色器
OpenGL着色器简介
从本课开始,我们将学习的所有效果和技术都将通过着色器实现。着色器是创建 3D 图形的现代方法。从某种意义上说,这是一个后退,因为大多数 3D 功能以前都表示为固定管道函数,并且要求开发人员仅指定配置参数(光参数、旋转值等)。现在,这必须由程序员(通过着色器)实现,尽管这种方法提供了巨大的灵活性和创新的可能性。
顶点处理器负责对流经管道的每个顶点执行顶点着色器(其数量根据呈现调用中的设置确定)。顶点着色器不知道基元渲染拓扑。此外,您不能丢弃顶点处理器中的顶点。每个顶点在处理器中正好击中 1 次,并进一步转换并继续移动。
下一步是几何处理器。此时,它将完成原始(使用所需的顶点),并将相邻的顶点传递到着色器。这允许您在顶点附近获取更多信息。此外,几何着色器还能够修改在呈现调用中选择的输出拓扑。例如,您可以放置一个点列表,并从每个点创建 2 个三角形(即正方形)(一种称为广告牌的方法)。此外,您可以为每个几何着色器调用分配多个顶点,从而根据您选择的拓扑创建多个基元。
管道中的下一步是快船。这是一个具有明确任务的固定函数 - 它裁剪了我们在上一课中看到的窗口中的原始值。它还在 Z 轴的近坐标和远坐标上进行裁剪。您可以设置自己的快船。剪切器后