vk: rt: add diffuse and specular debug display modes

These will display diffuse and specular channels, both direct and
indirect, after spatial denoiser, but before temporal one.
This commit is contained in:
Ivan Avdeev 2024-01-26 14:02:19 -05:00
parent 6169734f91
commit a578becdd9
4 changed files with 12 additions and 1 deletions

View File

@ -10,7 +10,8 @@
- [x] too dark indirect: blurSamples() returns values too small (incorrect sigma|scale?)
- [x] do a box blur test
- [x] do A-trous wavelet denoiser
- [ ] diffuse and specular debug display modes
- [ ] tune A-Trous step widths for different channels
- [x] diffuse and specular debug display modes
- [ ] temporal glitches with dontBlurSamples() and ATrous
# Previously

View File

@ -401,6 +401,12 @@ void main() {
} else if (ubo.ubo.debug_display_only == DEBUG_DISPLAY_INDIRECT_DIFF) {
imageStore(out_dest, pix, vec4(LINEARtoSRGB(c.indirect_diffuse), 0.)); return;
return;
} else if (ubo.ubo.debug_display_only == DEBUG_DISPLAY_DIFFUSE) {
imageStore(out_dest, pix, vec4(LINEARtoSRGB(c.indirect_diffuse + c.direct_diffuse), 0.)); return;
return;
} else if (ubo.ubo.debug_display_only == DEBUG_DISPLAY_SPECULAR) {
imageStore(out_dest, pix, vec4(LINEARtoSRGB(c.indirect_specular + c.direct_specular), 0.)); return;
return;
}
vec3 diffuse = c.direct_diffuse + c.indirect_diffuse;

View File

@ -187,6 +187,8 @@ struct LightCluster {
#define DEBUG_DISPLAY_INDIRECT_SPEC 13
#define DEBUG_DISPLAY_TRIHASH 14
#define DEBUG_DISPLAY_MATERIAL 15
#define DEBUG_DISPLAY_DIFFUSE 16
#define DEBUG_DISPLAY_SPECULAR 17
// add more when needed
#define DEBUG_FLAG_WHITE_FURNACE (1<<0)

View File

@ -171,6 +171,8 @@ static void parseDebugDisplayValue( void ) {
X(INDIRECT_SPEC, "indirect specular only") \
X(TRIHASH, "each triangle is drawn with random color") \
X(MATERIAL, "red = roughness, green = metalness") \
X(DIFFUSE, "direct + indirect diffuse, spatially denoised") \
X(SPECULAR, "direct + indirect specular, spatially denoised") \
#define X(suffix, info) \
if (0 == Q_stricmp(cvalue, #suffix)) { \