1,746
edits
(add info: VR support for FG project, web installer for windows) |
(Add info about HDR pipeline prototype being added to next. Cleanup) |
||
| Line 43: | Line 43: | ||
Web installers for release candidate are automatically generated from 2020.3.9 onwards, and will be available from [http://download.flightgear.org/builds/ download.flightgear.org] along with the normal installer. | Web installers for release candidate are automatically generated from 2020.3.9 onwards, and will be available from [http://download.flightgear.org/builds/ download.flightgear.org] along with the normal installer. | ||
===The road ahead=== | ===The road ahead=== | ||
''See [[FlightGear Newsletter | ''See '''[[FlightGear Newsletter July 2021#Help wanted|Help Wanted]]'''.'' | ||
There are a lot of big projects that are currently under way - see the [[FlightGear Newsletter January 2021#The%20road%20ahead|January newsletter]] for details for some of these projects. A lot of work (but not all) is already on the next branch (i.e. nightly builds). See | There are a lot of big projects that are currently under way - see the [[FlightGear Newsletter January 2021#The%20road%20ahead|January newsletter]] for details for some of these projects. A lot of work (but not all) is already on the next branch (i.e. nightly builds). See below for info on an experimental rendering pipeline that has just been added to the next branch, as well as a new project to add Virtual Reality headset support to FlightGear. | ||
There is a lot to check out if you are curious - power users can run [[$FG HOME#Parallel%20installs%20of%20FlightGear|multiple installs]] of FlightGear in parallel. To contribute to any aspect of these projects, get in touch via the "[[Mailing lists|fg-devel]]" mailing list. | |||
Nightly builds with some of the big changes are available at [http://download.flightgear.org/builds/nightly/ download.flightgear.org] as usual. | Nightly builds with some of the big changes are available at [http://download.flightgear.org/builds/nightly/ download.flightgear.org] as usual. | ||
| Line 52: | Line 54: | ||
Please report bugs and issues via the sourceforge [https://sourceforge.net/p/flightgear/codetickets/ tickets] system if you come across any on the next branch, or LTS. | Please report bugs and issues via the sourceforge [https://sourceforge.net/p/flightgear/codetickets/ tickets] system if you come across any on the next branch, or LTS. | ||
=== Virtual reality (VR) support project === | ====New rendering pipeline for Compositor - HDR pipeline==== | ||
Fernando has been experimenting with adding new rendering feature, using the capabilities of the [[Compositor]] - see page for the new [[HDR Pipeline|HDR pipeline]]. The work is "''*very*'' ''experimental''", as Fernando said. The first commit has been added to the FlightGear next branch - this is a ''very limited'' prototype that is not yet fit for even bug reporting. | |||
For those curious to see the prototype, just switch to the HDR pipeline: | |||
* using the following [[Command line options|command-line option]]: --compositor=Compositor/HDR/hdr | |||
* To enable the command-line option simply copy/paste the line into the [[FlightGear Qt launcher]] > Settings > Additional Settings, or use the command-line or add it to the fgfsrc file | |||
* Note: If FG crashes or you encounter issues, you may have to start on a [[Howto:Carrier|Carrier]] like the Harry S Truman, or use the C172p/UFO. It may be that only NVIDIA cards are supported currently until the sim transitions to OpenGL 3+ in the core | |||
See Fernando's post about the first merge on the mailing list : '''https://sourceforge.net/p/flightgear/mailman/message/37325148/''' | |||
'''Naming clarification''' | |||
Although the pipeline is called the "HDR pipeline", it's really a suite of rendering improvements in addition to a different HDR implementation. It's sort of the way ALS framework contains a huge amount of features besides Advanced Light Scattering (including creating forest or terrain detail), and the ALS name was chosen to distinguish it from the 'Default' and 'Rembrandt' renderers which are now obsolete in the next branch. Similarly HDR pipeline name is just something to distinguish it from the suite of features in the current ALS rendering pipeline, which is currently planned to be called the "Classic" renderer in an upcoming UI revamp (no single name can cover all the different features of a rendering pipeline - so in the planned GUI, actual rendering features will be listed in the UI and there will be toggles to enable features as applicable). | |||
'''OpenGL requirements''' | |||
The new rendering pipeline(s) will assume a higher version of OpenGL in future (needed for World scenery 3.0 among other things), which is one of the many big projects that are being worked on. Currently the ''prototype'' HDR pipeline on the next branch needs a GPU and drivers that support ''OpenGL version 3.0'' or later. | |||
'''Compositor and rendering pipelines''' | |||
The Compositor is a framework to define rendering pipelines - so far the work has been to port the ALS renderer to the new framework, and add the distinguishing features of the old unmaintained Rembrandt renderer like shadows and environmental light definitions without being slow. The idea is to port existing features from both renderers to ensure everything works - the next preview release or LTS will transition to the Compositor. The next LTS will have the existing features as the classic rendering pipeline alongside any new pipelines that are finished, so there's no need to worry about performance hits of features from the new pipeline making very old hardware too slow to run FG. | |||
'''New HDR pipeline''' | |||
The new HDR pipeline work builds on top of existing ALS pipeline. It investigates changing the physical model of aircraft surfaces (to something involving a version of PBR), adding lighting of surfaces from light bouncing off surrounding surfaces including real-time reflections, and implementing a new way of doing HDR algorithm using the new physically based surface model. Some tunable artistic glow (known as [https://en.wikipedia.org/wiki/Bloom_(shader_effect) bloom]) is also supported. The new pipeline is built on top of existing work, and will use the fast shadows and lights added to the ALS port. Fernando hasn't found a way to re-use occlusion data (data about what is visible in the view and what isn't, so invisible geometry can be skipped to speed up rendering) between passes in current Open Scene Graph (OSG), so he is using a deferred rendering approach in the prototype to overcome this OSG limitation - it means that anti-aliasing is restricted to post-processing that looks at the rendered image and tries to detect edges and blur them to remove jagged lines. | |||
The current plan is to support {{Wikipedia|GlTF|GlTF}} (Graphics Language Transmission Format) as an alternative for 3d models in future - it supports the new surface model natively. This format also supports binary data (GLB file extension), and these will be smaller than AC files. | |||
As Fernando said, this is all very WiP and experimental - it's an investigation of various approaches like a lot of development. Plans can change. There is no timeline, and progress can vary based on availability of volunteers. | |||
[[HDR Pipeline#Gallery|WiP screenshots]] from April - keep in mind this is very proof of concept using existing art not especially designed to take advantage of the new surface models, and it only works on aircraft carriers / over the sea. It's not an end-user demo of how a craft designed for these pipeline features will look when done, and shows features that people familiar with rendering and what's been tested can pick up on. | |||
==== Virtual reality (VR) support project ==== | |||
James Hogan, a brand new contributor (not to be confused with James Turner or James Hester), has been working on a ''very'' experimental/WiP project adding support for {{Wikipedia|Virtual reality headset|Virtual Reality ('''VR''') headsets}} to FlightGear. The project needs the [[Compositor]] and next branch of FlightGear (nightly builds), It will not work on 2020.3.x LTS. The work is still very experimental and has not been merged into the FlightGear next branch as of late July. | James Hogan, a brand new contributor (not to be confused with James Turner or James Hester), has been working on a ''very'' experimental/WiP project adding support for {{Wikipedia|Virtual reality headset|Virtual Reality ('''VR''') headsets}} to FlightGear. The project needs the [[Compositor]] and next branch of FlightGear (nightly builds), It will not work on 2020.3.x LTS. The work is still very experimental and has not been merged into the FlightGear next branch as of late July. | ||
The reason that Virtual Reality support has not been worked on by core developers interested in relevant areas to date is that they do not have access to a VR headset - various developers have indicated in the past they are willing to provide support to people interested in adding VR support, or even willing to assist implementation if VR headset companies, companies of required supporting products like high-end GPUs, or others were willing to sponsor/donate VR hardware - e.g. see an old forum [https://forum.flightgear.org/viewtopic.php?f=6&t=34434#p358088 thread] on the topic. This general lack of VR hardware among interested core developers (including the Compositor developer), means it's important for interested contributors who use VR to get involved with development, and for people with VR to contribute with bug reports and testing. This includes testing on various VR headsets - James Hogan is developing on a HTC Vive which is 1 among a {{Wikipedia|Comparison of virtual reality headsets|number of VR headsets}}. | The reason that Virtual Reality support has not been worked on by core developers interested in relevant areas to date is that they do not have access to a VR headset - various developers have indicated in the past they are willing to provide support to people interested in adding VR support, or even willing to assist implementation if VR headset companies, companies of required supporting products like high-end GPUs, or others were willing to sponsor/donate VR hardware - e.g. see an old forum [https://forum.flightgear.org/viewtopic.php?f=6&t=34434#p358088 thread] on the topic. This general lack of VR hardware among interested core developers (including the Compositor developer), means it's important for interested contributors who use VR to get involved with development, and for people with VR to contribute with bug reports and testing. This includes testing on various VR headsets - James Hogan is developing on a HTC Vive which is 1 among a {{Wikipedia|Comparison of virtual reality headsets|number of VR headsets}}. | ||
James Hogan is using {{Wikipedia|OpenXR|OpenXR API}} (https://www.khronos.org/openxr/) that supports multiple headsets and manufacturers. An API is a standard way for applications to 'talk' to the headsets via their drivers - similar to the way OpenGL allows applications to talk to the | James Hogan is using the {{Wikipedia|OpenXR|OpenXR API}} (https://www.khronos.org/openxr/) that supports multiple headsets and manufacturers. An API is a standard way for applications to 'talk' to the headsets via their drivers - similar to the way OpenGL allows applications to talk to the different GPU hardware cia their drivers. JamesH is working on a library called [https://github.com/amalon/osgXR osgXR] to add OpenXR support directly to [[Open Scene Graph]] (OSG) for the purposes of enabling VR support for FlightGear, after feedback from the OSG mailing list. This approach will mean the OSG project will help support and maintain osgXR in future, and non-FlightGear projects using OSG with VR will help extend and maintain osgXR in future. Similarly, Khronos and other non-OSG/non-FLightGear projects will also help maintain the OpenXR standard across new devices in future. This is an example of the strength of the Open Source approach. If you are involved in other projects that use OSG that might be interested in OSG VR support for their applications, you can give them a heads up regarding osgXR adding OpenXR support. | ||
For people compiling from source, the experimental VR branch is available here : '''https://github.com/amalon/flightgear''' | For people compiling from FlightGear from source, the experimental VR branch is available here : '''https://github.com/amalon/flightgear''' | ||
As always with volunteer projects, progress depends on the availability of volunteers including testing, and plans can change in various ways - so there is no timeline. | As always with volunteer projects, progress depends on the availability of volunteers including testing, and plans can change in various ways - so there is no timeline. | ||
edits