fix(render3d): the ground keeps more of its own colour, and the rock keeps all of it
55% of every ground pixel was the orthophotograph, at every distance and on every material. A survey image records WHERE the forest and the scree are well and what a steep rock face is coloured badly - it is shot through kilometres of air at an angle no player stands at. The photograph keeps the meadow and the forest and gives the rock back to the rock, by material and by elevation and never by distance: a distance fade used to live here and was removed because the photograph has the day's own shadows baked in, so grass grew dark patches as you backed away and they slid as you walked. The far tier's rock fallback is the maroon mean, not a neutral grey - TFAST_3 skips the rock sample and leaves that constant standing in for a whole mountain. Ortho-classified snow needs altitude now. Bright and unsaturated is what snow looks like from a satellite and also what a sunlit rock face looks like. Gully snow is gated on the snow line rather than two absolute heights. Distance desaturation eased 1.9 -> 1.15: tuned on a valley whose rock was grey anyway. NOT FIXED, and I want it recorded rather than implied: the Bells themselves are still not maroon. The near and middle rock is warmer and measurably so, but the distant peak does not respond to ANY of this - not the rock tint, not the ortho weight, not the snow line, not the gully gate. Painting sA bright red left it unchanged, so whatever surface that is, it is not this shader's snow and not this shader's material blend. Somebody should find out what draws it before tuning any of these numbers further. 400 frames: GL 7.0 s, VK 7.2 s. Backends agree to 0.62/255. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
b12228c662
commit
b5d13180a6
9 changed files with 81 additions and 6 deletions
|
|
@ -164,7 +164,12 @@ function daylight_set(hours: int) -> void {
|
|||
# the glow a ridge is silhouetted against when you look into a low sun
|
||||
r3d_fog_inscatter = f_mul(f_add(fl(0.012), f_mul(fl(0.16), lowsun)), f_sub(F_ONE, f_mul(fl(0.7), oc)))
|
||||
# and distance takes colour away at every hour, harder under cloud
|
||||
r3d_fog_desat = f_add(fl(1.9), f_mul(fl(0.6), oc))
|
||||
# 1.9 was tuned on a valley whose rock was grey anyway. Maroon's air is thin, dry and at
|
||||
# 2900 m, and the Bells are only a couple of kilometres from the lake - in the photograph
|
||||
# everybody knows, they are still plainly RED at that distance. Desaturating them to a pale
|
||||
# grey-pink is physically defensible and loses the one thing the range is named for, so the
|
||||
# basin's own air gets a gentler figure and overcast still takes colour away faster.
|
||||
r3d_fog_desat = f_add(fl(1.15), f_mul(fl(0.7), oc))
|
||||
# ---- the grade -------------------------------------------------------------------------
|
||||
# The look of an hour is not only how much air is in front of the mountain; it is what colour
|
||||
# the light is and what the shadows are filled with. Noon is the case worth naming: direct
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue