343
edits
No edit summary |
No edit summary |
||
Line 19: | Line 19: | ||
}} | }} | ||
The '''Compositor''' aims to bring multi-pass rendering to FlightGear. It encapsulates a rendering pipeline and exposes its parameters to | The '''Compositor''' aims to bring multi-pass rendering to FlightGear. It encapsulates a rendering pipeline and exposes its parameters to a [[Property Tree]] interface. At startup, FlightGear reads the pipeline definition file for each physical viewport defined on the [[Howto:Configure camera view windows|CameraGroup settings]]. If no Compositor file is specified for a physical camera, the one given by the <code>--compositor=</code> startup command will be used. If such startup option is not used either, FlightGear will look for a valid Compositor file in $FG_ROOT/Compositor/default.xml | ||
The Compositor introduces a new dedicated fgdata directory for new/custom rendering pipelines: $FG_ROOT/Compositor: {{Fgdata file|Compositor}}. | The Compositor introduces a new dedicated fgdata directory for new/custom rendering pipelines: $FG_ROOT/Compositor: {{Fgdata file|Compositor}}. | ||
Line 83: | Line 82: | ||
* Flexible, expandable and compatible with modern graphics. | * Flexible, expandable and compatible with modern graphics. | ||
* It doesn't increase the hardware requirements, it expands the hardware range FG can run on. People with integrated GPUs (Intel HD etc) can run a Compositor with a single pass that renders directly to the screen like before, while people with more powerful cards can run a Compositor that implements deferred rendering, for example. | * It doesn't increase the hardware requirements, it expands the hardware range FG can run on. People with integrated GPUs (Intel HD etc) can run a Compositor with a single pass that renders directly to the screen like before, while people with more powerful cards can run a Compositor that implements deferred rendering, for example. | ||
* Static branching support. Every pipeline element can be enabled/disabled at startup via a <condition> block. | |||
== Elements == | == Elements == | ||
Line 261: | Line 261: | ||
* Finish Clustered Forward Rendering. | * Finish Clustered Forward Rendering. | ||
* Some kind of versioning system to be able to make breaking changes in the future if/when the compositor is updated in any significant way, without people having to manually update their configs. | * Some kind of versioning system to be able to make breaking changes in the future if/when the compositor is updated in any significant way, without people having to manually update their configs. | ||
* Bring back Canvas integration so aircraft devs have access to the rendering pipeline. This allows to render exterior views in cockpit displays etc. | * Bring back Canvas integration so aircraft devs have access to the rendering pipeline. This allows to render exterior views in cockpit displays etc. | ||
Line 267: | Line 266: | ||
* Setting a buffer scale factor different from 1.0 and rendering to it might not scale the splash screen correctly. | * Setting a buffer scale factor different from 1.0 and rendering to it might not scale the splash screen correctly. | ||
== Related == | == Related == |
edits