1
0
Fork 0
Commit graph

634 commits

Author SHA1 Message Date
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
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
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
d15b61e9b5 Reorganize the shadow mapping functions
- Removed the multiple return statements, as they can be problematic with older GLSL 120 compilers
- Removed debug flags
- Moved code to separate functions for readability
- Reduced the band size to 0.1 to make more use of the higher quality cascades
2021-06-17 18:18:27 +02:00
Fernando García Liñán
49fa42faac Add shaders for osgText 2021-05-14 22:45:36 +02:00
Erik Hofman
8c01478ed8 It's now possible to create a overrides of water colour and shallowness for waterbodies through regional definitions. Note: Overrides are constant and apply throughout the waterbody. This is mainly useful for inland waterbodies.
- Added overrides as parameter values for: water floor_colour (vec3 RBG colours. Range: 0 to 1. Defaults: old inland map colour, a blue ocean colour.), water_shallowness (Same as depth map texture. Range: 0 to 1. Defaults: 1.0 inland, 0.7 ocean). The corresponding texture lookup branches are also gated by these uniform flags for performance reasons.
2021-05-10 11:52:45 +02:00
Erik Hofman
3ae3f95abd Use the alpha channel of the depth map 2021-05-09 14:26:18 +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
Erik Hofman
79e1ca771f Perfect the water depth calculation based on water colors 2021-05-03 14:36:07 +02:00
Erik Hofman
d145a52ac1 I forgot that the ocean depth was in the alpha channel but work around that by using the RGB colors to do the same 2021-05-02 13:01:52 +02: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
4099044b65 Fix incorrect lightmap intensity with lightmap-multi=0 2021-04-15 11:12:07 +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
Scott Giese
101ff86ec5 Revert "White Text Issue: Initial shaders"
This reverts commit eb88b44dbe.
2021-03-01 21:11:29 -06:00
Scott Giese
eb88b44dbe White Text Issue: Initial shaders 2021-02-27 00:27:53 -06:00
Stuart Buchanan
d887e4b22d WS30: Add Texture rotation to ALS shader 2021-02-02 15:24:41 +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
James Turner
9355d464c1 Fix shader-based buildings on AMD/macOS 2021-01-22 20:59:34 +00:00
Erik Hofman
40e871a911 Implement a simple snow shader for the low quality levels 2021-01-19 11:10:44 +01:00
Fernando García Liñán
63fbe7d525 Fix missing forward declaration in forest shader 2021-01-10 16:40:05 +01:00
Fernando García Liñán
21a6e20701 Tweak shadow offset parameters and cascade ranges
This should hopefully fix some shadow acne edge cases.
2021-01-05 11:24:19 +01: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
Fernando García Liñán
b3237e207a Add clustered shading support to most Effects and shaders 2020-12-22 10:53:31 +01:00
Fernando García Liñán
a058bed4d5 (Another) significant rework of the clustered shading feature 2020-12-22 10:53:31 +01:00
Stuart Buchanan
ba89f4c153 WS30: Improved material atlas
Add
- texture size
- shininess
- diffuse
- specular

from material.xml into the fragment shader via sampler1D.
2020-12-08 21:15:13 +00:00
Fernando García Liñán
00b465b84f Decrease shadow mapping bias and better 3rd cascade depth range 2020-12-06 14:44:03 +01:00
Stuart Buchanan
3e3593119c WS30: Shader change to use texture atlas
These changes use the generated Texture2DArray for
texture lookup, supporting arbritary sets of material
textures.
2020-12-05 13:11:59 +00:00
Fernando García Liñán
3f489619c5 Fix landmass geometry shader errors
It was using features from GLSL 120 and 150. Only use 120 features for now.
2020-12-03 23:24:40 +01:00
Scott Giese
5512934374 Photoscenery: patch to fix missed merge items.
Author: Nathaniel Warner
2020-11-23 20:55:30 -06:00
Scott Giese
76f7f1b698 Photoscenery: Initial commit
Author: Nathaniel Warner
2020-11-23 19:48:01 -06:00
Fernando García Liñán
7c16104149 Add the possibility to use shadow mapping on model-interior 2020-11-17 17:21:01 +01:00
Fernando García Liñán
ed3cbf96ff Make model-interior use a separate vertex shader
generic-ALS-base.vert uses shadows, while model-interior does not.
2020-11-17 00:57:56 +01:00
Fernando García Liñán
fc33a8d71a Fix non-ALS runway shader not implementing shadows 2020-11-17 00:41:02 +01:00
Fernando García Liñán
a3a8f9123e Make Compositor default
- Remove all Compositor Effects and Shaders.
- Unify the low-spec and ALS pipelines in a single pipeline called 'Classic'.
- Readd shadow mapping.
- Move the WS30 Effect and fragment shader out of the Compositor-specific directories.
2020-11-16 13:46:30 +01:00