Compositor: Difference between revisions

Jump to navigation Jump to search
513 bytes removed ,  13 June 2019
no edit summary
No edit summary
No edit summary
Line 1: Line 1:
{{Template:Non-stable|version=2019.2|build_flags=-DENABLE_COMPOSITOR|progress=80}}
{{Template:Non-stable|version=2019.2|build_flags=-DENABLE_COMPOSITOR|progress=100}}




Line 8: Line 8:
|image      = ALS Compositor pipeline.jpg
|image      = ALS Compositor pipeline.jpg
|name        = Compositor Subsystem
|name        = Compositor Subsystem
|started    = 01/2018 (Available since FlightGear 2018.4.0)
|started    = 01/2018 (Available since FlightGear 2019.2)
|description = Dynamic rendering pipeline configured via the property tree and XML
|description = Dynamic rendering pipeline configured via the property tree and XML
|status      = Under active development as of 02/2019
|status      = Stable
|maintainers = none
|developers  = Fernando García Liñán
|developers  = Icecode
|folders =  
|folders =  
* {{flightgear file|src/Viewer}}
* {{flightgear file|src/Viewer}}
Line 47: Line 46:
   |script_version = 0.36  
   |script_version = 0.36  
   }}</ref>
   }}</ref>


Zan's original patches can still be found in his newcameras branches which allow the user to define the rendering pipeline in preferences.xml:
Zan's original patches can still be found in his newcameras branches which allow the user to define the rendering pipeline in preferences.xml:
Line 67: Line 65:
Since the early days of Zan's groundwork, providing the (hooks) infrastructure to enable base package developers to prototype, test and develop distinct rendering pipelines without requiring C++ space modifications has been a long-standing idea, especially after the [[Canvas]] system became available in early 2012, which demonstrated how RTT-rendering buffers (FBOs) could be set up, created and manipulated procedurally (i.e. at run-time) using XML, the property tree and [[Nasal]] scripting. <ref>https://forum.flightgear.org/search.php?st=0&sk=t&sd=d&sr=posts&keywords=zan++rembrandt+canvas</ref>
Since the early days of Zan's groundwork, providing the (hooks) infrastructure to enable base package developers to prototype, test and develop distinct rendering pipelines without requiring C++ space modifications has been a long-standing idea, especially after the [[Canvas]] system became available in early 2012, which demonstrated how RTT-rendering buffers (FBOs) could be set up, created and manipulated procedurally (i.e. at run-time) using XML, the property tree and [[Nasal]] scripting. <ref>https://forum.flightgear.org/search.php?st=0&sk=t&sd=d&sr=posts&keywords=zan++rembrandt+canvas</ref>


The new '''Compositor''' is an improved re-implementation of Zan's original work using not just XML, but also [[Property Tree|properties]] and a handful of [[Canvas]] concepts (i.e. property-driven subsystems).
The new '''Compositor''' is an improved re-implementation of Zan's original work using not just XML, but also [[Property Tree|properties]] and a handful of [[Canvas]] concepts.


== Status ==
== Status ==
'''04/2019'''
'''06/2019'''


The Compositor is in an usable state right now: it works but there are no effects or pipelines developed for it. There are also some bugs and features that don't work as expected because of some hardcoded assumptions in the FlightGear Viewer code. The next step would be to migrate ALS and Rembrandt effects and from there we can start adding new features. For that the Effects framework needs to know about the existence of the Compositor so it can choose between different implementations of the same Effect depending on the Compositor being used.
The Compositor core is complete and stable. Effects and shaders still need to be adapted to the Compositor.


== Features ==
== Features ==
343

edits

Navigation menu