文件名称:可编程渲染管线-pt100换算表
文件大小:20.23MB
文件格式:PDF
更新时间:2024-07-31 06:22:21
OpenGL ES
3.2 着色器与渲染管线 于进一步深入了解 OpenGL ES 3.0 的渲染管线是很有裨益的,本小节将对此内容进行介绍。 渲染管线有时也称为渲染流水线,一般是由显示芯片(GPU)内部处理图形信号的并行处理 单元组成。这些并行处理单元两两之间是相互独立的,在不同型号的硬件上独立处理单元的数量 也有很大的差异。一般越高端型号的硬件,其中独立处理单元的数量也就越多。 提示 与普通应用程序通过 CPU 串行执行不同的是,渲染工作是通过渲染管线中多个 相互独立的处理单元进行并行处理的,这种模式极大地提升了渲染效率。 从另一个角度看,OpenGL ES 中的渲染管线实质上指的是一系列绘制过程。这些过程输入的 是待渲染 3D 物体的相关描述信息数据,经过渲染管线,输出的是一帧想要的图像。OpenGL ES 2.0 的渲染管线如图 3-16 所示。 ▲图 3-16 OpenGL ES 2.0 可编程渲染管线 1.基本处理 该阶段设定 3D 空间中物体的顶点坐标、顶点对应的颜色、顶点的纹理坐标等属性,并且指 定绘制方式,如点绘制、线段绘制或者三角形绘制等。 2.顶点缓冲对象 这部分功能在应用程序中是可选的,对于某些在整个场景中顶点的基本数据不变的情况。可 以在初始化阶段将顶点数据经过基本处理后送入顶点缓冲对象,在绘制每一帧想要的图像时就省 去了顶点数据 IO 的麻烦,直接从顶点缓冲对象中获取顶点数据即可。相比于每次绘制时单独将 顶点数据送入 GPU 的方式,可以在一定程度上节省 GPU 的 IO 带宽,提高渲染效率。 3.顶点着色器 顶点着色器是一个可编程的处理单元,功能为执行顶点的变换、光照、材质的应用与计算等 顶点的相关操作,其每顶点执行一次。其工作过程为首先将原始的顶点几何信息及其他属性传送 到顶点着色器中,经过自己开发的顶点着色器处理后产生纹理坐标、颜色、点位置等后继流程需 要的各项顶点属性信息,然后将其传递给图元装配阶段。 顶点着色器替代了原有固定管线的顶点变换、光照计算,开发人员可以根据自己的需求自行 开发顶点变换、光照等功能,大大增加了程序的灵活性。但凡事有利皆有弊,增加灵活性的同时 也增加了开发的难度。顶点着色器的工作原理如图 3-17 所示。 顶点着色器输入主要为待处理顶点相应的 attribute(属性)变量、uniform(一致)变量、 采样器以及临时变量,输出主要为经过顶点着色器后生成的 varying(易变)变量及一些内建输出 变量。