1
0
Fork 0
Commit graph

726 commits

Author SHA1 Message Date
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
Fernando García Liñán
85771b2863 Use different vertex attribute for orthoscenery
See related SimGear commit e8ffe461

Now the orthophoto texture coordinates are contained in gl_TexCoord[2],
so no need to pass any custom vertex attributes to Effects that use
photoscenery.
2023-04-05 23:13:51 +02:00
Stuart Buchanan
71bdd9e99b WS30 - Improved coastline shader
Make the coastline shader consistent between
the coastline texture and the underlying landclass
texture, irrespective of materials.
2023-02-27 22:02:34 +00:00
Benedikt Wolf
1be001a18c Fix wingflex shader to use current effect code. A better way would probably be to just keep the wing flexing part there and then include model-combined, but I couldnt get that to work unfortunately 2023-02-10 10:40:36 +01:00
Stuart Buchanan
ff8cfed80e WS30: Water texture for photoscenery 2022-11-20 19:51:12 +00:00
Stuart Buchanan
4d3466216a WS30: Improve water line features 2022-10-24 19:53:12 +01:00
Stuart Buchanan
dc167d0656 WS30: Improved coastlines
Modify the ws30 shader to build a coastline using
a high resolution overlay texture mixed with the
landclass texture.
2022-05-28 20:44:25 +01:00
Erik Hofman
b169d59c01 Fix too flat shadowing by not completely removing diffuse light but by toning it down instead. There's almost always reflective light bouncing around. 2022-05-15 10:41:37 +02:00
Stuart Buchanan
7ee03dd9da WS30: Clean up unused Uniforms 2022-04-09 17:17:15 +01:00
Stuart Buchanan
fc8342887a WS30: Coastline beaches and cliffs
Landclass information is typically not high enough resolution
to render small beaches and coastline features.

This commit uses the steepness of the elevation mesh
to procedurally generate:
a) sea-cliffs (poorly - just a texture at present)
b) beaches, which mix into translucent shallow water
c) breaking waves (poorly - uses the wind direction rather than the
slope normal)
2022-04-09 16:26:00 +01:00
Fahim Imaduddin Dalvi
f3b455b699 Bugfix: Terrain quality taken into account in model shaders.
Objects like OSM buildings using the `model-combined` effect ignored
the Terrain quality. Rayleigh Fog is computed for the terrain only
at "Ultra" level, but was computed for models at all quality levels,
which led to a visual disparity. The shader now takes into account
the terrain quality before computing rayleigh fog for objects.
The `road` effect also had the same issue and is fixed now.
2022-04-02 21:20:20 +03:00
Chris Ringeval
6f83fe0c34 Allows ALS filters for space shaders 2022-03-03 19:09:22 +00:00
Stuart Buchanan
8bba60772f WS30: Initial shoreline shader
Using steepness to create a shoreline
2022-02-05 16:23:49 +00:00
Stuart Buchanan
98fda02e65 WS30: Combined land and water shader
Previously the water shader was separate and executed on a
different mesh.

This adds the water shader as a separate fragment function
(ws30-water.frag) and uses a material parameter passed in
as a Uniform to use it in preference to the usual texel
lookup.

Performance testing found a slight performance improvement
from having a single mesh, but a slight performance impact
from the extra fragment shader complexity.
2022-02-05 15:24:02 +00:00
Stuart Buchanan
a06298055a MR269 - Added the Milky Way onto the night sky
from Chris RINGEVAL

https://sourceforge.net/p/flightgear/fgdata/merge-requests/269/

Squashed commit of the following:

commit 23194c0fed49609999b4da67b2990af774f7df03
Author: Chris Ringeval <eatdirt@protonmail.com>
Date:   Sun Jan 30 23:52:09 2022 +0100

    Remove CC-BY-SA 3.0 texture provided by EAS and replace it with one made by myself

commit cb30c7972ba3db6b4cb4ad5f9dcd12d7e0ddbc1a
Author: Chris Ringeval <eatdirt@protonmail.com>
Date:   Sun Dec 5 15:49:31 2021 +0100

    Optimize shaders for vram usage and use new uniforms

commit 7541e49c6757a23b08684f1c4354e84b9af3bcc3
Author: Chris Ringeval <eatdirt@protonmail.com>
Date:   Thu Dec 2 17:22:55 2021 +0100

    Reduce the oversized galaxy texture to 400kB

commit 0e6591907a9978077dc6dff1b53dea7c439a6cc4
Author: Chris Ringeval <eatdirt@protonmail.com>
Date:   Tue Nov 30 23:49:24 2021 +0100

    Add Milky Way onto the night sky
2022-02-01 16:19:35 +00:00
James Turner
2d17217a01 Marker-pins FGData changes
From Tobias Dammers
2022-01-27 12:11:24 +00:00
Stuart Buchanan
1bd128bb63 WS30: Clean-up of the WS30 ALS Ultra shader 2022-01-23 15:21:56 +00:00
Stuart Buchanan
49b1b83be2 WS30: Better edge-hardness implementation 2022-01-22 15:48:02 +00:00
Stuart Buchanan
1d76ced7c7 WS30: Fix snow on ALS detailed level (again?) 2022-01-20 22:24:30 +00:00
Stuart Buchanan
4564b30eac WS30: Separate out haze calculations
Previously haze calculations were performed
in the main body of the ws30 shaders (inherited
from the ALS terrain shaders).  This change creates
a common applyHaze function to consistently apply haze.

This is not ws30 specific, and could be used to replace the
haze calculations of all ALS shaders for improved consistency.
2022-01-18 21:13:29 +00:00
Stuart Buchanan
d8110f0b38 WS30: Shader refactoring: common get_material func 2022-01-18 16:57:39 +00:00
Stuart Buchanan
68df0191c0 WS30: add edge-hardness parameter for landclass transitions
Also new use_edge_hardness_with_large_scale_transition const
for testing
2022-01-15 15:04:54 +00:00
Stuart Buchanan
b35f5d6db2 WS30: Road Shader porting from osm2city 2022-01-12 21:32:55 +00:00