Improve SSAO performance and quality
This decreases the number of samples significantly, leading to a notable performance increase with only a very slight loss in visual quality. This also tweaks the default SSAO settings to use 3×3 blurring, which makes noise patterns much less visible.
This commit is contained in:
parent
0d8f1ba6a9
commit
eb0cced3c0
|
@ -16,15 +16,15 @@ void main() {
|
|||
#define TWO_PI 6.283185307179586476925286766559
|
||||
|
||||
#ifdef SSAO_QUALITY_HIGH
|
||||
#define NUM_SAMPLES (80)
|
||||
#define NUM_SAMPLES (16)
|
||||
#endif
|
||||
|
||||
#ifdef SSAO_QUALITY_LOW
|
||||
#define NUM_SAMPLES (15)
|
||||
#define NUM_SAMPLES (8)
|
||||
#endif
|
||||
|
||||
#if !defined(SSAO_QUALITY_LOW) && !defined(SSAO_QUALITY_HIGH)
|
||||
#define NUM_SAMPLES (40)
|
||||
#define NUM_SAMPLES (12)
|
||||
#endif
|
||||
|
||||
// If using depth mip levels, the log of the maximum pixel offset before we need to switch to a lower
|
||||
|
|
|
@ -1294,8 +1294,8 @@ void Environment::_bind_methods() {
|
|||
Environment::Environment() :
|
||||
bg_mode(BG_CLEAR_COLOR),
|
||||
tone_mapper(TONE_MAPPER_LINEAR),
|
||||
ssao_blur(SSAO_BLUR_DISABLED),
|
||||
ssao_quality(SSAO_QUALITY_LOW),
|
||||
ssao_blur(SSAO_BLUR_3x3),
|
||||
ssao_quality(SSAO_QUALITY_MEDIUM),
|
||||
glow_blend_mode(GLOW_BLEND_MODE_ADDITIVE),
|
||||
dof_blur_far_quality(DOF_BLUR_QUALITY_LOW),
|
||||
dof_blur_near_quality(DOF_BLUR_QUALITY_LOW) {
|
||||
|
@ -1346,7 +1346,7 @@ Environment::Environment() :
|
|||
ssao_ao_channel_affect = 0.0;
|
||||
ssao_blur = SSAO_BLUR_3x3;
|
||||
set_ssao_edge_sharpness(4);
|
||||
set_ssao_quality(SSAO_QUALITY_LOW);
|
||||
set_ssao_quality(SSAO_QUALITY_MEDIUM);
|
||||
|
||||
glow_enabled = false;
|
||||
glow_levels = (1 << 2) | (1 << 4);
|
||||
|
|
Loading…
Reference in New Issue