图形渲染管线、图形处理单元[实时渲染]

一、图形渲染管线

1.结构

4个主要步骤:应用程序,几何处理,光栅化和像素处理

图形渲染管线、图形处理单元[实时渲染]_第1张图片

几何处理阶段又分为顶点着色,投影,剪切和屏幕映射。

图形渲染管线、图形处理单元[实时渲染]_第2张图片

顶点着色之后,有3个阶段镶嵌,几何着色和流输出。

光栅化的2个子阶段,三角形设置和三角形遍历。

图形渲染管线、图形处理单元[实时渲染]_第3张图片

二、图形处理单元

1.数据并行体系结构

单指令,多数据(SIMD)

简化着色器执行示例

2.GPU管线总览

GPU实现渲染管线流程图:

3.可编程的着色阶段

统一虚拟机架构和寄存器布局如下图:

图形渲染管线、图形处理单元[实时渲染]_第4张图片

4.着色语言API

最早的着色器结构:

图形渲染管线、图形处理单元[实时渲染]_第5张图片

5.顶点着色器

6.曲面细分阶段

曲面细分流程图如下:

图形渲染管线、图形处理单元[实时渲染]_第6张图片

hull shader 阶段接受曲面参数,效果如图:

图形渲染管线、图形处理单元[实时渲染]_第7张图片

7.几何着色器

GPU运行的阶段有:光栅化,曲面细分,几何着色器。

流输出

8.像素着色器

9.融合阶段

10.计算着色器

三、变换

表示一个点

表示一个向量

1.基础变换

平移:平移矩阵:图形渲染管线、图形处理单元[实时渲染]_第8张图片

平移示意图:图形渲染管线、图形处理单元[实时渲染]_第9张图片

旋转:

图形渲染管线、图形处理单元[实时渲染]_第10张图片

三个方向的旋转矩阵为:

图形渲染管线、图形处理单元[实时渲染]_第11张图片

例子:围绕一个点旋转:

解释如下图:

图形渲染管线、图形处理单元[实时渲染]_第12张图片

缩放:缩放矩阵

图形渲染管线、图形处理单元[实时渲染]_第13张图片

例子:按某种方向缩放:

构造F:

扭曲:图形渲染管线、图形处理单元[实时渲染]_第14张图片

效果图如下:

图形渲染管线、图形处理单元[实时渲染]_第15张图片

变换的连接:依赖于顺序

图下表示不同顺序产生不同的结果:

图形渲染管线、图形处理单元[实时渲染]_第16张图片

顺序为:

刚体变换:只有平移和缩放的变换

刚体变换矩阵:图形渲染管线、图形处理单元[实时渲染]_第17张图片

X的逆:

定位相机:图形渲染管线、图形处理单元[实时渲染]_第18张图片

相机偏移矩阵图形渲染管线、图形处理单元[实时渲染]_第19张图片

法线变换:

图形渲染管线、图形处理单元[实时渲染]_第20张图片

正确的办法使用伴随矩阵去计算法线。

逆的计算:

2.特殊矩阵变换与操作

The Euler Transform:

图形渲染管线、图形处理单元[实时渲染]_第21张图片

参数:

矩阵分解:

任意轴的旋转:

图形渲染管线、图形处理单元[实时渲染]_第22张图片

四元数:

 

 

 

 

你可能感兴趣的:(OpenGL)