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:
parent
6169734f91
commit
a578becdd9
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)) { \
|
||||
|
|
Loading…
Reference in New Issue