Skip to content

Commit 6fd9b72

Browse files
committed
Additions to gl wrapper.h, particularly NV_PATH extensions
1 parent 493df67 commit 6fd9b72

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

include/cinder/gl/wrapper.h

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ enum UniformSemantic {
6565
CI_API class Context* context();
6666
CI_API class Environment* env();
6767

68+
//! Ovewrites the local static environment variable, only useful from external (dll) plugins.
69+
CI_API void setEnvironment( Environment* environment );
70+
6871
CI_API void enableVerticalSync( bool enable = true );
6972
CI_API bool isVerticalSyncEnabled();
7073

@@ -358,6 +361,44 @@ CI_API ivec3 getMaxComputeWorkGroupCount();
358361
CI_API ivec3 getMaxComputeWorkGroupSize();
359362
#endif
360363

364+
// texture and framebuffer direct-manipulation
365+
CI_API inline void texParameteri( GLenum target, GLenum pname, GLint param ) { glTexParameteri( target, pname, param ); }
366+
CI_API inline void generateMipmap( GLenum target ) { glGenerateMipmap( target ); }
367+
CI_API inline void framebufferTexture2D( GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level )
368+
{ glFramebufferTexture2D( target, attachment, textarget, texture, level ); }
369+
370+
#if defined( CINDER_GL_HAS_NV_PATH )
371+
CI_API inline void textureBarrierNV() { glTextureBarrierNV(); }
372+
373+
// fixed-function compatability context glColor*() wrappers
374+
CI_API inline void compatColor( const Color &color ) { glColor3fv( &color.r ); }
375+
CI_API inline void compatColor( const ColorA &color ) { glColor4fv( &color.r ); }
376+
CI_API inline void compatColor( const Color8u &color ) { glColor3ubv( &color.r ); }
377+
CI_API inline void compatColor( const ColorA8u &color ) { glColor4ubv( &color.r ); }
378+
379+
// NV_path_rendering extension
380+
CI_API inline GLuint genPathsNV( GLsizei range ) { return glGenPathsNV( range ); }
381+
CI_API inline void deletePathsNV( GLuint path, GLsizei range ) { glDeletePathsNV( path, range ); }
382+
CI_API inline void pathStringNV( GLuint path, GLenum format, GLsizei length, const void *pathString ) { glPathStringNV( path, format, length, pathString ); }
383+
CI_API inline void pathCommandsNV( GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords )
384+
{ glPathCommandsNV( path, numCommands, commands, numCoords, coordType, coords); }
385+
CI_API inline void pathParameteriNV( GLuint path, GLenum pname, GLint value ) { glPathParameteriNV( path, pname, value ); }
386+
CI_API inline void pathParameterfNV( GLuint path, GLenum pname, GLfloat value ) { glPathParameterfNV( path, pname, value ); }
387+
CI_API inline void pathTexGenNV( GLenum texCoordSet, GLenum genMode, int components, const float *coeffs ) { glPathTexGenNV( texCoordSet, genMode, components, coeffs ); }
388+
CI_API inline void pathColorGenNV( GLenum color, GLenum genMode, GLenum colorMode, const float *coeffs ) { glPathColorGenNV( color, genMode, colorMode, coeffs ); }
389+
CI_API inline void getPathParameterfvNV( GLuint path, GLenum pname, GLfloat *value ) { glGetPathParameterfvNV( path, pname, value ); }
390+
CI_API inline void pathCoverDepthFuncNV( GLenum zfunc ) { glPathCoverDepthFuncNV( zfunc ); }
391+
CI_API inline void stencilFillPathNV( GLuint path, GLenum fillMode, GLuint mask ) { glStencilFillPathNV( path, fillMode, mask ); }
392+
CI_API inline void stencilStrokePathNV( GLuint path, int reference, GLuint mask ) { glStencilStrokePathNV( path, reference, mask ); }
393+
CI_API inline void coverFillPathNV( GLuint path, GLenum coverMode ) { glCoverFillPathNV( path, coverMode ); }
394+
CI_API inline void coverStrokePathNV( GLuint path, GLenum coverMode ) { glCoverStrokePathNV( path, coverMode ); }
395+
CI_API inline void stencilFillPathInstancedNV( GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const float *transformValues )
396+
{ glStencilFillPathInstancedNV( numPaths, pathNameType, paths, pathBase, fillMode, mask, transformType, transformValues ); }
397+
CI_API inline void coverFillPathInstancedNV( GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const float *transformValues )
398+
{ glCoverFillPathInstancedNV( numPaths, pathNameType, paths, pathBase, coverMode, transformType, transformValues ); }
399+
CI_API inline void matrixLoadfEXT( GLenum matrixMode, const float *m ) { glMatrixLoadfEXT( matrixMode, m ); }
400+
#endif // defined( CINDER_GL_HAS_NV_PATH )
401+
361402
// Debug
362403
#if defined( CINDER_GL_HAS_KHR_DEBUG )
363404
//! Pushes a named debug group into the command stream

0 commit comments

Comments
 (0)