@@ -1450,9 +1450,9 @@ void main() {
14501450 float range_begin = directional_lights.data[i].shadow_range_begin.x;
14511451 float test_radius = (range_pos - range_begin) * directional_lights.data[i].softshadow_angle;
14521452 vec2 tex_scale = directional_lights.data[i].uv_scale1 * test_radius;
1453- shadow = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale);
1453+ shadow = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale, scene_data.taa_frame_count );
14541454 } else {
1455- shadow = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord);
1455+ shadow = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord, scene_data.taa_frame_count );
14561456 }
14571457 } else if (depth_z < directional_lights.data[i].shadow_split_offsets.y) {
14581458 vec4 v = vec4 (vertex, 1.0 );
@@ -1467,9 +1467,9 @@ void main() {
14671467 float range_begin = directional_lights.data[i].shadow_range_begin.y;
14681468 float test_radius = (range_pos - range_begin) * directional_lights.data[i].softshadow_angle;
14691469 vec2 tex_scale = directional_lights.data[i].uv_scale2 * test_radius;
1470- shadow = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale);
1470+ shadow = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale, scene_data.taa_frame_count );
14711471 } else {
1472- shadow = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord);
1472+ shadow = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord, scene_data.taa_frame_count );
14731473 }
14741474 } else if (depth_z < directional_lights.data[i].shadow_split_offsets.z) {
14751475 vec4 v = vec4 (vertex, 1.0 );
@@ -1484,9 +1484,9 @@ void main() {
14841484 float range_begin = directional_lights.data[i].shadow_range_begin.z;
14851485 float test_radius = (range_pos - range_begin) * directional_lights.data[i].softshadow_angle;
14861486 vec2 tex_scale = directional_lights.data[i].uv_scale3 * test_radius;
1487- shadow = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale);
1487+ shadow = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale, scene_data.taa_frame_count );
14881488 } else {
1489- shadow = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord);
1489+ shadow = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord, scene_data.taa_frame_count );
14901490 }
14911491 } else {
14921492 vec4 v = vec4 (vertex, 1.0 );
@@ -1501,9 +1501,9 @@ void main() {
15011501 float range_begin = directional_lights.data[i].shadow_range_begin.w;
15021502 float test_radius = (range_pos - range_begin) * directional_lights.data[i].softshadow_angle;
15031503 vec2 tex_scale = directional_lights.data[i].uv_scale4 * test_radius;
1504- shadow = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale);
1504+ shadow = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale, scene_data.taa_frame_count );
15051505 } else {
1506- shadow = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord);
1506+ shadow = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord, scene_data.taa_frame_count );
15071507 }
15081508 }
15091509
@@ -1522,9 +1522,9 @@ void main() {
15221522 float range_begin = directional_lights.data[i].shadow_range_begin.y;
15231523 float test_radius = (range_pos - range_begin) * directional_lights.data[i].softshadow_angle;
15241524 vec2 tex_scale = directional_lights.data[i].uv_scale2 * test_radius;
1525- shadow2 = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale);
1525+ shadow2 = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale, scene_data.taa_frame_count );
15261526 } else {
1527- shadow2 = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord);
1527+ shadow2 = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord, scene_data.taa_frame_count );
15281528 }
15291529
15301530 pssm_blend = smoothstep (0.0 , directional_lights.data[i].shadow_split_offsets.x, depth_z);
@@ -1539,9 +1539,9 @@ void main() {
15391539 float range_begin = directional_lights.data[i].shadow_range_begin.z;
15401540 float test_radius = (range_pos - range_begin) * directional_lights.data[i].softshadow_angle;
15411541 vec2 tex_scale = directional_lights.data[i].uv_scale3 * test_radius;
1542- shadow2 = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale);
1542+ shadow2 = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale, scene_data.taa_frame_count );
15431543 } else {
1544- shadow2 = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord);
1544+ shadow2 = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord, scene_data.taa_frame_count );
15451545 }
15461546
15471547 pssm_blend = smoothstep (directional_lights.data[i].shadow_split_offsets.x, directional_lights.data[i].shadow_split_offsets.y, depth_z);
@@ -1555,9 +1555,9 @@ void main() {
15551555 float range_begin = directional_lights.data[i].shadow_range_begin.w;
15561556 float test_radius = (range_pos - range_begin) * directional_lights.data[i].softshadow_angle;
15571557 vec2 tex_scale = directional_lights.data[i].uv_scale4 * test_radius;
1558- shadow2 = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale);
1558+ shadow2 = sample_directional_soft_shadow(directional_shadow_atlas, pssm_coord.xyz, tex_scale * directional_lights.data[i].soft_shadow_scale, scene_data.taa_frame_count );
15591559 } else {
1560- shadow2 = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord);
1560+ shadow2 = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale, pssm_coord, scene_data.taa_frame_count );
15611561 }
15621562
15631563 pssm_blend = smoothstep (directional_lights.data[i].shadow_split_offsets.y, directional_lights.data[i].shadow_split_offsets.z, depth_z);
@@ -1627,7 +1627,7 @@ void main() {
16271627
16281628 pssm_coord /= pssm_coord.w;
16291629
1630- shadow = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale * (blur_factor + (1.0 - blur_factor) * float (directional_lights.data[i].blend_splits)), pssm_coord);
1630+ shadow = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale * (blur_factor + (1.0 - blur_factor) * float (directional_lights.data[i].blend_splits)), pssm_coord, scene_data.taa_frame_count );
16311631
16321632 if (directional_lights.data[i].blend_splits) {
16331633 float pssm_blend;
@@ -1661,7 +1661,7 @@ void main() {
16611661
16621662 pssm_coord /= pssm_coord.w;
16631663
1664- float shadow2 = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale * (blur_factor2 + (1.0 - blur_factor2) * float (directional_lights.data[i].blend_splits)), pssm_coord);
1664+ float shadow2 = sample_directional_pcf_shadow(directional_shadow_atlas, scene_data.directional_shadow_pixel_size * directional_lights.data[i].soft_shadow_scale * (blur_factor2 + (1.0 - blur_factor2) * float (directional_lights.data[i].blend_splits)), pssm_coord, scene_data.taa_frame_count );
16651665 shadow = mix (shadow, shadow2, pssm_blend);
16661666 }
16671667
@@ -1767,7 +1767,7 @@ void main() {
17671767 break ;
17681768 }
17691769
1770- float shadow = light_process_omni_shadow(light_index, vertex, normal);
1770+ float shadow = light_process_omni_shadow(light_index, vertex, normal, scene_data.taa_frame_count );
17711771
17721772 shadow = blur_shadow(shadow);
17731773
@@ -1812,7 +1812,7 @@ void main() {
18121812 break ;
18131813 }
18141814
1815- float shadow = light_process_spot_shadow(light_index, vertex, normal);
1815+ float shadow = light_process_spot_shadow(light_index, vertex, normal, scene_data.taa_frame_count );
18161816
18171817 shadow = blur_shadow(shadow);
18181818
0 commit comments