1
0
Fork 0
Commit graph

66 commits

Author SHA1 Message Date
Fernando García Liñán
161ff44981 HDR: Attempt to fix aerial perspective NaNs 2024-02-09 14:04:40 +01:00
Fernando García Liñán
7b5255eac4 HDR: Safer divisions 2024-02-08 22:37:07 +01:00
Fernando García Liñán
c032a41cd6 HDR: Fix logarithmic depth in building effect 2024-01-31 17:42:44 +01:00
Fernando García Liñán
73a55a71c5 HDR: Implement a logarithmic depth buffer 2024-01-31 01:17:50 +01:00
Fernando García Liñán
7e0b22e5b7 HDR: Add night vision effect 2024-01-26 15:19:22 +01:00
Fernando García Liñán
3e9ec9bf6a HDR: New blackout/redout effect 2024-01-26 01:11:44 +01:00
Fernando García Liñán
23ff6494fd HDR: Remove emission from text shader for now 2024-01-22 18:52:06 +01:00
Fernando García Liñán
7fc735b1de HDR: Add support for osgText 2024-01-19 18:33:14 +01:00
Fernando García Liñán
e8c75e7599 HDR: Fix texture animations 2024-01-19 17:51:33 +01:00
Fernando García Liñán
aa213b1c46 HDR: Separate fog from aerosols 2024-01-08 19:08:16 +01:00
Fernando García Liñán
6041eed8f7 HDR: Improve the parametrization of the atmosphere 2024-01-08 18:26:24 +01:00
Fernando García Liñán
7b0211031a HDR: Improve stars rendering
Previously we did not take into account the atmospheric transmittance
to render the stars, leading to stars being incorrectly rendered in
low visibility conditions.

Also place the stars in the correct render bin.
2024-01-07 16:18:55 +01:00
Fernando García Liñán
746532f098 HDR: Render the Moon, stars and planets
Moon textures have been adapted from the following webpage:

https://svs.gsfc.nasa.gov/4720
NASA's Scientific Visualization Studio
2023-11-06 14:56:45 +01:00
Fernando García Liñán
e12afa0a7d HDR: Fix "floating" shadows in Screen Space Shadows 2023-10-04 02:41:22 +02:00
Stuart Buchanan
ea982e075c WS30 HDR: Use interface blocks 2023-05-08 19:44:37 +01:00
Fernando García Liñán
5f4f51c8ea HDR: Add support for glTF emissive objects 2023-05-04 06:09:36 +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
d38e6bffd6 HDR: Fix building vertex attributes 2023-04-28 23:02:42 +02:00
Fernando García Liñán
649e2a0574 HDR: Simplify water shader 2023-04-28 04:58:24 +02:00
Fernando García Liñán
631bc13e94 HDR: Add tree shaders 2023-04-23 23:11:51 +02:00
Fernando García Liñán
4ab57b15c2 HDR: Add missing GL extension 2023-04-23 21:30:29 +02:00
Fernando García Liñán
8a28ac7131 HDR: Add support for random and OSG buildings 2023-04-23 21:26:26 +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
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