1#ifndef COIN_SOGLRENDERACTION_H
2#define COIN_SOGLRENDERACTION_H
36#include <Inventor/actions/SoAction.h>
37#include <Inventor/actions/SoSubAction.h>
38#include <Inventor/SbBasic.h>
39#include <Inventor/SbViewportRegion.h>
40#include <Inventor/system/inttypes.h>
41#include <Inventor/lists/SoPathList.h>
42#include <Inventor/lists/SbList.h>
44typedef void SoGLRenderPassCB(
void * userdata);
45typedef void SoGLPreRenderCB(
void * userdata,
class SoGLRenderAction * action);
46typedef float SoGLSortedObjectOrderCB(
void * userdata,
SoGLRenderAction * action);
48class SoGLRenderActionP;
63 ADD, DELAYED_ADD, SORTED_OBJECT_ADD,
64 BLEND, DELAYED_BLEND, SORTED_OBJECT_BLEND,
75 NONSOLID_SEPARATE_BACKFACE_PASS
95 void setAbortCallback(SoGLRenderAbortCB *
const func,
void *
const userdata);
96 void getAbortCallback(SoGLRenderAbortCB * & func_out,
void * & userdata_out)
const;
101 void setSmoothing(
const SbBool smooth);
102 SbBool isSmoothing(
void)
const;
103 void setNumPasses(
const int num);
104 int getNumPasses(
void)
const;
105 void setPassUpdate(
const SbBool flag);
106 SbBool isPassUpdate(
void)
const;
107 void setPassCallback(SoGLRenderPassCB *
const func,
void *
const userdata);
108 void setCacheContext(
const uint32_t context);
109 uint32_t getCacheContext(
void)
const;
111 void addDelayedPath(
SoPath * path);
112 SbBool isRenderingDelayedPaths(
void)
const;
114 SbBool handleTransparency(SbBool istransparent = FALSE);
115 void setCurPass(
const int passnum,
const int numpasses);
116 int getCurPass(
void)
const;
117 SbBool abortNow(
void);
119 void setRenderingIsRemote(SbBool isremote);
120 SbBool getRenderingIsRemote(
void)
const;
124 void addPreRenderCallback(SoGLPreRenderCB * func,
void * userdata);
125 void removePreRenderCallback(SoGLPreRenderCB * func,
void * userdata);
127 void setSortedLayersNumPasses(
int num);
128 int getSortedLayersNumPasses(
void)
const;
131 SoGLSortedObjectOrderCB * cb = NULL,
132 void * closure = NULL);
134 void setDelayedObjDepthWrite(SbBool write);
135 SbBool getDelayedObjDepthWrite(
void)
const;
137 SbBool isRenderingTranspPaths(
void)
const;
138 SbBool isRenderingTranspBackfaces(
void)
const;
141 friend class SoGLRenderActionP;
Definition SbPimplPtr.h:55
The SbVec2f class is a 2 dimensional vector with floating point coordinates.
Definition SbVec2f.h:49
The SbViewportRegion class is a viewport within a full window.
Definition SbViewportRegion.h:40
The SoAction class is the base class for all traversal actions.
Definition SoAction.h:77
virtual void invalidateState(void)
Definition SoAction.cpp:821
static void initClass(void)
Definition SoAction.cpp:370
virtual void beginTraversal(SoNode *node)
Definition SoAction.cpp:1269
virtual void endTraversal(SoNode *node)
Definition SoAction.cpp:1279
The SoGLRenderAction class renders the scene graph with OpenGL calls.
Definition SoGLRenderAction.h:50
AbortCode
Definition SoGLRenderAction.h:78
@ ABORT
Definition SoGLRenderAction.h:79
TransparencyType
Definition SoGLRenderAction.h:61
@ BLEND
Definition SoGLRenderAction.h:64
@ SCREEN_DOOR
Definition SoGLRenderAction.h:62
@ SORTED_OBJECT_SORTED_TRIANGLE_BLEND
Definition SoGLRenderAction.h:67
@ NONE
Definition SoGLRenderAction.h:68
@ SORTED_OBJECT_SORTED_TRIANGLE_ADD
Definition SoGLRenderAction.h:66
@ ADD
Definition SoGLRenderAction.h:63
TransparentDelayedObjectRenderType
Definition SoGLRenderAction.h:73
@ ONE_PASS
Definition SoGLRenderAction.h:74
AbortCode SoGLRenderAbortCB(void *userdata)
Definition SoGLRenderAction.h:89
SortedObjectOrderStrategy
Definition SoGLRenderAction.h:82
@ BBOX_CLOSEST_CORNER
Definition SoGLRenderAction.h:84
@ BBOX_FARTHEST_CORNER
Definition SoGLRenderAction.h:85
@ BBOX_CENTER
Definition SoGLRenderAction.h:83
The SoNode class is the base class for nodes used in scene graphs.
Definition SoNode.h:56
The SoPath class is a container class for traversal path descriptions.
Definition SoPath.h:83