1
0
Fork 0
Commit graph

25 commits

Author SHA1 Message Date
Fernando García Liñán
e12afa0a7d HDR: Fix "floating" shadows in Screen Space Shadows 2023-10-04 02:41:22 +02:00
Fernando García Liñán
1e66c4104a HDR: Improved environment mapping
- Terrain and clouds and now rendered on the envmap, with correct aerial
  perspective.
- Each face is rendered on a separate frame to help with performance.
- All faces are updated every 1.5 minutes. This can be changed through a
  property.
2023-05-03 02:03:10 +02:00
Fernando García Liñán
775ca98db3 HDR: Fix typos 2023-04-23 21:26:25 +02:00
Fernando García Liñán
691337a00e HDR: Add separate fog layer to atmosphere
Also use Nasal to feed the shaders' uniforms. Much better than running
the computations on the GPU.
2023-04-21 02:15:42 +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
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
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
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
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
212f8fdab9 HDR: Add support for glTF transparent objects 2021-08-19 01:42:32 +02:00
Fernando García Liñán
e745684c33 HDR: Use a better DFG LUT
The previous one had 8 bit precision, this one has 16 bit precision and is stored on a DDS texture.
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
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
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
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
96313e7eb0 Initial commit of the HDR pipeline 2021-07-23 07:46:05 +02:00