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 == |