Fernando García Liñán
10cd3fb8c4
HDR: Normal mapping without precomputed tangents
...
Also tidy up model and terrain shaders. Inputs and outputs to vertex and
fragment shaders are now interface blocks.
2023-04-17 05:09:24 +02:00
Fernando García Liñán
82d415cbd4
HDR: Add remaining aerosol types
...
Now the properties of the atmospheric medium can be changed through the
property tree.
2023-04-16 07:19:22 +02:00
Fernando García Liñán
e77e5bad9c
HDR: Fix aerial perspective banding
2023-04-13 05:57:01 +02:00
Fernando García Liñán
f53a170539
HDR: Better bloom effect
...
We also now pre-expose our lighting before writing to the HDR buffers.
This solves some precision issues and prevents the Sun from producing
infinite values.
2023-04-13 00:30:02 +02:00
Stuart Buchanan
ce24a3f05f
HDR: WS30 basic terrain shader
2023-04-12 18:11:41 +01:00
Fernando García Liñán
23b4e6e26f
Fix typo
2023-04-11 17:59:44 +02:00
Fernando García Liñán
8af67bfb2f
HDR: Complete refactoring of shader style and naming
...
See https://wiki.flightgear.org/Shader_Style_Guide .
2023-04-11 15:53:47 +02:00
Fernando García Liñán
c4d19877cf
HDR: Significant update
...
- New atmosphering rendering technique based on my own work.
- Attempt to fix some remaining transparency issues.
- Use a luminance histogram for auto exposure.
- Add support for clustered shading.
- Add WS 2.0 shaders.
- Add 3D cloud shaders.
- Add orthoscenery support.
2023-04-06 00:18:29 +02:00
Stuart Buchanan
d723b0b518
WS30 - Uniform Arrays and lighting model
...
Use Uniform Arrays instead of Texture1D.
Use ambient/diffuse/specular/shininess material
properties consistently across all WS30 shaders.
Use consistent shading model for photoscenery vs.
landclass to minimize visual difference.
2021-11-10 22:58:44 +00:00
Fernando García Liñán
96a6e6c9bf
HDR: Implement GTAO (Ground Truth Ambient Occlusion)
2021-09-01 04:26:03 +02:00
Fernando García Liñán
3459e7ddfe
HDR: Use gl_VertexID instead of the MVP matrix in fullscreen passes
2021-08-31 18:02:38 +02:00
Fernando García Liñán
9f39644199
HDR: Optimize the G-Buffer and do not separate the occlusion texture
...
- The G-Buffer layout has been redesigned to be 96 bits per pixel. There are 24
unused bits that can be used for extra material parameters later (like
clearcoat).
- Add better debug views for the G-Buffer.
- Use octahedron normal encoding. This yields the same results as the previous
method but uses 16 bits less.
- Use rg11fb10f for the environment mapping cubemaps.
- Tweak the shadow mapping parameters and add a colored debug mode.
- Only render shadow maps for objects that inherit from model-default.eff or
model-pbr.eff instead of having a fallback Effect. Now transparent objects
should be ignored (if they are marked as such with model-transparent or
similar).
- Remove the separate occlusion texture. Now the PBR Effect expects a single
texture where R=occlusion, G=roughness and B=metallic.
2021-08-27 00:03:43 +02:00
Fernando García Liñán
a789c24209
HDR: Fix model-combined when not using a normal map
2021-08-25 16:49:08 +02:00
Fernando García Liñán
beb4381ad1
HDR: Fix model-combined objects without normal maps
2021-08-25 15:16:38 +02:00
Fernando García Liñán
aaf6bb9309
HDR: Improve ACES tone mapping curve
...
The previous one tended to over-expose the final image.
2021-08-25 15:15:57 +02:00
Fernando García Liñán
55410e9d35
HDR: Port chrome.eff
2021-08-25 14:32:22 +02:00
Fernando García Liñán
356ff8ff34
Fix indentation
2021-08-25 04:25:09 +02:00
Fernando García Liñán
9983a0c68c
HDR: Water rendering
2021-08-25 04:17:09 +02:00
Fernando García Liñán
eea955168e
HDR: Organize shadow-related files and add screen space shadows
2021-08-24 23:38:56 +02:00
Fernando García Liñán
eed433ce9f
HDR: Use stencil buffer for optimization purposes
2021-08-23 12:44:26 +02:00
Fernando García Liñán
8662ce0a86
HDR: Add SMAA as the default antialiasing technique
2021-08-23 01:05:41 +02:00
Fernando García Liñán
b79d09d45f
HDR: Prevent materials with roughness=0 from blowing out the lighting
2021-08-22 18:01:30 +02:00
Fernando García Liñán
b52fe3bf34
HDR: Remove glass.eff minimum alpha hack
2021-08-19 20:19:55 +02:00
Fernando García Liñán
7ff31e9004
HDR: Properly handle AC3D transparent materials
2021-08-19 18:20:37 +02:00
Fernando García Liñán
765a7d88f5
HDR: Use precomputed uniforms in the skydome shader
2021-08-19 14:06:25 +02:00
Fernando García Liñán
94f4007793
HDR: Use precomputed uniforms for atmospheric scattering
2021-08-19 12:50:16 +02:00
Fernando García Liñán
212f8fdab9
HDR: Add support for glTF transparent objects
2021-08-19 01:42:32 +02:00
Fernando García Liñán
05994100ea
HDR: Better handling of model-combined for backwards compatibility
2021-08-18 12:27:03 +02:00
Fernando García Liñán
f5bc6df9fb
HDR: Use a reversed depth buffer to increase precision and avoid Z-fighting
2021-08-17 20:58:48 +02:00
Fernando García Liñán
13df616ca6
HDR: Support glTF models
2021-08-16 17:10:01 +02:00
Fernando García Liñán
4d34115177
HDR: Increase maximum distance of aerial perspective
2021-07-31 19:13:19 +02:00
Fernando García Liñán
467468ef3a
HDR: Improve exposure and bloom handling
2021-07-31 19:13:19 +02:00
Fernando García Liñán
526491790e
HDR: Improve envmap pre-filtering
2021-07-31 19:13:19 +02:00
Fernando García Liñán
5c1c28c536
HDR: Improve PBR Effect
2021-07-31 19:13:19 +02:00
Fernando García Liñán
871654c16f
HDR: Better handling of the Sun
...
Add transmittance to the Sun illuminance value to get correct colors at every time of day.
Also improved the Sun disk rendering.
2021-07-31 19:13:19 +02:00
Fernando García Liñán
a00f7ddfaf
HDR: Fix Earth appearing to be "rounder" than normal
...
We have to compensate for the fact that the sky-view LUT contains the view from the camera, but the skydome remains fixed on the ground.
2021-07-29 11:55:01 +02:00
Fernando García Liñán
af29642423
HDR: miscellaneous changes
...
- Add an utility linearizeDepth function to help visualize the depth buffer for debug purposes.
- Use 'color0' instead of 'color' for all color attachments.
- Do not write to the HDR buffer if a fragment doesn't need shading (depth = 1).
2021-07-29 08:45:17 +02:00
Fernando García Liñán
760db3ba6d
HDR: gracefully handle situations where the viewer is below the ground
2021-07-28 11:37:33 +02:00
Fernando García Liñán
9b9ae5cf38
HDR pipeline: even better atmospheric scattering
...
Implementation of "A Scalable and Production Ready Sky and Atmosphere Rendering Technique" by Sébastien Hillaire (2020).
2021-07-28 09:40:04 +02:00
Fernando García Liñán
016585e176
HDR pipeline: Use MRT to prefilter the environment map
2021-07-26 17:21:20 +02:00
Fernando García Liñán
9eaef501c7
HDR pipeline: a lot of improvements to atmospheric scattering
2021-07-26 12:11:37 +02:00
Fernando García Liñán
1215f1eba2
HDR pipeline: add placeholder shaders for WS 3.0
2021-07-24 13:35:53 +02:00
Fernando García Liñán
96313e7eb0
Initial commit of the HDR pipeline
2021-07-23 07:46:05 +02:00