577
edits
m (→Status (07/2014): http://forum.flightgear.org/viewtopic.php?f=17&t=23812) |
|||
Line 381: | Line 381: | ||
Each effect attached to the fullscreen passes define the way blending is done between the pass and the previous accumulation of render. | Each effect attached to the fullscreen passes define the way blending is done between the pass and the previous accumulation of render. | ||
===== C++ implementation ===== | |||
On the C++ side, Rembrandt is set up in those steps: | |||
* ''buildRenderingPipeline()'' is the last common function between forward rendering and deferred rendering. That's the point of start for specific deferred stuff. In this function we call ''buildDeferredPipeline()'' | |||
** ''buildDeferredPipeline()'' is just a wrapper for ''buildCameraFromRenderingPipeline()'' | |||
*** ''buildCameraFromRenderingPipeline()'' is where we initialize all buffers and create all the stages found in ''Effects/default-pipeline.xml'' with the call to ''buildBuffers()'' and ''buildStage()'' | |||
**** ''buildBuffers()'' is where we ask to build each buffer with the call to ''buildDeferredBuffer()'' | |||
***** ''buildDeferredBuffer()'' create a 2D texture | |||
**** ''buildStage()'' is where we ask to build each camera depending on the type of the stage (geometry, lighting, shadow, fullscreen, display) with the call to ''buildDeferred*Camera()'' (where * is the stage type) | |||
***** ''buildDeferred*Camera()''is where we build the camera, for each camera we attach the required buffers with the call to ''buildAttachments()''. | |||
****** ''buildDeferredGeometryCamera()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?] | |||
****** ''buildDeferredShadowCamera()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?] | |||
****** ''buildDeferredLightingCamera()'' Only for the lighting camera (''buildDeferredLightingCamera()'') we have to build passes who is called with ''buildPass()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?] | |||
****** ''buildDeferredFullscreenCamera()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?] | |||
****** ''buildDeferredDisplayCamera()'' c.f [http://wiki.flightgear.org/Project_Rembrandt#What_is_it_.3F What is it ?] | |||
== Running Flightgear with Rembrandt == | == Running Flightgear with Rembrandt == |
edits