主流渲染技术简介 - star2gameeditor

Report
主流渲染技术简介
渲染流程
G-Buffer
Shadow
Deferred
Shading
Post
effect
Indirect
lighting
G-Buffer

G-Buffer全称geometric buffer,主要包含:



Position(Depth buffer)
Normal
Material parameters





Diffuse Color
Emissive
Specular Intensity
Specular Power
…
G-Buffer示例
Depth buffer
Normal buffer
Specular Intensity
Specular Power
Diffuse Color buffer
G-Buffer的创建

MRT(Multiple Render Target)
DX9最多支持4个MRT,即一个pass,可以同时输出到
4个render target。(不同的硬件实现,有不同的限制,
比如所有的RT要有同样的位深度,不支持post-pixel操作:
alpha test,blending等。)

Multiple Pass
对于不支持MRT的硬件,可以用多个pass来处理,每
个pass生成一个render target。速度相对MRT要慢,但灵
活性要好,不依赖硬件。
Shadow


这里的shadow生成主要是针对direct light。
生成shadow的技术主要是shadow map


优点:简单,不需要知道场景中物体的几何信
息。
缺点:分别率不高时,生成的阴影边缘有明显
的锯齿。
Shadow map的改进算法







PCF(Percentage Closer Filtering)
PSM(Perspective Shadow Map)
TSM(Trapezoidal Shadow Map)
CSM(Convolution Shadow Map)
VSM(Variance Shadow Map)
LVSM(Layered Variance Shadow Map)
…
VSM和LVSM比较
VSM (当多个阴影重合时就
出现light bleeding现象)
LVSM
Indirect lighting


SSAO(Screen Space Ambient Occlusion)
GI(Dynamic Global Illumination)


SSDO(Screen Space Directional Occlusion)
LPV(Light Propagation Volumes)
SSAO示例
只有环境光照射时的SSAO
有SSAO
没有SSAO
SSDO示例
LPV示例
一次反射的LPV
没有LPV
一次反射的LPV
Deferred Shading


对每一个光源,利用一开始生成的G-Buffer
进行光照计算,每个光源一个pass。
优点:


光照计算只和分辨率有关,和场景复杂度和材质种类
无关,适合大型场景和多光源。
缺点:

占用大量显存和带宽。
Post Effect




HDR
Depth of Field
Motion Blur
…

similar documents