转自:http://www.cppblog.com/foxriver/archive/2011/02/18/140241.html
crysis2 dx9一帧渲染流程:
1. TestCooperativeLevel()
2. 设置n-patch细分等级D3DRS_ADAPTIVETESS_Y
3. GPU同步设置,Query9::GetData(), Query9::Issue()
4. ShadowMap
5. ZPass, 生成GBuffer信息。
6. Depth_DownScale
7. SSAO
8. Scattering List
9. Deferred Lighting
9.1 Irradiance Volume Evaluate
9.2.1 Visares
9.2.2 Outdoor
9.3 Deferred CubeMaps
9.4 Deferred Lights
9.5 SSAO_BLUR
9.6 Deferred Lights
9.6.1 ShadowMap Pool
10. 不透明物体绘制。
10.1 General(BW)
10.2 地形(BW)
10.3 General(AW)
10.4 地形(AW)
10.5 细节(BW)
10.6 细节(AW)
10.7 皮肤生成
10.8 皮肤应用
11. 半透明物体绘制。
11.1 雾
12. Glow Gen(光晕生成)
13. HDR Post Proesss
13.1 Motion Blur, 运动模糊
13.1.1 Motion Vector Gen
13.1.2 Motion Vector Dilate
13.1.3 Motion Vector Apply
13.1.4 Motion Vector Apply Pass 2
13.2 HalfRes downsample
13.3 QuarterRes downsample
13.4 BrightPass
13.5 Bloom and Flares
13.5.1 TexBlur 16Taps
13.5.2 TexBlur Gaussian
13.5.3 TexBlur Gaussian
13.5.4 HDR flares
13.6 Sunshafts生成
13.7 MergeColorCharts
13.8 CombineColorGradingWithColorChart
13.9 ToneMapping
14. Post Effects
14.1 MSAA
14.2 3D HUD
15. 刷新绘制
16. 绘制界面
17. 绘制调试信息

本文详细介绍了 Crysis2 在 DirectX 9 下的一帧渲染流程,包括从测试合作级别到最终的刷新绘制全过程。内容覆盖了细分等级设置、GPU 同步、阴影映射、GBuffer 生成等技术细节,并对后期效果如 HDR 处理、光晕生成及各种特效的实现进行了说明。
5262

被折叠的 条评论
为什么被折叠?



