US1L3——渲染管线-几何阶段

知识必备——图元

图元:在渲染管线中,图元是指几何数据的基本单元,它是构成几何体的最小可绘制的单元
图元可以是点、线、三角形,在渲染管线的几何阶段,顶点数据会被组合为图元
这些图元将在后续的光栅化阶段转换为像素,最终呈现在屏幕上

渲染管线的几何阶段

渲染管线(流水线)中的几何阶段,主要是GPU主导的阶段
它为渲染完成的最主要的工作就是 顶点处理,坐标转换,裁剪画面外图元等等
在几何阶段中,我们主要通过自定义 顶点着色器 阶段,为我们带来一些不同的画面表现效果

image

渲染管线的几何阶段主要由GPU主导,因此我们无法拥有绝对的控制权,但是GPU为我们开放了部分控制权
几何阶段主要做的事情是,根据应用阶段输入的数据信息,进行顶点坐标转换,以及裁剪不可见图元等工作

image

  • 顶点着色器

    它处理来自应用阶段由CPU传递过来的顶点相关数据,输入进来的每一个顶点都会调用一次顶点着色器中的逻辑
    顶点着色器需要完成的工作主要有:

    1. 坐标变换 —— 顶点变换、法线变换、纹理坐标变换等
    2. 顶点属性处理 —— 对顶点的其他属性进行处理,比如顶点颜色、透明度、切线向量等,可以用于实现顶点动画、着色、光照等效果
    3. 顶点插值 —— 计算顶点属性的插值值

    等等,对于我们来说**顶点着色器是完全可编程的**

  • 曲面细分着色器、几何着色器

    它们对于对于我们来说是可选的着色器,并且他们需要硬件和驱动程序的支持才能使用,因此,我们在学习过程中不做详细讲解

  • 裁剪:

    裁剪阶段会自动的将不在视野内和部分在视野内的图元(点、线、三角形)进行裁剪,我们可以进行一些配置,
    但是一般我们不需要进行任何处理,渲染管线会自动帮助我们进行处理

  • 屏幕映射:

    将输入的三维坐标系下的图元坐标转换到屏幕坐标系中

几何阶段为渲染准备了些什么

在渲染管线(流水线)的几何阶段,最主要做的工作就是,对顶点进行处理,并进行坐标转换,裁剪画面外的图元
最主要完成的就是将 模型的顶点 从其 本地坐标 转换到最终的 屏幕坐标

对于我们来说,我们只要在顶点着色器中进行一些操作就可以带来不同的表现效果的体现
比如:水波纹、布料等等