Vuo  0.5.7
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Macros | Functions
VuoGlContext.cc File Reference

Description

VuoGlContext implementation.

Classes

class  VuoGlContextPool
 A process-wide set of mutually-shared OpenGL contexts. More...
 

Macros

#define VuoGlCheckBinding(pname)
 Check whether the specified attachment point pname is still bound.
 
#define VuoGlCheckTextureBinding(pname, unit)
 Check whether the specified attachment point pname is still bound.
 

Functions

void VuoGlContext_setGlobalRootContext (void *rootContext)
 Specifies a platform-specific context to be used as the base for all of Vuo's shared GL contexts.
 
VuoGlContext VuoGlContext_use (void)
 Finds an unused GL context in the process-wide shared context pool (or creates one if none is available), marks it used, and returns it.
 
void VuoGlContext_disuse (VuoGlContext glContext)
 Throws the specified VuoGlContext back in the pool.
 
void _VGL (CGLContextObj cgl_ctx, const char *file, const unsigned int line, const char *func)
 Helper for VGL().
 

Macro Definition Documentation

#define VuoGlCheckBinding (   pname)
Value:
{ \
GLint value; \
glGetIntegerv(pname, &value); \
if (value) \
VLog(#pname " (value %d) was still active when the context was disused. (This may result in leaks.)", value); \
}

Check whether the specified attachment point pname is still bound.

(This is defined as a macro in order to stringify the argument.)

#define VuoGlCheckTextureBinding (   pname,
  unit 
)
Value:
{ \
GLint value; \
glGetIntegerv(pname, &value); \
if (value) \
VLog(#pname " (texture %d on unit %d) was still active when the context was disused. (This may result in leaks.)", value, unit); \
}

Check whether the specified attachment point pname is still bound.

(This is defined as a macro in order to stringify the argument.)

Function Documentation

void _VGL ( CGLContextObj  cgl_ctx,
const char *  file,
const unsigned int  line,
const char *  func 
)

Helper for VGL().

void VuoGlContext_disuse ( VuoGlContext  glContext)

Throws the specified VuoGlContext back in the pool.

This function may be called from any thread.

void VuoGlContext_setGlobalRootContext ( void *  rootContext)

Specifies a platform-specific context to be used as the base for all of Vuo's shared GL contexts.

On Mac, this should be a CGLContext.

Must be called before any Vuo composition is loaded, and before any other VuoGlContext_* methods.

This function may be called from any thread.

VuoGlContext VuoGlContext_use ( void  )

Finds an unused GL context in the process-wide shared context pool (or creates one if none is available), marks it used, and returns it.

This function may be called from any thread.