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,
73 NONSOLID_SEPARATE_BACKFACE_PASS
93 void setAbortCallback(SoGLRenderAbortCB *
const func,
void *
const userdata);
94 void getAbortCallback(SoGLRenderAbortCB * & func_out,
void * & userdata_out)
const;
99 void setSmoothing(
const SbBool smooth);
100 SbBool isSmoothing(
void)
const;
101 void setNumPasses(
const int num);
102 int getNumPasses(
void)
const;
103 void setPassUpdate(
const SbBool flag);
104 SbBool isPassUpdate(
void)
const;
105 void setPassCallback(SoGLRenderPassCB *
const func,
void *
const userdata);
106 void setCacheContext(
const uint32_t context);
107 uint32_t getCacheContext(
void)
const;
109 void addDelayedPath(
SoPath * path);
110 SbBool isRenderingDelayedPaths(
void)
const;
112 SbBool handleTransparency(SbBool istransparent = FALSE);
113 void setCurPass(
const int passnum,
const int numpasses);
114 int getCurPass(
void)
const;
115 SbBool abortNow(
void);
117 void setRenderingIsRemote(SbBool isremote);
118 SbBool getRenderingIsRemote(
void)
const;
122 void addPreRenderCallback(SoGLPreRenderCB * func,
void * userdata);
123 void removePreRenderCallback(SoGLPreRenderCB * func,
void * userdata);
125 void setSortedLayersNumPasses(
int num);
126 int getSortedLayersNumPasses(
void)
const;
129 SoGLSortedObjectOrderCB * cb = NULL,
130 void * closure = NULL);
132 void setDelayedObjDepthWrite(SbBool write);
133 SbBool getDelayedObjDepthWrite(
void)
const;
135 SbBool isRenderingTranspPaths(
void)
const;
136 SbBool isRenderingTranspBackfaces(
void)
const;
139 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:76
@ ABORT
Definition SoGLRenderAction.h:77
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:71
@ ONE_PASS
Definition SoGLRenderAction.h:72
AbortCode SoGLRenderAbortCB(void *userdata)
Definition SoGLRenderAction.h:87
SortedObjectOrderStrategy
Definition SoGLRenderAction.h:80
@ BBOX_CLOSEST_CORNER
Definition SoGLRenderAction.h:82
@ BBOX_FARTHEST_CORNER
Definition SoGLRenderAction.h:83
@ BBOX_CENTER
Definition SoGLRenderAction.h:81
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:52