1
0
Fork 0
Commit graph

558 commits

Author SHA1 Message Date
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
55410e9d35 HDR: Port chrome.eff 2021-08-25 14:32:22 +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
2443c5bce7 HDR: Fix WS 2.0 ocean tiles and remove hdr-geometry fallback Effect 2021-08-22 18:15:23 +02:00
Stuart Buchanan
a442615c68 WS30: Fix WS30 fragment shaders 2021-08-21 17:15:15 +01: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
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
Fahim Imaduddin Dalvi
81af0f37c2 Shader-based scenery lights.
This commit implements shader-based scenery lights with support for
efficient rendering of a large number of lights, animations and
directionality. Detailed commit log can be found at [1]. Detailed
discussions can be found on the mailing list [2][3][4].

[1] https://sourceforge.net/u/fahimdalvi/fgdata/ci/feat/scenery-shader-lights/~/tree/
[2] (Timed animation stops working in certain configurations) https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/4A7AC359-63B3-4D8A-815B-09823BCEFF27%40gmail.com/#msg37095923
[3] (Shader-based scenery lights) https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/63E3C131-7662-4F59-B2E6-03208C78EF96%40gmail.com/#msg37190517
[4] (Shader-based scenery lights Part 2) https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/74F18179-CA34-4901-A44E-15498ECC230A%40gmail.com/#msg37331695
2021-08-07 21:42:20 +03: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
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
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
James.Hester
c6b526f343 Create overlay mixing scales based on texture scale. 2021-07-26 11:13:00 +01: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
Fernando García Liñán
49fa42faac Add shaders for osgText 2021-05-14 22:45:36 +02:00
Erik Hofman
55209d40b5 Cleanup:
- water.eff: technique 2: air_pollution uniform is not used by water-ALS-base.frag
- water.eff: ocean_flag is now a parameter
- water-inland.eff now inherits from water.eff as it's a copy, except for ocean_flag value
2021-05-10 11:52:28 +02:00
Stuart Buchanan
8a94ffa7e1 WS30 Use proper inheritance for ws30water 2021-05-08 20:41:58 +01:00
Erik Hofman
5abacfbaf4 Also use the new Gray-Alpha texture for water depth information for ws30 water too. 2021-05-07 15:39:48 +02:00
Erik Hofman
e741d069ab Use the new Gray-Alpha texture for water depth information for inland water too 2021-05-07 15:24:47 +02:00
Erik Hofman
055ce55be4 Use a Gray-Alpha texture for water depth information and use the globe-colors.jpg texture for water color. 2021-05-07 15:14:56 +02:00
Stuart Buchanan
c87798c610 WS30i: Initial coastlines 2021-05-03 15:47:13 +01:00
Erik Hofman
6d0c1439f0 There is no reason not to keep ocean_depth_1 as a JPEG file saving around 120MB of diskspace (and installer space) 2021-05-01 12:55:16 +02:00
Fernando García Liñán
3497d531fc Add dummy techniques to model-combined.eff
This should fix issues with empty techniques in effects inheriting from model-combined.
2021-04-29 12:44:58 +02:00
Stuart Buchanan
4db5d00c16 Simplify building.eff, fix lack of orthoTexCoord 2021-04-25 21:36:02 +01:00
James Turner
bde07c8862 Fix inherits-from breaking lightmap.eff fallback 2021-04-22 10:29:59 +01:00
Fernando García Liñán
23f908665f Fix random buildings shader errors 2021-04-16 07:46:35 +02:00
Fernando García Liñán
b6c0e65a38 Fix terrain-overlay.eff not properly checking for geometry shaders 2021-04-02 21:44:17 +02:00
Fernando García Liñán
69387f09f4 Reduce shader complexity and implement graphics presets
- All non-ALS Effects have been removed (except generic ones from model-default and terrain-default).
- The rendering dialog has been reworked to accomodate the changes.
- All necessary properties have been added to graphics-properties.xml
- Five graphics presets have been added: Minimal, Low, Medium, High and Ultra.
- Some unused properties have been removed from defaults.xml
2021-03-31 04:05:34 +02:00
Stuart Buchanan
bd4b4ffbec WS30: Clean up WS30 Effect.
Remove redundant and possibly confusing texture assignment
2021-03-28 19:48:14 +01:00
Stuart Buchanan
0e578c1e78 WS30: Initial Water Effect and configuration
Separate Effect and configuration in landclass-mapping.xml
to identify which landclasses should use it.
2021-03-20 21:52:36 +00:00
Erik Hofman
f3ded8b3c2 Add support for snow on the rooftops 2021-03-02 11:51:27 +01:00
Scott Giese
09d6163ef7 Maintenance: cityLM Effort
remove leading slash
2021-02-27 00:26:39 -06:00
Stuart Buchanan
9d357e58e6 WS30: Improve ALS frame-rate
... by removing depth buffer check for scenery.
2021-02-06 18:01:58 +00:00
Stuart Buchanan
580c375d4b WS30: Use perlin texture to reduce tiling
Use a perlin noise texture to rotate some of the landclass
textures to reduce tiling.

Also add a quality=1 technique which uses it.
2021-01-26 20:17:17 +00:00
Stuart Buchanan
d058b514f2 WS30: Add basic shaders 2021-01-23 17:15:12 +00:00
Fernando García Liñán
916322d0ed Add clustered shading support to most Effects and shaders 2020-12-23 11:10:34 +01:00
Fernando García Liñán
7158dfdff3 Revert "Add clustered shading support to most Effects and shaders"
This reverts commit b3237e207a.
2020-12-22 17:22:05 +01:00