The Technology Behinds AMD's Demo

Why forward rendering:
Complex material
multiple light type
support hw AA
efficient memory usage
support transparency
but... can't support large num. lights

forward+ render
add computer shader for light culling, modify main light loop
omni. spot, cinematic , BRDF
simple design

DX11 feature
Compute shaders
UAV support
Compute shaders used in Leo demo
1. culling shader
2. virtual point lights

array of scene light information
array of u32 light indices for storing
array of material

1. depth prepass
2. light culling
   - screen divided into tiles, launch shader per tile
   - screen space tile, screen depth
3. rScne material
    -  use screen x, y to deter tileID
4. Material shader
    - divide what to do with incoming lighting
   - passed into BRDF
   - light accumulation

Depth prepass critical
-pixel overdraw use pre pass depth to avoid.


(H/L): (High/Low memory usage)


Popular posts from this blog


Drawing textured cube with Vulkan on Android

C++ unit testing & CI integration in GitHub (2/2)