1 #ifndef COIN_SORENDERMANAGER_H
2 #define COIN_SORENDERMANAGER_H
36 #include <Inventor/SbColor4f.h>
37 #include <Inventor/SbVec2s.h>
38 #include <Inventor/actions/SoGLRenderAction.h>
49 class SoRenderManagerP;
51 typedef void SoRenderManagerRenderCB(
void * userdata,
class SoRenderManager * mgr);
60 CLEARZBUFFER = 0x0002,
72 void setEnabled(
SbBool yes);
73 int getStateFlags(
void)
const;
77 static void changeCB(
void * data,
SoSensor * sensor);
78 class SuperimpositionP * pimpl;
95 QUAD_BUFFER = SEPARATE_OUTPUT,
114 virtual void render(
const SbBool clearwindow = TRUE,
115 const SbBool clearzbuffer = TRUE);
118 const SbBool initmatrices = TRUE,
119 const SbBool clearwindow = TRUE,
120 const SbBool clearzbuffer = TRUE);
122 Superimposition * addSuperimposition(
SoNode * scene,
124 Superimposition::AUTOREDRAW |
125 Superimposition::ZBUFFERON |
126 Superimposition::CLEARZBUFFER);
127 void removeSuperimposition(Superimposition * s);
129 virtual void setSceneGraph(
SoNode *
const sceneroot);
130 virtual SoNode * getSceneGraph(
void)
const;
135 void setAutoClipping(AutoClippingStrategy autoclipping);
136 AutoClippingStrategy getAutoClipping(
void)
const;
137 void setNearPlaneValue(
float value);
138 float getNearPlaneValue(
void)
const;
139 void setTexturesEnabled(
const SbBool onoff);
140 SbBool isTexturesEnabled(
void)
const;
141 void setDoubleBuffer(
const SbBool enable);
142 SbBool isDoubleBuffer(
void)
const;
143 void setRenderMode(
const RenderMode mode);
144 RenderMode getRenderMode(
void)
const;
145 void setStereoMode(
const StereoMode mode);
146 StereoMode getStereoMode(
void)
const;
147 void setStereoOffset(
const float offset);
148 float getStereoOffset(
void)
const;
150 void setRenderCallback(SoRenderManagerRenderCB * f,
151 void *
const userData = NULL);
153 SbBool isAutoRedraw(
void)
const;
154 void setRedrawPriority(
const uint32_t priority);
155 uint32_t getRedrawPriority(
void)
const;
157 void scheduleRedraw(
void);
158 void setWindowSize(
const SbVec2s & newsize);
159 const SbVec2s & getWindowSize(
void)
const;
160 void setSize(
const SbVec2s & newsize);
161 const SbVec2s & getSize(
void)
const;
162 void setOrigin(
const SbVec2s & newOrigin);
163 const SbVec2s & getOrigin(
void)
const;
166 void setBackgroundColor(
const SbColor4f & color);
167 const SbColor4f & getBackgroundColor(
void)
const;
168 void setOverlayColor(
const SbColor4f & color);
170 void setBackgroundIndex(
const int index);
171 int getBackgroundIndex(
void)
const;
172 void setRGBMode(
const SbBool onOrOff);
173 SbBool isRGBMode(
void)
const;
174 virtual void activate(
void);
175 virtual void deactivate(
void);
177 void setAntialiasing(
const SbBool smoothing,
const int numPasses);
178 void getAntialiasing(SbBool & smoothing,
int & numPasses)
const;
184 static void enableRealTimeUpdate(
const SbBool flag);
185 static SbBool isRealTimeUpdateEnabled(
void);
186 static uint32_t getDefaultRedrawPriority(
void);
188 void addPreRenderCallback(SoRenderManagerRenderCB * cb,
void * data);
189 void removePreRenderCallback(SoRenderManagerRenderCB * cb,
void * data);
191 void addPostRenderCallback(SoRenderManagerRenderCB * cb,
void * data);
192 void removePostRenderCallback(SoRenderManagerRenderCB * cb,
void * data);
194 void reinitialize(
void);
197 int isActive(
void)
const;
205 const SbBool initmatrices = TRUE,
206 const SbBool clearwindow = TRUE,
207 const SbBool clearzbuffer = TRUE);
212 SbBool clearzbuffer);
217 SbBool clearzbuffer);
219 void initStencilBufferForInterleavedStereo(
void);
220 void clearBuffers(SbBool color, SbBool depth);
223 void attachRootSensor(
SoNode *
const sceneroot);
224 void attachClipSensor(
SoNode *
const sceneroot);
225 void detachRootSensor(
void);
226 void detachClipSensor(
void);
227 static void nodesensorCB(
void * data,
SoSensor *);
230 SoRenderManagerP * pimpl;
231 friend class SoRenderManagerP;
233 friend class Superimposition;
237 #endif // !COIN_SORENDERMANAGER_H
Definition: SoRenderManager.h:106
StereoMode
Definition: SoRenderManager.h:91
The SoCamera class is the abstract base class for camera definition nodes.
Definition: SoCamera.h:64
Definition: SoRenderManager.h:56
Definition: SoRenderManager.h:83
The SbColor4f class contains the red, green, blue and alpha components which make up a color value...
Definition: SbColor4f.h:42
Definition: SoRenderManager.h:96
The SoNode class is the base class for nodes used in scene graphs.
Definition: SoNode.h:56
AutoClippingStrategy
Definition: SoRenderManager.h:105
The SoNodeSensor class detects changes to nodes.
Definition: SoNodeSensor.h:38
Definition: SoRenderManager.h:94
Definition: SoRenderManager.h:107
BufferType
Definition: SoRenderManager.h:100
The SoSensor class is the abstract base class for all sensors.
Definition: SoSensor.h:43
The SoRenderManager class is used for controlling the rendering of a scene graph. ...
Definition: SoRenderManager.h:53
Definition: SoRenderManager.h:84
TransparencyType
Definition: SoGLRenderAction.h:61
The SoAudioRenderAction class renders the aural parts of the scene graph.
Definition: SoAudioRenderAction.h:42
Definition: SoRenderManager.h:92
The SoOneShotSensor class is a sensor which will trigger once.
Definition: SoOneShotSensor.h:38
Definition: SoRenderManager.h:93
Definition: SoRenderManager.h:85
Definition: SoRenderManager.h:82
The SoEvent class is the base class for all Coin events.
Definition: SoEvent.h:45
The SoSceneManager class provides the main interface between the scene graph and the GUI toolkit...
Definition: SoSceneManager.h:53
RenderMode
Definition: SoRenderManager.h:81
Definition: SoRenderManager.h:87
The SbViewportRegion class is a viewport within a full window.
Definition: SbViewportRegion.h:40
Definition: SoRenderManager.h:86
Definition: SoRenderManager.h:101
The SbVec2s class is a 2 dimensional vector with short integer coordinates.
Definition: SbVec2s.h:51
The SoGLRenderAction class renders the scene graph with OpenGL calls.
Definition: SoGLRenderAction.h:50