Previous we just applied gl_LightSource[0].ambient without
multiplying it by the texture itself, so it just lightened
everything.
This fixes that. (ws30-ALS-detailed.frag still to do)
commit aca259acaccffbaf1cb264be423dda72c106150e
Author: vs <vs2009@mail.com>
Date: Sat Oct 23 22:55:56 2021 +1000
WS30 shaders: varying fix
commit 91b194f6766d432206cb013d99e0a96cd34ff33b
Author: vs <vs2009@mail.com>
Date: Sat Oct 23 22:17:03 2021 +1000
WS30 ultra shader: port the ambient lighting fix.
Previously only the diffuse term was considered in the fragment
shader, leading to very dark scenery and deep shadows.
Now the ambient light term is also included making the scenery
much closer to the way it should be lit.
commit e131ffaca7b2c934474f0e447b5852cb4c7c8d4a
Author: vs <vs2009@mail.com>
Date: Fri Oct 15 22:19:42 2021 +1000
WS30: landclass and texture lookups in fragment shader:
Changelog:
- Testing: Procedural random landclass function, get_random_landclass(). 1). Avoids a texture lookup for profiling. 2). Creates squares of configurable size with controllable random landclass ranges - to test landclass transition algorithms and quickly profile lots of landclasses in view. It's also possible to put pressure on GPU memory even with 1 lookup of ground textures per fragment, by reducing size to <20m and viewing from altitude.
- Add ALS ultra technique as no 5, move existing ALS technique to no. 6. Add WS30-ALS-ultra frag & vert in preparation for eventual ALS ultra port. Change comments/variables to match using a texture array instead of atlas. Sampler name: atlas -> textureArray.
- Testing/optimisation of de-tiling: WS30-ALS.frag: reorder perlin detiling to make noise source easier to switch. WS30-ALS-ultra.frag: Create alternative to perlin noise used for reducing tiling that avoids a texture lookup - to profile and optimise. This is commented out. The performance difference in the final version depends on memory pressure versus arithmetic load of the full shader. It varies by GPU and what's in view. In future, once a full ALS port is done, maybe it'll be more efficient to run a higher quality de-tiling algorithm all the time to avoid branching overhead due to effects like agriculture which need more de-tiling. De-tiling code in shaders should /eventually/ match CPU-side de-tiling of texture masks used for object and vegetation placement. De-tiling code in GPUs might be subject to precision and numerical artifacts, and if so maybe the texture lookup version would work better. The same applies to noise used for rendering WS3 water waves and collision queries. One option is to use exactly the same glsl code, with a C++ header to convert glsl syntax e.g. https://github.com/g-truc/glm .
Spray density realism improved by using a curve for the density and permitting the trigger to be changed (default 0.2)
Touchdown smoke trigerred by WoW changing using the velocity as a factor and then using a low pass filter on this to fade out the smoke. This results in smoke for a brief period that appears to be more realistic. F-14 example: https://i.imgur.com/FkwgoYV.gifv
Remove no more used `menu/interface-config`.
Add `menu/highlighting`, `menu/vr-options`, `options/system-time`,
`options/gmt`, `options/local-aircraft-time`.
Correct tip text from "Hold [Shift] while looking around to move the
view up, down, left or right" to "Hold Ctrl ...".
Corrections for Polish nonQt translations.
gui/dialogs/highlighting.xml
Enable/disable highlighting dialog, plus shows highlighted dialog names
etc.
gui/menubar.xml
Added link to highlight dialog to help menu.
Added comments regarding normal computation for directional lights, clarified
minor details, fixed typos and incorrect documentation regarding cartesian
coordinates for buildings and trees.