日常筆記-1 unity技術(shù)美術(shù)流程
概述
主要功能:
給定虛擬相機(jī)、三維對(duì)象、光源
生成二維圖像
物體外觀的決定因素:
材質(zhì)屬性
光源
貼圖
著色方程
渲染速度表示:
每秒幀數(shù)FPS:每秒渲染的圖像數(shù)量
赫茲HZ:渲染一幀需要的時(shí)間
坐標(biāo)變換:
(模型坐標(biāo)系)---模型變換(M)--->(世界坐標(biāo)系)-----視圖變換(V)------->(視錐坐標(biāo)系)--------投影變換(P)-------->(投影坐標(biāo)系)--------視口變換-------(視口坐標(biāo)系)
并行執(zhí)行
提高性能
最慢的階段影響整個(gè)管線速度
流程
應(yīng)用階段 Application
CPU上,由應(yīng)用程序驅(qū)動(dòng)
準(zhǔn)備場(chǎng)景中的基本數(shù)據(jù)
場(chǎng)景物體數(shù)據(jù)
物體變換數(shù)據(jù)
位置
旋轉(zhuǎn)
縮放
物體網(wǎng)格數(shù)據(jù)
頂點(diǎn)位置
UV貼圖
攝像機(jī)數(shù)據(jù)
位置、方向、遠(yuǎn)近裁剪平面
正交/透視(FOV)
視口比例/尺寸
光源及陰影數(shù)據(jù)
設(shè)置光源
方向光
顏色
方向
點(diǎn)光源
顏色
位置
范圍
聚光源
顏色
位置
方向
內(nèi)外圓錐角
設(shè)置陰影
是否需要陰影
判斷該光源可見(jiàn)范圍內(nèi)是否有可投射陰影的物體
陰影參數(shù)
對(duì)應(yīng)光源序號(hào)
陰影強(qiáng)度
級(jí)聯(lián)參數(shù)
深度偏移(優(yōu)化相關(guān))
近平面偏移(優(yōu)化相關(guān))
逐光源繪制陰影貼圖
近平面偏移
逐級(jí)聯(lián)
計(jì)算當(dāng)前光源+級(jí)聯(lián)對(duì)應(yīng)的觀察矩陣、投影矩陣、以及對(duì)應(yīng)到陰影貼圖里的視口區(qū)域
繪制到陰影貼圖
其他全局?jǐn)?shù)據(jù)
加速算法,粗粒度剔除
碰撞檢測(cè)
加速算法
遮擋剔除
可見(jiàn)光裁剪
可見(jiàn)場(chǎng)景物體裁剪
八叉樹
BSP樹
K-D樹
BVH
其他算法
設(shè)置渲染狀態(tài),準(zhǔn)備渲染參數(shù)
繪制設(shè)置
使用著色器
合批方式
繪制物體的順序
相對(duì)攝像機(jī)的距離
材質(zhì)RenderQueue
UICanvas
其他方式等
渲染目標(biāo)(輸出到哪)
FrameBuffer
RenderTexture
渲染模式
前向渲染
延遲渲染
調(diào)用 Drawcall,輸出渲染圖元到顯存
頂點(diǎn)數(shù)據(jù)
位置
顏色
法線
紋理UV坐標(biāo)
其他頂點(diǎn)數(shù)據(jù)
其他數(shù)據(jù)
MVP變換矩陣
紋理貼圖
其他數(shù)據(jù)
幾何階段 Geometry Processing
GPU
頂點(diǎn)著色器 Vertex Shading (可編程)
視圖變換
頂點(diǎn)著色
曲面細(xì)分(可選)
外殼著色器 Hull Shader
曲面細(xì)分 tesselator
域著色器 domain shader
幾何著色器(可選)
基于圖元的操作
投影 Projection
正交
透視
裁剪 Clipping
CVV
正面或背面剔除(可配置)
屏幕映射 Screen Mapping
從連續(xù)到離散
坐標(biāo)系差異(OpenGL/D3D)
光柵化階段 Rasterization
GPU
三角形設(shè)置 Triangle Setup
計(jì)算微分、邊方程和其他三角形數(shù)據(jù)
三角形遍歷 Triangle Traversal
抗鋸齒(MSAA)
SSAA
渲染到 一個(gè)分辨率放大n倍的buffer
對(duì)放大n倍的buffer下采樣
MSAA
在光柵化階段
計(jì)算多個(gè)覆蓋樣本
FXAA/TXAA
后處理技術(shù)
逐片元操作 Pixel Processing
GPU
片元著色 Fragment Shader
顏色混合 Color Blending
透明度測(cè)試 Alpha test
模板測(cè)試 stencil test
深度測(cè)試 depth test
混合 blending
目標(biāo)緩沖區(qū) FrameBuffer
后處理
Bloom
HDR
FXAA
Depth of View
邊緣檢測(cè)
徑向模糊