1
0
Fork 0
Commit graph

10479 commits

Author SHA1 Message Date
Fahim Imaduddin Dalvi
c0e1e31674 Implement instancing for scenery objects
This commit implements instancing for scenery objects by introducing a
OBJECT_INSTANCED verb in stg files. Instances can be defined by their
positions, rotations and scales. The framework also supports extending
object instancing with custom effects, including an additional colorization
effect that allows for setting the colors for each instance of the same
model.

Detailed commit history can be found at [1], and mailing list discussions
at [2].

[1] https://sourceforge.net/u/fahimdalvi/fgdata/ci/feat/scenery-object-instancing/~/tree/
[2] https://sourceforge.net/p/flightgear/mailman/flightgear-devel/thread/7381A03F-BF5B-45E7-AAF3-5288B7DEDFFA%40gmail.com/#msg37617087

Squashed commit of the following:

commit 2af16b3dfa859eff8b9d96e1b9256e8d872d28c5
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Sat Feb 24 10:24:12 2024 +0300

    Update documentation for instancing

    Add details on optional parameters and the order of transformations.

commit f0fda25c196fbb46063abdd30be63ebbc4285841
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Sat Feb 24 10:15:17 2024 +0300

    Add low-spec shaders for object instancing.

commit bcf6e15523750ea9d1578a48de736073a37ea2bd
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Fri Feb 16 14:54:26 2024 +0300

    Add documentation

commit a4b889b40543f70c4e9c9d6002f853547c6fb373
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Tue Feb 13 17:32:11 2024 +0300

    Use header file defined indices for vertex attributes

    Vertex attributes were hardcoded across the code, this commit changes
    the implementation to use constants defined in the header file. Also
    change the indices used to be compatible with the future HDR pipeline.

commit 8120544e276161f57dd1aeda645ef52684eab7a7
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Sat Feb 10 22:26:55 2024 +0300

    Clean up shader code

    Use *.glsl library code to minimize duplication across object-instancing*
    shaders. Rename variables to follow Shader Style Guide:
    https://wiki.flightgear.org/Shader_Style_Guide

commit ed864379621c060860c68d46cab054f8f1161f25
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Sat Feb 3 22:23:11 2024 +0300

    Remove unused fragment shader.

commit be80516fff660764dad245cd6389e7616d8d807c
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Sat Feb 3 22:21:15 2024 +0300

    Add support for multiple effects and add a colored instancing effect.

    This commit adds shaders and a corresponding effect for colored
    instanced objects using the new custom attributes provided by the
    corresponding SimGear commit.

commit f758ad00b08578052b815bdf138dae5b3a0e026c
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Sat Feb 3 16:31:15 2024 +0300

    Remove unnecessary inclusion of vertex shader in inherited effect

commit 26fa5ecc8d825ed6902c6a6934a82749839cc9cc
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Wed Oct 18 21:14:18 2023 +0300

    Fix rotation to match normal scenery objects

commit 2a47c3164085d5821944f53a02a55c3bea9ca4ac
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Wed Oct 18 21:13:41 2023 +0300

    Reduce instancing effect to bare minimum

commit c24d4fdbfc295872ec6f47a8f8e002dfa301fd83
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Sat Oct 14 11:30:34 2023 +0300

    Properly handle model/texture/effects

    Simgear:
    Previously, the model was being loaded without any options, this is
    now fixed. *ac models have their effect instantiated manually, while
    *xml models require an explicit <effect> tags. Also, the already
    loaded model node is edited (for adding vertex attributes, statesets
    etc) instead of creating a new node (for deferred texture loading and
    other stuff to work).

    FGData:
    Reverted object-instancing effect to match model-default more closely
    to make texturing work.

commit 17e74fc4cc421c3aa9f08e5bbcd08d8a5b450655
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Sat Sep 9 14:07:35 2023 +0300

    Implement model-default effects for instanced objects.

    Not perfect yet, normal models are quite a bit darker, and we are loading
    the model using OSG directly, instead of SGModelLib.

commit d4734690745bde0652e578174e18ddf4fe799000
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Sat Apr 23 14:52:36 2022 +0300

    Implemented instance rotation and scaling

    This commit adds support for optional per-instance rotation and
    scaling, defaulting to no scaling and rotation if none is specified.

commit dd7256818becb21695487385fe5d4b7fcd33a61e
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Fri Mar 18 09:19:24 2022 +0300

    Implemented texture handling

    The code assumes there is a single texture, and this is applied
    to the single drawable geometry created for instancing. This commit
    breaks texture-less object support for instancing.

commit 547e051459c91ef0abe1b9fe583f0aed59720135
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Sat Feb 26 14:25:57 2022 +0300

    Moved random color generation to shader

commit ab927a8555ca615d2fe51c9fc87b9fb5f6198c3f
Author: Fahim Imaduddin Dalvi <dalvifahim@gmail.com>
Date:   Tue Feb 22 18:32:10 2022 +0300

    Proof of Concept instancing support for scenery objects.
2024-02-24 11:11:12 +03:00
Fernando García Liñán
27618cd36d HDR: WS 3.0 doesn't need a separate orthophoto texcoord 2024-02-10 00:12:59 +01:00
Fernando García Liñán
b00a1f2767 HDR: Fix logarithmic depth in WS 3.0 2024-02-10 00:10:35 +01:00
Fernando García Liñán
a0db21db7f Add Canvas shaders for the core profile 2024-02-09 14:32:24 +01:00
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
dd97ee58db Fix ShaderVG transformation matrices
See SG commit 58bcab3a.
2024-02-08 19:59:21 +01:00
Benedikt Wolf
3904ec4198 Improve Svalbard Material 2024-02-07 14:42:48 +01:00
Benedikt Wolf
23a8e974f2 hitch.nas: Fix documentation typo 2024-02-07 14:42:47 +01:00
Fernando García Liñán
13e66e73af Move ShaderVG shaders to another directory 2024-02-07 00:36:37 +01:00
Stuart Buchanan
4cbf1f6606 Add "vpb" as a valid subdirectory for scenery
See flightgear a6fbe5b37cd77a6feaa85b1d8697b9f88a09b849
2024-02-05 21:10:02 +00:00
Stuart Buchanan
467edf2bb6 WS30: Improved shoreline rendering 2024-02-05 21:08:49 +00: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
TheFGFSEagle
e2af9b603b Make disabled font for menu items more readable (darker) 2024-01-30 15:48:08 +01:00
TheFGFSEagle
06b7ccd3d1 Add support for submenus
Fix submenu bugs
2024-01-30 15:43:43 +01:00
James Hogan
01ca62ffbc
gui/dialogs/vr-options: Make more space for info
Make more space for OpenXR information in the VR options dialog. The
OpenXR Runtime string on Monado is quite long, and VR State can now
include a couple of lines of error messages.
2024-01-30 14:20:52 +00:00
Gijs de Rooy
90ea130d04 Fix Ctrl-M shortcut to open map 2024-01-29 15:24:35 +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
430fc52f4a ShaderVG: Fix missing transformations 2024-01-23 19:23:22 +01:00
Gijs de Rooy
ca261d2652 Checklist dialog: update checklist dropdown upon group selection
Partly tackle #2226
2024-01-23 19:12:15 +01:00
Gijs de Rooy
1dc80d2386 Fix #2759: normalize GPS bearing in dialog 2024-01-23 15:47:44 +01:00
Gijs de Rooy
096aad963a Advanced weather: match thunderstorm pressure to scenario METAR 2024-01-23 09:27:54 +01:00
Gijs de Rooy
a9bce814f6 Advanced weather: do not match 'Fair weather' to 'High pressure core'
Tackle issue #2022: under advanced weather, using high-pressure-core
resulted in weather that did not match the METAR of the 'Fair weather'
scenario (but the 'High pressure core' scenario instead). With this fix
AW will go into METAR mode when fair weather is selected to match the
METAR.
2024-01-23 09:27:54 +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
7b20b1ed0e HDR: Force an envmap update when the weather changes 2024-01-22 01:22:00 +01:00
Fernando García Liñán
cb56d1ef45 HDR: Fix missing parameters in text Effect 2024-01-22 01:21:24 +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
Gijs de Rooy
e61faa738b Canvas tooltips: respect position from node
Previous (faulty) behavior was to always set x and y to 1 when non-nil
2024-01-19 17:25:52 +01:00
Roman Ludwicki
12469f2966 Update Polish translation for Qt 2024-01-19 14:00:43 +01:00
Roman Ludwicki
faf2400623 Update Qt translations files 2024-01-19 13:50:18 +01:00
Gijs de Rooy
f57e3b5ea9 Add link to more user-oriented wiki article in local weather readme
Address issue #2754
2024-01-19 09:24:55 +01:00
Gijs de Rooy
9ec15380aa AI scenario dialog: add headers and equalize column length 2024-01-18 09:28:52 +01:00
Roman Ludwicki
865c5cfe92 Fix typo in description of scenery version 2024-01-15 00:50:55 +01:00
TheFGFSEagle
1b13c1cc43 Make dialog close button actually close the dialog 2024-01-11 14:11:53 +00:00
TheFGFSEagle
ac4b64a01d Add global canvas menu bar 2024-01-11 14:11:53 +00:00
TheFGFSEagle
edf4077402 Add compositor flashlight to the walker to replace the ALS one from Effects/model-combined
See: https://sourceforge.net/p/flightgear/codetickets/2853/

Squashed commit of the following:

commit 28d4891e613f0ec14e13da2db3a1dd294ef0d922
Author: hbeni <beni@hallinger.org>
Date:   Tue Jan 9 08:03:40 2024 +0100

    Walker menu item label changed

    fix #2655
    see: https://sourceforge.net/p/flightgear/codetickets/2655/

commit 61adecd3b7d706ef13462e855ba9c141a8d0995b
Author: hbeni <beni@hallinger.org>
Date:   Mon Jan 8 08:43:36 2024 +0100

    Walker flashlight moved to own XML file and renamed colour-attributes to color

commit ef7c6119506368abc02d9ee0c239d6fa6b0ad6af
Author: hbeni <beni@hallinger.org>
Date:   Sun Jan 7 16:53:11 2024 +0100

    Walker/Flashlight: add CTRL+F as default keybind to toggle modes

commit 55d62498e5a86aa83d0447cce99ff054c0596076
Author: hbeni <beni@hallinger.org>
Date:   Sun Jan 7 16:25:45 2024 +0100

    Dimmed walker flashlight, so it better corresponds to the old c172 one

commit 0c8bc8a6c1c6c07308ddfb4d73ca6cf92fe40cae
Author: hbeni <beni@hallinger.org>
Date:   Sun Jan 7 14:46:47 2024 +0100

    Walker: Add a flashlight

    This adds a compositor based flashlight to the walker model.
    The flashlight currently has three modes: off/white/red.
    It can be toggled using the walker menu entry.
2024-01-09 22:24:09 +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
497f73de80 HDR: Fix incorrect constants 2024-01-08 18:33:17 +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
Stuart Buchanan
00b4275ee8 Updated translations to include WS3.0 launcher txt 2023-12-29 14:08:30 +00:00
Stuart Buchanan
4238bec6fd Update documentation of LINEAR_FEATURE_LIST 2023-12-29 13:09:22 +00:00
Gijs de Rooy
9dc128b9c6 About dialog: update year 2023-12-19 10:49:07 +01:00
Benedikt Wolf
57388cc3b2 Materials: Improve Svalbard islands appearance 2023-12-13 17:42:44 +01:00
Benedikt Wolf
7f6681da5e GPSMap196: Fix path error 2023-12-13 17:42:44 +01:00
Benedikt Wolf
476a7bccb5 Nasal hitch.nas: Update by D-NXKT and Bea Wolf 2023-12-13 17:42:44 +01:00
Gijs de Rooy
9e9c0252f7 Update German map tile URLs 2023-12-11 11:49:20 +01:00