Inventor/elements/SoGLCacheContextElement.h File Reference

#include <Inventor/elements/SoSubElement.h>
#include <Inventor/helpers/SbGlContextHelper.h>
#include <Inventor/threads/SbThreadMutex.h>
#include <SoDeprecationRules.h>

Go to the source code of this file.

Enumerations

enum  AutoCacheMode {
  DO_AUTO_CACHE = 1,
  DONT_AUTO_CACHE = 2
}

Functions

static int getClassStackIndex ()
static void set (SoState *state, int context, SbBool is2PassTransparency, SbBool isRemoteRendering)
static int get (SoState *state)
static int getExtID (const char *str)
static SbBool extSupported (SoState *state, int ext)
static SbBool areMipMapsFast (SoState *state)
static SbBool isCompileModeFaster (SoState *state)
static SoDEPRECATED void shouldAutoCache (SoState *state, AutoCacheMode mode)
static void shouldAutoCache (SoState *state, int bits)
static void setAutoCacheBits (SoState *state, int bits)
static int resetAutoCacheBits (SoState *state)
static SbBool getIsRemoteRendering (SoState *state)
virtual void print (FILE *fp) const

Variables

SoGLCacheContextElement is no
longer supported See section 
http
static int classStackIndex
static SoType classTypeId
SbGlContextHelper::GLContext m_contextGL
int m_sharedGroup
SbBool is2PassTransp
SbBool isRemoteRendering
int autoCacheBits
static SbPListwaitingToBeFreed
static SbIntList * mipmapSupportList
static SbThreadMutex listMutex

Enumeration Type Documentation

Two bits are stored.

Nodes that should be cached will set the DO_AUTO_CACHE bit, nodes that should NOT be cached will set the DONT_AUTO_CACHE bit. By default, DO_AUTO_CACHE is FALSE unless remote rendering is being done. DONT_AUTO_CACHE is FALSE by default. Separators will auto cache if DO_AUTO_CACHE is TRUE and DONT_AUTO_CACHE is FALSE, otherwise they won't auto-cache.

Enumerator:
DO_AUTO_CACHE 
DONT_AUTO_CACHE 

Function Documentation

static SbBool areMipMapsFast ( SoState state  )  [static]

TRUE if mip-mapped textures are known to be fast.

static SbBool extSupported ( SoState state,
int  ext 
) [static]

This routine is pretty quick.

static int get ( SoState state  )  [static]

Gets the current context.

static int getClassStackIndex (  )  [static]

Returns the stack id for this element.

static int getExtID ( const char *  str  )  [static]

Methods to quickly figure out if an OpenGL extension is available at run-time.

This is the slow routine-- convert from a string to an integer. The integer should be saved to do quick lookups:

static SbBool getIsRemoteRendering ( SoState state  )  [static]
static SbBool isCompileModeFaster ( SoState state  )  [static]

TRUE if we think GL_COMPILE is faster than GL_COMPILE_AND_EXECUTE.

virtual void print ( FILE *  fp  )  const [virtual]

Prints element (for debugging).

static int resetAutoCacheBits ( SoState state  )  [static]

Used by Separators to set/reset the auto-caching bits.

static void set ( SoState state,
int  context,
SbBool  is2PassTransparency,
SbBool  isRemoteRendering 
) [static]

Sets the current context.

This is done by the renderAction; theoretically, a node that redirected the GL rendering context to another X server would also set this. This also frees up any display lists that are waiting for the context to become valid. The third argument indicates whether 2-pass transparency is in effect (as for DELAYED or SORTED blending), which means that caches containing transparent objects may not be valid. The fourth argument should be TRUE if remote rendering is being done; the SoSeparator auto-caching algorithm uses this information to help decide whether or not to build caches.

static void setAutoCacheBits ( SoState state,
int  bits 
) [static]

Used by Separators to set/reset the auto-caching bits.

static void shouldAutoCache ( SoState state,
int  bits 
) [static]

Called by nodes to say that they should/shouldn't be auto-cached (pass TRUE if should, FALSE if shouldn't, don't call this method at all if the node doesn't care):.

static SoDEPRECATED void shouldAutoCache ( SoState state,
AutoCacheMode  mode 
) [static]

Called by nodes to say that they should/shouldn't be auto-cached (pass TRUE if should, FALSE if shouldn't, don't call this method at all if the node doesn't care):.

Deprecated:

Deprecated since Open Inventor 9620
Use SoGLRenderAction::shouldAutoCache(AutoCacheMode mode) instead.

Variable Documentation

int classStackIndex [static]
SoType classTypeId [static]
SoGLCacheContextElement is no longer supported See section http
SbIntList* mipmapSupportList [static]

Open Inventor Toolkit reference manual, generated on 12 Feb 2024
Copyright © Thermo Fisher Scientific All rights reserved.
http://www.openinventor.com/