【千锋合集】史上最全Unity3D全套教程|匠心之作_哔哩哔哩_bilibili
应用阶段(CPU)
准备场景数据
粗颗粒剔除
设置模型的渲染状态
输出渲染图元
点 线 三角面
数据加载到显存
硬盘HDD
内存RAM
显存VRAM
cup向gpu发送渲染命令
设置渲染状态
纹理设置
混合设置
透明设置
顶点着色器设置
片元着色器设置
几何阶段GPU
顶点着色器 可编程的 空间变换 顶点着色
模型空间--->世界空间--->观察空间(以摄像机为原点)--->裁剪空间(裁剪图元,并为投影做准备)--->屏幕空间(xy坐标对应屏幕上的2D像素坐标)
模型变换---观察变换---投影变换---屏幕映射
屏幕左下角为原点
曲面细分着色器
可选着色器
细分图元
几何着色器
可选着色器
逐图元着色or产生更多图元
裁剪
裁剪看不到的图元
屏幕映射
图元转换到屏幕坐标系
屏幕分辨率不同
光栅化阶段
生产像素
渲染最终图像
GPU流水线
三角形设置
三角形遍历
片元着色器
可编程的
逐片元的着色操作
逐片元操作
不可编程,但可配置
修改颜色
深度缓冲
混合操作
输出:屏幕图像
渲染绘画管线整理
目的:
输入3D模型
输出2D图片
渲染绘画管线流程
顶点处理
本地坐标系
中心:模型中心
方位:模型xyz
世界坐标系
中心:世界坐标系的中i性能
方位:世界的xyz
观察坐标系:
中心:摄像机的位置
方位:摄像机xyz
裁剪坐标系
投影坐标系(2D)
面处理
面的组装
面截取
面剔除
光栅化【GPU】
向量--->点阵像素
像素处理
输入:像素的位置、深度、贴图、坐标、法线、切线、颜色等
输出:每个像素的颜色、透明度
即对每个像素着色过程
DX和OpenGL
OpenGL稳定,可跨平台使用
什么是Shader
着色器Shader(加工厂):纹理、数据、颜色...
材质(产品):网格、sprite、UI、LineRenderer、拖尾
Shader插件 ShaderForge
图像渲染管线[流水线]



