saints row iv · rendering
Saints Row IV Rendering
How a frame is drawn: lighting technique, shadows, post-effects.
Rendering9 rows
| Topic | How it works | Where |
|---|---|---|
| Thread | Rendering runs on its own thread, one frame behind the game logic. | render_thread_main 00729ce0 |
| API | Direct3D 11. Shaders are precompiled .fxo_pc_dx11 files. | |
| Lighting | 'Inferred Lighting' (Volition's technique): geometry writes depth + normals, lights are drawn into a separate light buffer, then surfaces read it back with a filter that avoids light bleeding between objects. | ir_light_* shaders |
| Light types | Directional (sun), point, spot, tube lights; textured and no-specular variants; ambient volumes. | |
| Shadows | Sun shadow map with selectable projection: uniform, PSM, LiSPSM, TSM, CLB. | rl_shadow_system |
| Ambient occlusion | SSAO (single-frame and temporal) plus analytic AO boxes/ellipsoids. | |
| Effects | Particles, decals, distortion, refraction, fog volumes, skybox and star field, reflections. | |
| Post-processing | HDR with eye adaptation, bloom, god rays, depth of field (with bokeh), motion blur, colour grading (LUT), outlines, x-ray, the Matrix 'ASCII' look. | |
| Frame steps | Begin frame -> draw world -> draw UI -> end frame -> present. | renderer_begin_frame 00735d90 ... renderer_present_and_flip 00736320 |
Built from SR4_Game_Explained.xlsx (650 KB), if you'd rather filter it in Excel. SaintsRowIV.exe v1.0.6.1 (Steam). Names are ours unless they're Volition's own Lua or C++ class names.

