1#ifndef COIN_SOGLCACHECONTEXTELEMENT_H
2#define COIN_SOGLCACHECONTEXTELEMENT_H
36#include <Inventor/elements/SoSubElement.h>
43typedef void SoScheduleDeleteCB(
void * closure, uint32_t contextid);
47class COIN_DLL_API SoGLCacheContextElement :
public SoElement {
50 SO_ELEMENT_HEADER(SoGLCacheContextElement);
55 virtual ~SoGLCacheContextElement();
58 virtual void init(SoState * state);
62 static void set(SoState * state,
int context,
63 SbBool twopasstransparency,
64 SbBool remoterendering);
65 static int get(SoState * state);
66 static int getExtID(
const char * str);
82 SoScheduleDeleteCB * cb,
91 friend class SoGLDisplayList;
92 static void scheduleDelete(SoState * state, SoGLDisplayList * dl);
93 static void cleanupContext(uint32_t contextid,
void * closure);
102 enum { RENDERING_UNSET, RENDERING_SET_DIRECT, RENDERING_SET_INDIRECT };
104 SbBool isDirectRendering(SoState * state)
const;
112#include <Inventor/elements/SoGLDisplayList.h>
SoElement(void)
Definition SoElement.cpp:534
virtual SbBool matches(const SoElement *element) const =0
Definition SoElement.cpp:609
static void initClass(void)
Definition SoElement.cpp:507
virtual SoElement * copyMatchInfo(void) const =0
virtual void init(SoState *state)
Definition SoElement.cpp:553
static void incNumSeparators(SoState *state)
Definition SoGLCacheContextElement.cpp:403
static void shouldAutoCache(SoState *state, int bits)
Definition SoGLCacheContextElement.cpp:362
static int resetAutoCacheBits(SoState *state)
Definition SoGLCacheContextElement.cpp:457
static SbBool areMipMapsFast(SoState *state)
Definition SoGLCacheContextElement.cpp:353
static SbBool extSupported(SoState *state, int extid)
Definition SoGLCacheContextElement.cpp:306
static int getExtID(const char *str)
Definition SoGLCacheContextElement.cpp:280
static void getOpenGLVersion(SoState *state, int &major, int &minor)
Definition SoGLCacheContextElement.cpp:337
static int getNumShapes(SoState *state)
Definition SoGLCacheContextElement.cpp:389
static void scheduleDeleteCallback(const uint32_t contextid, SoScheduleDeleteCB *cb, void *closure)
Definition SoGLCacheContextElement.cpp:510
static void setAutoCacheBits(SoState *state, int bits)
Definition SoGLCacheContextElement.cpp:429
static int getNumSeparators(SoState *state)
Definition SoGLCacheContextElement.cpp:417
static int get(SoState *state)
Definition SoGLCacheContextElement.cpp:267
static void set(SoState *state, int context, SbBool twopasstransparency, SbBool remoterendering)
Definition SoGLCacheContextElement.cpp:236
static SbBool getIsRemoteRendering(SoState *state)
Definition SoGLCacheContextElement.cpp:474
static void incNumShapes(SoState *state)
Definition SoGLCacheContextElement.cpp:375
static uint32_t getUniqueCacheContext(void)
Definition SoGLCacheContextElement.cpp:537
The SoGLDisplayList class stores and manages OpenGL display lists.
Definition SoGLDisplayList.h:43