1
0
Fork 0
fgdata/Shaders
Stuart Buchanan 0bce3c966f WS30: landclass and texture lookups in fragment shader
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 .
2021-10-21 21:31:03 +01:00
..
HDR HDR: Implement GTAO (Ground Truth Ambient Occlusion) 2021-09-01 04:26:03 +02:00
3dcloud-ALS-detailed.frag ALS: New cloud rendering detail level with more dramatic Mie scattering at cloud fringes done inside fragment shader 2018-08-30 09:17:36 +03:00
3dcloud-ALS-detailed.vert ALS: New cloud rendering detail level with more dramatic Mie scattering at cloud fringes done inside fragment shader 2018-08-30 09:17:36 +03:00
3dcloud-ALS.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
3dcloud-ALS.vert More infrastructure for perception filtering of moonlight 2017-11-13 10:27:25 +02:00
3dcloud.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
3dcloud.vert Fix for black clouds on ATI (bug 1160) 2013-12-25 23:14:04 +00:00
agriculture-ALS.frag Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
airfield-ALS.frag Implement a simple snow shader for the low quality levels 2021-01-19 11:10:44 +01:00
birds-ALS.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
birds-ALS.vert ALS bird shader 2016-04-30 21:27:28 +03:00
bowwave-ALS.frag Filtering for most remaining ALS shaders 2016-04-06 09:26:49 +03:00
building-ALS.vert Fix random buildings shader errors 2021-04-16 07:46:35 +02:00
building-default.vert Fix random buildings shader errors 2021-04-16 07:46:35 +02:00
building-model-ALS-ultra.vert Fix shader-based buildings on AMD/macOS 2021-01-22 20:59:34 +00:00
chute-ALS.vert Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
cliffs-ALS.frag Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
cloud-impostor-ALS.vert More infrastructure for perception filtering of moonlight 2017-11-13 10:27:25 +02:00
cloud-noctilucent-ALS.vert More infrastructure for perception filtering of moonlight 2017-11-13 10:27:25 +02:00
cloud-shadowfunc.frag Some fixes for the ALS overlay shader 2017-09-18 12:47:21 +03:00
cloud-static-ALS-detailed.frag ALS: Fix rainbow fringing order in Cirrus clouds 2018-09-05 09:20:20 +03:00
cloud-static-ALS-detailed.vert ALS: Detailed scattering model for light on Cirrus clouds 2018-09-01 09:42:34 +03:00
cloud-static-ALS.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
cloud-static-ALS.vert More infrastructure for perception filtering of moonlight 2017-11-13 10:27:25 +02:00
cloud-static.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
cloud-static.vert Local Weather 1.4 by Thorsten Renk : fixes lots of graphical errors and transparency issues and provides a consistent GUI. 2012-01-03 20:21:34 +01:00
clouds-box.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
clouds-box.vert Robert (dogg360): make shaders work for AMD/ATI graphics (#96,#335 related) 2011-07-04 20:20:26 +02:00
clouds-layered.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
clouds-layered.vert Robert (dogg360): make shaders work for AMD/ATI graphics (#96,#335 related) 2011-07-04 20:20:26 +02:00
clouds-test.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
clouds-test.vert Robert (dogg360): make shaders work for AMD/ATI graphics (#96,#335 related) 2011-07-04 20:20:26 +02:00
clouds-thick.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
clouds-thick.vert Robert (dogg360): make shaders work for AMD/ATI graphics (#96,#335 related) 2011-07-04 20:20:26 +02:00
clouds-thin.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
clouds-thin.vert Robert (dogg360): make shaders work for AMD/ATI graphics (#96,#335 related) 2011-07-04 20:20:26 +02:00
clouds-thinlayer.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
clouds-thinlayer.vert Robert (dogg360): make shaders work for AMD/ATI graphics (#96,#335 related) 2011-07-04 20:20:26 +02:00
clustered-include.frag Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
color_temperature.frag Changing file permissions to remove execute bit 2020-09-02 09:42:36 +02:00
default.frag Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
default.vert Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
drunway-ALS.frag Implement a simple snow shader for the low quality levels 2021-01-19 11:10:44 +01:00
filters-ALS.frag Added dithering as an ALS post-processing effect to prevent banding 2019-04-21 18:53:19 +02:00
filters-ALS.vert ALS - begin infrastructure for moonlight perception filtering 2017-06-18 10:08:39 +03:00
flutter-ALS.vert Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
generic-ALS-base.vert Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
glass-ALS.frag Fix incorrect lightmap intensity with lightmap-multi=0 2021-04-15 11:12:07 +02:00
glass-ALS.vert Add an appropriate version number to all vertex shaders 2016-08-05 13:16:23 +02:00
grass-ALS.frag Make Compositor default 2020-11-16 13:46:30 +01:00
grass-ALS.geom Make Compositor default 2020-11-16 13:46:30 +01:00
grass-ALS.vert Changing file permissions to remove execute bit 2020-09-02 09:42:36 +02:00
hazes.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
hud-ALS.frag Fix incorrect lightmap intensity with lightmap-multi=0 2021-04-15 11:12:07 +02:00
hud-ALS.vert ALS HUD effect approximating the appearance of light projected on the combiner 2017-02-24 09:28:54 +02:00
include_fog.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
include_fog.vert Add an appropriate version number to all vertex shaders 2016-08-05 13:16:23 +02:00
light-ALS.frag Make ALS procedural light shader palatable to nouveau driver 2017-09-01 12:57:11 +03:00
light-ALS.vert Procedural aircraft lights for ALS - WIP 2016-02-03 09:13:30 +02:00
lightspot-ALS.frag ALS lightspot second projectable spot correction. 2016-10-05 14:47:44 -05:00
model-ALS-base.frag Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
model-ALS-ultra.frag Fix incorrect lightmap intensity with lightmap-multi=0 2021-04-15 11:12:07 +02:00
model-ALS-ultra.vert Make Compositor default 2020-11-16 13:46:30 +01:00
model-ALS-wingflex.vert Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
model-interior-ALS-base.frag Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
model-interior-ALS-base.vert Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
model-interior-ALS-detailed.frag Fix incorrect lightmap intensity with lightmap-multi=0 2021-04-15 11:12:07 +02:00
model-interior-ALS-detailed.vert Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
model-interior-display-ALS.frag Fix incorrect lightmap intensity with lightmap-multi=0 2021-04-15 11:12:07 +02:00
night-vision.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
noise.frag Interior glass effect with dynamic environment response for ALS 2015-03-10 13:43:08 +02:00
planet-aurora.frag Earthview 2.1 - parallax mapping for cloud layer, lightning at night, Rayleigh scattering in atmosphere and minor bugfixes 2017-04-05 16:50:31 +03:00
planet-aurora.vert Earthview 2.1 - parallax mapping for cloud layer, lightning at night, Rayleigh scattering in atmosphere and minor bugfixes 2017-04-05 16:50:31 +03:00
planet-cloudlayer.frag Improvements to Earthview: enable changing cloud density, fix aurora z-ordering issue, let moonlight give a relief effect to clouds 2018-01-29 09:25:38 +02:00
planet-high.frag Remove rgb normalization and relax cut on NdotL to positive or null (fix visible redcuts) 2020-07-12 18:40:38 +02:00
planet.frag Remove rgb normalization and relax cut on NdotL to positive or null (fix visible redcuts) 2020-07-12 18:40:38 +02:00
planet.vert Improvements and bugfixes for orbital rendering 2015-03-29 13:16:19 +03:00
rain-layer-ALS.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
rain-layer-ALS.vert Light scattering phenomena for ALS: rainbow, halo, sundogs and light pillar 2015-12-21 13:07:32 +02:00
rain-layer.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
rain-layer.vert SHADERS:fix "unified" fog function. 2012-02-14 18:39:58 +02:00
road-ALS-ultra.frag Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
rock-ALS.frag Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
runway-ALS.frag Implement a simple snow shader for the low quality levels 2021-01-19 11:10:44 +01:00
scenery-lights.frag Shader-based scenery lights. 2021-08-07 21:42:20 +03:00
scenery-lights.vert Fixed FOV side effect on light sprite size. 2021-09-04 13:41:02 +03:00
secondary_lights.frag Bugfixes for ALS light addition 2016-08-18 09:25:03 +03:00
shadows-include.frag Reorganize the shadow mapping functions 2021-06-17 18:18:27 +02:00
shadows-include.vert Tweak shadow offset parameters and cascade ranges 2021-01-05 11:24:19 +01:00
skydome-ALS.frag ALS: Detailed scattering model for light on Cirrus clouds 2018-09-01 09:42:34 +03:00
skydome-ALS.vert ALS: tentative fix for skydome monolith artifact - apparently this is a numerical accuracy issue (?) 2018-02-13 15:00:21 +02:00
space-ALS-base.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
space-ALS-base.vert Add an appropriate version number to all vertex shaders 2016-08-05 13:16:23 +02:00
space-ALS-ultra.frag Fix incorrect lightmap intensity with lightmap-multi=0 2021-04-15 11:12:07 +02:00
space-ALS-ultra.vert Experimental additional lighting options for ALS model shaders 2016-07-31 10:29:02 +03:00
surface-light-ALS.frag Make ALS procedural light sprite more palatable to nouveau GPU driver 2017-03-04 10:01:45 +02:00
surface-light-ALS.vert Fix for light point sprite shader when light definition is initially small and creates nmerical issues 2019-10-06 11:26:42 +03:00
terrain-ALS-base.frag Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
terrain-ALS-detailed.frag Implement a simple snow shader for the low quality levels 2021-01-19 11:10:44 +01:00
terrain-ALS-detailed.vert Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
terrain-ALS-ultra.frag Create overlay mixing scales based on texture scale. 2021-07-26 11:13:00 +01:00
terrain-ALS-ultra.vert Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
terrain-nocolor.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
terrain-overlay-ALS.frag Make Compositor default 2020-11-16 13:46:30 +01:00
terrain-overlay-ALS.geom Make Compositor default 2020-11-16 13:46:30 +01:00
text.frag Add shaders for osgText 2021-05-14 22:45:36 +02:00
text.vert Add shaders for osgText 2021-05-14 22:45:36 +02:00
thrustflame-ALS-detailed.frag Introduce detailed version of thruster flame 2016-08-01 11:47:44 +03:00
thrustflame-ALS.frag Bugfix and noise seed option for ALS thrust flame shader 2017-04-17 10:30:49 +03:00
thrustflame-ALS.vert Improvements to flame effect 2015-05-22 10:51:54 +03:00
tree-ALS-shadow.frag ALS: do not clamp haze color in object shaders, this leads to mismatch with terrain at high light intensity 2018-02-09 14:08:01 +02:00
tree-ALS-shadow.vert Add an appropriate version number to all vertex shaders 2016-08-05 13:16:23 +02:00
tree-ALS.frag ALS: do not clamp haze color in object shaders, this leads to mismatch with terrain at high light intensity 2018-02-09 14:08:01 +02:00
tree-ALS.vert Add an appropriate version number to all vertex shaders 2016-08-05 13:16:23 +02:00
tree.frag Standardized fog 2011-12-01 20:52:59 +00:00
tree.vert Speculative fix for shader cast issue on Mac. 2013-05-31 19:50:57 +01:00
trivial.frag Add missing shader version tags for the other shaders too 2016-08-03 09:59:29 +02:00
trivial.vert Procedural Texturing 2012-08-07 09:01:14 +02:00
wake-ALS.vert ALS maintenance - reworked light curves, streamlining, minor bugfixes,... 2014-12-15 15:50:47 +02:00
water-ALS-base.frag Enable filtering for ALS lower quality terrain, water and model shaders 2016-03-27 20:27:32 +03:00
water-ALS-high.frag It's now possible to create a overrides of water colour and shallowness for waterbodies through regional definitions. Note: Overrides are constant and apply throughout the waterbody. This is mainly useful for inland waterbodies. 2021-05-10 11:52:45 +02:00
water-ALS.vert ALS maintenance - reworked light curves, streamlining, minor bugfixes,... 2014-12-15 15:50:47 +02:00
ws30-ALS-ultra.frag WS30: landclass and texture lookups in fragment shader 2021-10-21 21:31:03 +01:00
ws30-ALS-ultra.vert WS30: landclass and texture lookups in fragment shader 2021-10-21 21:31:03 +01:00
ws30-ALS.frag WS30: landclass and texture lookups in fragment shader 2021-10-21 21:31:03 +01:00
ws30-ALS.vert WS30: Fix WS30 fragment shaders 2021-08-21 17:15:15 +01:00
ws30-q1.frag WS30: Fix WS30 fragment shaders 2021-08-21 17:15:15 +01:00
ws30.frag WS30: Fix WS30 fragment shaders 2021-08-21 17:15:15 +01:00
ws30.vert WS30: Add basic shaders 2021-01-23 17:15:12 +00:00