20,741
edits
m (→Status:  https://sourceforge.net/p/flightgear/mailman/message/36339347/)  | 
				|||
| Line 56: | Line 56: | ||
== Status ==  | == Status ==  | ||
*   | 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 ==  | ||