3D Computer Graphics Rendering

1 minute read

Published:

(work in progress…)

The proper classification of the entire graphics domain is infeasible and it could be seen from different dimensions. However, from my point of view, a high-level taxonomy could be as follows:

Graphics Rendering
├── Rasterization-based rendering_
   ├── Forward rendering (Unity)
   ├── Forward+ / Clustered forward rendering (Unity)
│   ├── Deferred rendering
   └── Tiled deferred rendering

├── Ray-based rendering
   ├── Ray casting
   ├── Ray tracing
   └── Global Illumination
       ├── Path tracing
       ├── Bidirectional path tracing
       ├── Photon mapping
       └── Metropolis light transport

├── Volume rendering
   ├── Volume ray marching
      └── Sphere tracing
   ├── Splatting
   ├── Iso-surface rendering
   └── Medical/scientific volume rendering

├── Image-based rendering
   ├── Light-field rendering
   ├── View interpolation / view synthesis
   ├── Impostor rendering
   └── Neural radiance fields / 3D Gaussian splatting

├── Point-based rendering
   ├── Point splatting
   ├── Surfels
   └── Point-cloud rendering

├── Precomputed rendering
   ├── Lightmaps
   ├── Irradiance volumes
   ├── Precomputed radiance transfer
   └── Reflection probes

├── Neural / learned rendering
   ├── Neural radiance fields
   ├── Neural textures
   ├── Neural scene representations
   └── AI-assisted denoising / upsampling

└── Non-photorealistic rendering
    ├── Toon rendering
    ├── Line drawing
    ├── Technical illustration
    └── Stylized rendering

For VR rendering, deferred rendering is often limited. Forward rendering is often better for VR because it has lower memory bandwidth than deferred rendering and handles MSAA and transparency more naturally.