render3d: under a fog wall the volumetric air is marched only to it, SSGI stops where it is solid, and card casters that fill the wall stop rebuilding
The volumetric pass marched 800 m in a fixed number of steps whatever the wall: it now stops at the wall with steps in proportion (at least 8) - 0.57 -> 0.33 ms at 30 m by the pass timers. SSGI skipped only past 900 m; it now also skips past 0.85 of a wall, where the fog is solid (u_ao_far). applyFog samples the fog's colour only where its weight is above zero. A card layer whose casters inside the wall are 80% or more of it (a kilometre's wall) casts from its static list and is not refiltered and re-uploaded every 4 m of camera motion. Fog off: the frame unchanged (0 pixels over 8). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
5b3cfac48e
commit
329439cf61
32 changed files with 36 additions and 14 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -551,7 +551,7 @@ T 3e4b62f9 u_tershadow 8
|
|||
T 3e4b62f9 u_tershadow_aux 9
|
||||
T 3e4b62f9 u_ts_height 10
|
||||
P 676965ab fullscreen.vert ssgi.frag
|
||||
B 676965ab frag 1 984
|
||||
B 676965ab frag 1 1000
|
||||
U 676965ab frag u_cascade_vp 0 mat4 5 64
|
||||
U 676965ab frag u_cascade_split 320 float 5 16
|
||||
U 676965ab frag u_cascade_range 400 float 5 16
|
||||
|
|
@ -588,13 +588,14 @@ U 676965ab frag u_time 816 float 1 0
|
|||
U 676965ab frag u_fog_inscatter 820 float 1 0
|
||||
U 676965ab frag u_fog_desat 824 float 1 0
|
||||
U 676965ab frag u_fog_wall 828 float 1 0
|
||||
U 676965ab frag u_inv_proj 832 mat4 1 0
|
||||
U 676965ab frag u_proj 896 mat4 1 0
|
||||
U 676965ab frag u_texel 960 vec2 1 0
|
||||
U 676965ab frag u_radius 968 float 1 0
|
||||
U 676965ab frag u_intensity 972 float 1 0
|
||||
U 676965ab frag u_contact 976 float 1 0
|
||||
U 676965ab frag u_frame 980 float 1 0
|
||||
U 676965ab frag u_ao_far 832 float 1 0
|
||||
U 676965ab frag u_inv_proj 848 mat4 1 0
|
||||
U 676965ab frag u_proj 912 mat4 1 0
|
||||
U 676965ab frag u_texel 976 vec2 1 0
|
||||
U 676965ab frag u_radius 984 float 1 0
|
||||
U 676965ab frag u_intensity 988 float 1 0
|
||||
U 676965ab frag u_contact 992 float 1 0
|
||||
U 676965ab frag u_frame 996 float 1 0
|
||||
T 676965ab u_brdf 2
|
||||
T 676965ab u_depth 3
|
||||
T 676965ab u_irradiance 4
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue