Changes

Jump to navigation Jump to search
237 bytes added ,  19:05, 27 February 2018
m
no edit summary
Line 9: Line 9:  
}}
 
}}
   −
A '''Compositor''' is a rendering pipeline configured by the [[Property Tree]]. Every configurable element of the pipeline wraps a OpenGL/OSG object and exposes its parameters to the property tree.
+
A '''Compositor''' is a rendering pipeline configured by the [[Property Tree]]. Every configurable element of the pipeline wraps an OpenGL/OSG object and exposes its parameters to the property tree. This way, the rendering pipeline becomes dynamically-reconfigurable at runtime.
    
Related efforts: [[Howto:Canvas_View_Camera_Element]]
 
Related efforts: [[Howto:Canvas_View_Camera_Element]]
Line 19: Line 19:  
A buffer represents a texture or, more generically, a region of GPU memory. Textures can be of any type allowed by OpenGL: 1D, 2D, rectangle, 2Darray, 3D or cubemap.
 
A buffer represents a texture or, more generically, a region of GPU memory. Textures can be of any type allowed by OpenGL: 1D, 2D, rectangle, 2Darray, 3D or cubemap.
   −
A typical property tree structure describing a buffer may be as follows:
+
A typical [[PropertyList XML File|property tree structure]] describing a buffer may be as follows:
    
<syntaxhighlight lang="xml">
 
<syntaxhighlight lang="xml">
Line 36: Line 36:  
=== Passes ===
 
=== Passes ===
   −
A pass wraps around a osg::Camera. As of February 2018 there are two types of passes:
+
A pass wraps around an [http://public.vrac.iastate.edu/vancegroup/docs/OpenSceneGraphReferenceDocs-3.0/a00089.html osg::Camera]. As of February 2018, there are two types of passes supported:
   −
* '''scene'''. Renders a scene. The scene can be an already loaded scene graph node (terrain, aircraft etc.) or a path to a custom model.
+
* '''scene'''. Renders a scene. The scene can be an already loaded scene graph node (terrain, aircraft etc.) or a path to a custom 3D model.
 
* '''quad'''. Renders a fullscreen quad with an optional effect applied. Useful for screen space shaders (like SSAO, Screen Space Reflections or bloom) and deferred rendering.
 
* '''quad'''. Renders a fullscreen quad with an optional effect applied. Useful for screen space shaders (like SSAO, Screen Space Reflections or bloom) and deferred rendering.
   Line 63: Line 63:  
[[File:Canvas&Compositor test.png|thumb|A fullscreen quad with a shader that colors everything magenta is rendered to a buffer, which is displayed by a Canvas Image.]]
 
[[File:Canvas&Compositor test.png|thumb|A fullscreen quad with a shader that colors everything magenta is rendered to a buffer, which is displayed by a Canvas Image.]]
   −
Apart from serving as a debugging tool for visualizing the contents of a buffer, integrating the Compositor with [[Canvas]] allows aircraft developers to access RTT capabilities. Compositor buffers can be accessed within Canvas via the Canvas Image protocol '''buffer://'''. For example, the path buffer://test-compositor/test-buffer displays the buffer test-buffer declared in test-compositor.
+
Apart from serving as a debugging tool for visualizing the contents of a buffer, integrating the Compositor with [[Canvas]] allows aircraft developers to access RTT capabilities. Compositor buffers can be accessed within Canvas via a new custom Canvas Image protocol '''buffer://'''. For example, the path <code>buffer://test-compositor/test-buffer</code> displays the buffer test-buffer declared in test-compositor.
    
<syntaxhighlight lang="nasal">
 
<syntaxhighlight lang="nasal">

Navigation menu