Compositor: Difference between revisions

2,092 bytes added ,  28 October 2018
m
→‎Status: https://sourceforge.net/p/flightgear/mailman/message/36339347/
m (→‎Status: https://sourceforge.net/p/flightgear/mailman/message/36339347/)
Line 56: Line 56:


== Status ==
== Status ==
* 02/2018 Passes now support both input and output textures.
Fernando has been working on and off on multi-pass rendering support for
FlightGear since late 2017. It went through several iterations and
design changes, but he think it's finally on the right track. It's
heavily based on the Ogre3D Compositor and inspired by many
data-driven rendering pipelines. Its features include:
 
* Completely independent of other parts of the simulator, i.e. it's
part of SimGear and can be used in a standalone fashion if needed, ala
Canvas.
* Although independent, its aim is to be fully compatible with the
current rendering framework in FG. This includes the Effects system,
CameraGroup, Rembrandt and ALS (and obviously the Canvas).
* Its functionality overlaps Rembrandt: what can be done with
Rembrandt can be done with the Compositor, but not vice versa.
* Fully configurable via a XML interface without compromising
performance (ala Effects, using PropertyList files).
* Optional at compile time to aid merge request efforts.
* 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.
 
Unlike Rembrandt, the Compositor makes use of scene graph cameras
instead of viewer level cameras.
 
This allows CameraGroup to manage windows, near/far cameras and other
slaves without interfering with what is being rendered
(post-processing, shadows...).
 
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. Still, I think it's time to
announce it so people much more knowledgeable than me can point me in
the right direction to get this upstream and warn me about possible
issues and worries. :)
 
A screenshot showing post-processed gaussian blur and a blue filter:
https://i.imgur.com/Zzxre8a.png


== Use Cases ==
== Use Cases ==