w23 / xash3d-fwgs

Vulkan Ray Tracing fork of Xash3D FWGS engine. Intended to be merged into master at some point in the future.
160 stars 16 forks source link

Evaluate splitting bounces into dedicated diffuse and specular terms #734

Open w23 opened 3 months ago

w23 commented 3 months ago

Alternatively to trying to estimate and mix both. This can help with:

  1. thread coherency: all threads are doing the same work, as opposed to half being diffuse and another random half being specular.
  2. more bounces: it will be natural to know what channel we're writing even if we're N bounces deep

Note that fully diffuse and fully specular models are still fine -- just no compute will happen for them, which is cheap.