Practical Particle Lighting


Bitsquid
- High-end licensed engine
- 10 titles
- "War of Roses"

Particle lighting
- Billboard lighting
- Support dynamic local lights
- Cheap to be used on all emissive particles ( minimum PS work )

Vertex Lighting
- Super cheap
- Better than nothing but looks very flat

HL2-basis

-Project lighting environment to HL2-basis
- Align HL2-basis vectors with billboard(i.e.. view space)

Lighting using HL2-basis
- prepare normal map


View space HL2-basis
-Good enough
-Cheap
Improvement
- shadow map look-up in VS
-Recycling of shadow map RTs can cause problems
  - Deferred CSM: Render the biggest slice
Increasing light sampling frequency
- DX11 use tessellation to increase sampling frequency of shadow map

Domain shader???

performance: VS, DS, PS

Shadow casting
- use the same tech as Crysis2
 - Render particle back-front, accumulate translucency in single 8-bit channel RT
- Use opaque shadow map as DST with depth test enabled to avoid back-projection

Conclusion:
- vertex lighting better than nothing
- HW tessellation  more stuff than displacement mapping

Comments

Popular posts from this blog

Drawing textured cube with Vulkan on Android

glTF loader for Android Vulkan

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