version 3.3

VRS::SharedContextGL Class Reference

OpenGL-specific VRS Context. More...

#include <vrs/opengl/sharedcontextgl.h>

Inheritance diagram for VRS::SharedContextGL:

VRS::SharedObj VRS::Visitable

List of all members.

Public Member Functions

 SharedContextGL ()
virtual ~SharedContextGL ()
PBufferManagerGLpbufferManager () const
GLuint getDisplayList (SharedObj *obj)
GLuint newDisplayList (SharedObj *obj)
void invalidateDisplayList (SharedObj *obj)
GLuint getTextureObject (SharedObj *obj, GLenum target)
GLuint newTextureObject (SharedObj *obj, GLenum target)
void invalidateTextureObject (SharedObj *obj)
GLuint getFrameBufferObject (SharedObj *obj, GLenum target)
GLuint newFrameBufferObject (SharedObj *obj, GLenum target)
void invalidateFrameBufferObject (SharedObj *obj)
GLuint getRenderBuffer (SharedObj *obj, GLenum target)
GLuint newRenderBuffer (SharedObj *obj, GLenum target)
void invalidateRenderBuffer (SharedObj *obj)
GLuint getNVProgram (SharedObj *obj)
GLuint newNVProgram (SharedObj *obj)
void invalidateNVProgram (SharedObj *obj)
GLuint getARBProgram (SharedObj *obj)
GLuint newARBProgram (SharedObj *obj)
void invalidateARBProgram (SharedObj *obj)
GLhandleARB getGenericObject (SharedObj *obj)
GLhandleARB newGenericObject (SharedObj *obj, GLhandleARB handle)
void invalidateGenericObject (SharedObj *obj)
void invalidateBufferObject (GLuint id)
void cleanUp ()
 VRS_TYPEINFO (SharedContextGL, SharedObj)

Classes

struct  CallbackData


Detailed Description

OpenGL-specific VRS Context.

Constructor & Destructor Documentation

VRS::SharedContextGL::SharedContextGL (  ) 

virtual VRS::SharedContextGL::~SharedContextGL (  )  [virtual]

An OpenGL shared context stores whatever is specific for an OpenGL context, e.g., display lists, texture objects, and config information. If two OpenGL renderers do share the same SharedContextGL, they share display lists and texture objects.


Member Function Documentation

PBufferManagerGL* VRS::SharedContextGL::pbufferManager (  )  const

pbuffers and their management can be shared among different engines. So the PBufferManagerGL is created and stored by the SharedContextGL and can be requested by this method.

GLuint VRS::SharedContextGL::getDisplayList ( SharedObj obj  ) 

GLuint VRS::SharedContextGL::newDisplayList ( SharedObj obj  ) 

The context stores a dictionary of display lists, indexed by shapes. This functions provide access to it.

void VRS::SharedContextGL::invalidateDisplayList ( SharedObj obj  ) 

`invalidateDisplayList' is used to mark a display list as no longer used. This list is stored and will eventually be deleted in the next call to `cleanUp'.

GLuint VRS::SharedContextGL::getTextureObject ( SharedObj obj,
GLenum  target 
)

GLuint VRS::SharedContextGL::newTextureObject ( SharedObj obj,
GLenum  target 
)

The context stores a dictionary of texture objects, indexed by textures. This functions provide access to it.

void VRS::SharedContextGL::invalidateTextureObject ( SharedObj obj  ) 

`invalidateTextureObject' is used to mark a texture objects as no longer used. This object is stored and will eventually be deleted in the next call to `cleanUp'.

GLuint VRS::SharedContextGL::getFrameBufferObject ( SharedObj obj,
GLenum  target 
)

GLuint VRS::SharedContextGL::newFrameBufferObject ( SharedObj obj,
GLenum  target 
)

The context stores a dictionary of frame buffer objects, indexed by frame buffer objects. This functions provide access to it.

void VRS::SharedContextGL::invalidateFrameBufferObject ( SharedObj obj  ) 

`invalidateFrameBufferObject' is used to mark a frame buffer object as no longer used. This object is stored and will eventually be deleted in the next call to `cleanUp'.

GLuint VRS::SharedContextGL::getRenderBuffer ( SharedObj obj,
GLenum  target 
)

GLuint VRS::SharedContextGL::newRenderBuffer ( SharedObj obj,
GLenum  target 
)

The context stores a dictionary of renderbuffer, indexed by renderbuffer objects. This functions provide access to it.

void VRS::SharedContextGL::invalidateRenderBuffer ( SharedObj obj  ) 

`invalidateRenderBuffer' is used to mark a renderbuffer as no longer used. This object is stored and will eventually be deleted in the next call to `cleanUp'.

GLuint VRS::SharedContextGL::getNVProgram ( SharedObj obj  ) 

GLuint VRS::SharedContextGL::newNVProgram ( SharedObj obj  ) 

The context stores a dictionary of NVidia vertex or fragment program ids, indexed by NVidia vertex or fragment program attributes. These functions provide access to them.

void VRS::SharedContextGL::invalidateNVProgram ( SharedObj obj  ) 

`invalidateVertexProgramNV' is used to mark a NVidia vertex or fragment program as no longer used. This program is stored and will eventually be deleted in the next call to `cleanUp'.

GLuint VRS::SharedContextGL::getARBProgram ( SharedObj obj  ) 

GLuint VRS::SharedContextGL::newARBProgram ( SharedObj obj  ) 

The context stores a dictionary of ARB vertex or fragment program ids, indexed by ShaderProgramGL attributes. These functions provide access to them.

void VRS::SharedContextGL::invalidateARBProgram ( SharedObj obj  ) 

`invalidateVertexProgramARB' is used to mark an ARB vertex or fragment program as no longer used. This program is stored and will eventually be deleted in the next call to `cleanUp'.

GLhandleARB VRS::SharedContextGL::getGenericObject ( SharedObj obj  ) 

GLhandleARB VRS::SharedContextGL::newGenericObject ( SharedObj obj,
GLhandleARB  handle 
)

The context stores a dictionary of generic objects as defined by the ARB_shader_objects extensions. These are currently used for ARB_vertex_shaders and ARB_fragment_shaders. These functions provide access to generic objects.

void VRS::SharedContextGL::invalidateGenericObject ( SharedObj obj  ) 

`invalidateGenericObject' is used to mark generic object as no longer used. It will eventually be deleted in the next call to `cleanUp'.

void VRS::SharedContextGL::invalidateBufferObject ( GLuint  id  ) 

`invalidateBufferObject' is used to mark a buffer objects as no longer used. This object is stored and will eventually be deleted in the next call to `cleanUp'.

void VRS::SharedContextGL::cleanUp (  ) 

`cleanUp' deletes unused display lists and texture objects. This method must be called by the engines using this context in every frame, before any cache is rendered, i.e. in start. The method assumes that the context is current.

VRS::SharedContextGL::VRS_TYPEINFO ( SharedContextGL  ,
SharedObj   
)


The documentation for this class was generated from the following file:

Generated on Tue May 22 06:00:24 2012 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact