2 #ifndef __FG_RENDERINGPIPELINE_HXX
3 #define __FG_RENDERINGPIPELINE_HXX 1
11 class SGReaderWriterOptions;
19 class FGRenderingPipeline;
20 namespace flightgear {
21 FGRenderingPipeline* makeRenderingPipeline(const std::string& name,
22 const simgear::SGReaderWriterOptions* options);
25 class FGRenderingPipeline : public osg::Referenced {
27 struct Buffer : public osg::Referenced {
28 Buffer(SGPropertyNode* prop);
38 bool shadowComparison;
39 //GLenum shadowTextureMode;
40 //osg::Vec4 borderColor;
43 struct Pass : public osg::Referenced {
44 Pass(SGPropertyNode* prop);
50 struct Attachment : public osg::Referenced {
51 Attachment(SGPropertyNode* prop);
52 Attachment(osg::Camera::BufferComponent c, const std::string& b ) : component(c), buffer(b) {}
54 osg::Camera::BufferComponent component;
58 struct Stage : public osg::Referenced {
59 Stage(SGPropertyNode* prop);
64 std::vector<osg::ref_ptr<Pass> > passes;
65 std::vector<osg::ref_ptr<Attachment> > attachments;
67 FGRenderingPipeline();
69 std::vector<osg::ref_ptr<Buffer> > buffers;
70 std::vector<osg::ref_ptr<Stage> > stages;
72 friend FGRenderingPipeline* flightgear::makeRenderingPipeline(const std::string& name,
73 const simgear::SGReaderWriterOptions* options);