--[[// cggl cgGL | Cg OpenGL runtime typedef unsigned int GLuint; typedef unsigned int GLenum; typedef void GLvoid; typedef int GLsizei; typedef int GLint; typedef enum { CG_GL_MATRIX_IDENTITY = 0, CG_GL_MATRIX_TRANSPOSE = 1, CG_GL_MATRIX_INVERSE = 2, CG_GL_MATRIX_INVERSE_TRANSPOSE = 3, CG_GL_MODELVIEW_MATRIX = 4, CG_GL_PROJECTION_MATRIX = 5, CG_GL_TEXTURE_MATRIX = 6, CG_GL_MODELVIEW_PROJECTION_MATRIX = 7, CG_GL_VERTEX = 8, CG_GL_FRAGMENT = 9, CG_GL_GEOMETRY = 10, CG_GL_TESSELLATION_CONTROL = 11, CG_GL_TESSELLATION_EVALUATION = 12 } CGGLenum; CGbool cgGLIsProfileSupported(CGprofile profile); void cgGLEnableProfile(CGprofile profile); void cgGLDisableProfile(CGprofile profile); CGprofile cgGLGetLatestProfile(CGGLenum profile_type); void cgGLSetOptimalOptions(CGprofile profile); char const ** cgGLGetOptimalOptions(CGprofile profile); void cgGLLoadProgram(CGprogram program); void cgGLUnloadProgram(CGprogram program); CGbool cgGLIsProgramLoaded(CGprogram program); void cgGLBindProgram(CGprogram program); void cgGLUnbindProgram(CGprofile profile); GLuint cgGLGetProgramID(CGprogram program); void cgGLSetParameter1f(CGparameter param, float x); void cgGLSetParameter2f(CGparameter param, float x, float y); void cgGLSetParameter3f(CGparameter param, float x, float y, float z); void cgGLSetParameter4f(CGparameter param, float x, float y, float z, float w); void cgGLSetParameter1fv(CGparameter param, const float *v); void cgGLSetParameter2fv(CGparameter param, const float *v); void cgGLSetParameter3fv(CGparameter param, const float *v); void cgGLSetParameter4fv(CGparameter param, const float *v); void cgGLSetParameter1d(CGparameter param, double x); void cgGLSetParameter2d(CGparameter param, double x, double y); void cgGLSetParameter3d(CGparameter param, double x, double y, double z); void cgGLSetParameter4d(CGparameter param, double x, double y, double z, double w); void cgGLSetParameter1dv(CGparameter param, const double *v); void cgGLSetParameter2dv(CGparameter param, const double *v); void cgGLSetParameter3dv(CGparameter param, const double *v); void cgGLSetParameter4dv(CGparameter param, const double *v); void cgGLGetParameter1f(CGparameter param, float *v); void cgGLGetParameter2f(CGparameter param, float *v); void cgGLGetParameter3f(CGparameter param, float *v); void cgGLGetParameter4f(CGparameter param, float *v); void cgGLGetParameter1d(CGparameter param, double *v); void cgGLGetParameter2d(CGparameter param, double *v); void cgGLGetParameter3d(CGparameter param, double *v); void cgGLGetParameter4d(CGparameter param, double *v); void cgGLSetParameterArray1f(CGparameter param, long offset, long nelements, const float *v); void cgGLSetParameterArray2f(CGparameter param, long offset, long nelements, const float *v); void cgGLSetParameterArray3f(CGparameter param, long offset, long nelements, const float *v); void cgGLSetParameterArray4f(CGparameter param, long offset, long nelements, const float *v); void cgGLSetParameterArray1d(CGparameter param, long offset, long nelements, const double *v); void cgGLSetParameterArray2d(CGparameter param, long offset, long nelements, const double *v); void cgGLSetParameterArray3d(CGparameter param, long offset, long nelements, const double *v); void cgGLSetParameterArray4d(CGparameter param, long offset, long nelements, const double *v); void cgGLGetParameterArray1f(CGparameter param, long offset, long nelements, float *v); void cgGLGetParameterArray2f(CGparameter param, long offset, long nelements, float *v); void cgGLGetParameterArray3f(CGparameter param, long offset, long nelements, float *v); void cgGLGetParameterArray4f(CGparameter param, long offset, long nelements, float *v); void cgGLGetParameterArray1d(CGparameter param, long offset, long nelements, double *v); void cgGLGetParameterArray2d(CGparameter param, long offset, long nelements, double *v); void cgGLGetParameterArray3d(CGparameter param, long offset, long nelements, double *v); void cgGLGetParameterArray4d(CGparameter param, long offset, long nelements, double *v); void cgGLSetParameterPointer(CGparameter param, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer); void cgGLEnableClientState(CGparameter param); void cgGLDisableClientState(CGparameter param); void cgGLSetMatrixParameterdr(CGparameter param, const double *matrix); void cgGLSetMatrixParameterfr(CGparameter param, const float *matrix); void cgGLSetMatrixParameterdc(CGparameter param, const double *matrix); void cgGLSetMatrixParameterfc(CGparameter param, const float *matrix); void cgGLGetMatrixParameterdr(CGparameter param, double *matrix); void cgGLGetMatrixParameterfr(CGparameter param, float *matrix); void cgGLGetMatrixParameterdc(CGparameter param, double *matrix); void cgGLGetMatrixParameterfc(CGparameter param, float *matrix); void cgGLSetStateMatrixParameter(CGparameter param, CGGLenum matrix, CGGLenum transform); void cgGLSetMatrixParameterArrayfc(CGparameter param, long offset, long nelements, const float *matrices); void cgGLSetMatrixParameterArrayfr(CGparameter param, long offset, long nelements, const float *matrices); void cgGLSetMatrixParameterArraydc(CGparameter param, long offset, long nelements, const double *matrices); void cgGLSetMatrixParameterArraydr(CGparameter param, long offset, long nelements, const double *matrices); void cgGLGetMatrixParameterArrayfc(CGparameter param, long offset, long nelements, float *matrices); void cgGLGetMatrixParameterArrayfr(CGparameter param, long offset, long nelements, float *matrices); void cgGLGetMatrixParameterArraydc(CGparameter param, long offset, long nelements, double *matrices); void cgGLGetMatrixParameterArraydr(CGparameter param, long offset, long nelements, double *matrices); void cgGLSetTextureParameter(CGparameter param, GLuint texobj); GLuint cgGLGetTextureParameter(CGparameter param); void cgGLEnableTextureParameter(CGparameter param); void cgGLDisableTextureParameter(CGparameter param); GLenum cgGLGetTextureEnum(CGparameter param); void cgGLSetManageTextureParameters(CGcontext ctx, CGbool flag); CGbool cgGLGetManageTextureParameters(CGcontext ctx); void cgGLSetupSampler(CGparameter param, GLuint texobj); void cgGLRegisterStates(CGcontext ctx); void cgGLEnableProgramProfiles(CGprogram program); void cgGLDisableProgramProfiles(CGprogram program); void cgGLSetDebugMode(CGbool debug); CGbuffer cgGLCreateBuffer(CGcontext context, int size, const void *data, GLenum bufferUsage); GLuint cgGLGetBufferObject(CGbuffer buffer); ]] --auto-generated api from ffi headers local api = { ["CGGLenum"] = { type ='value', description = "", valuetype = nil, }, ["CG_GL_MATRIX_IDENTITY"] = { type ='value', }, ["CG_GL_MATRIX_TRANSPOSE"] = { type ='value', }, ["CG_GL_MATRIX_INVERSE"] = { type ='value', }, ["CG_GL_MATRIX_INVERSE_TRANSPOSE"] = { type ='value', }, ["CG_GL_MODELVIEW_MATRIX"] = { type ='value', }, ["CG_GL_PROJECTION_MATRIX"] = { type ='value', }, ["CG_GL_TEXTURE_MATRIX"] = { type ='value', }, ["CG_GL_MODELVIEW_PROJECTION_MATRIX"] = { type ='value', }, ["CG_GL_VERTEX"] = { type ='value', }, ["CG_GL_FRAGMENT"] = { type ='value', }, ["CG_GL_GEOMETRY"] = { type ='value', }, ["CG_GL_TESSELLATION_CONTROL"] = { type ='value', }, ["CG_GL_TESSELLATION_EVALUATION"] = { type ='value', }, ["cgGLIsProfileSupported"] = { type ='function', description = "", returns = "(CGbool)", valuetype = nil, args = "(CGprofile profile)", }, ["cgGLEnableProfile"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGprofile profile)", }, ["cgGLDisableProfile"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGprofile profile)", }, ["cgGLGetLatestProfile"] = { type ='function', description = "", returns = "(CGprofile)", valuetype = nil, args = "(CGGLenum profile_type)", }, ["cgGLSetOptimalOptions"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGprofile profile)", }, ["cgGLGetOptimalOptions"] = { type ='function', description = "", returns = "(char const **)", valuetype = nil, args = "(CGprofile profile)", }, ["cgGLLoadProgram"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGprogram program)", }, ["cgGLUnloadProgram"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGprogram program)", }, ["cgGLIsProgramLoaded"] = { type ='function', description = "", returns = "(CGbool)", valuetype = nil, args = "(CGprogram program)", }, ["cgGLBindProgram"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGprogram program)", }, ["cgGLUnbindProgram"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGprofile profile)", }, ["cgGLGetProgramID"] = { type ='function', description = "", returns = "(GLuint)", valuetype = nil, args = "(CGprogram program)", }, ["cgGLSetParameter1f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, float x)", }, ["cgGLSetParameter2f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, float x, float y)", }, ["cgGLSetParameter3f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, float x, float y, float z)", }, ["cgGLSetParameter4f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, float x, float y, float z, float w)", }, ["cgGLSetParameter1fv"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, const float *v)", }, ["cgGLSetParameter2fv"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, const float *v)", }, ["cgGLSetParameter3fv"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, const float *v)", }, ["cgGLSetParameter4fv"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, const float *v)", }, ["cgGLSetParameter1d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, double x)", }, ["cgGLSetParameter2d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, double x, double y)", }, ["cgGLSetParameter3d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, double x, double y, double z)", }, ["cgGLSetParameter4d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, double x, double y, double z, double w)", }, ["cgGLSetParameter1dv"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, const double *v)", }, ["cgGLSetParameter2dv"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, const double *v)", }, ["cgGLSetParameter3dv"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, const double *v)", }, ["cgGLSetParameter4dv"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, const double *v)", }, ["cgGLGetParameter1f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, float *v)", }, ["cgGLGetParameter2f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, float *v)", }, ["cgGLGetParameter3f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, float *v)", }, ["cgGLGetParameter4f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, float *v)", }, ["cgGLGetParameter1d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, double *v)", }, ["cgGLGetParameter2d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, double *v)", }, ["cgGLGetParameter3d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, double *v)", }, ["cgGLGetParameter4d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, double *v)", }, ["cgGLSetParameterArray1f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, const float *v)", }, ["cgGLSetParameterArray2f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, const float *v)", }, ["cgGLSetParameterArray3f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, const float *v)", }, ["cgGLSetParameterArray4f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, const float *v)", }, ["cgGLSetParameterArray1d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, const double *v)", }, ["cgGLSetParameterArray2d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, const double *v)", }, ["cgGLSetParameterArray3d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, const double *v)", }, ["cgGLSetParameterArray4d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, const double *v)", }, ["cgGLGetParameterArray1f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, float *v)", }, ["cgGLGetParameterArray2f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, float *v)", }, ["cgGLGetParameterArray3f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, float *v)", }, ["cgGLGetParameterArray4f"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, float *v)", }, ["cgGLGetParameterArray1d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, double *v)", }, ["cgGLGetParameterArray2d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, double *v)", }, ["cgGLGetParameterArray3d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, double *v)", }, ["cgGLGetParameterArray4d"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, double *v)", }, ["cgGLSetParameterPointer"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer)", }, ["cgGLEnableClientState"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param)", }, ["cgGLDisableClientState"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param)", }, ["cgGLSetMatrixParameterdr"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, const double *matrix)", }, ["cgGLSetMatrixParameterfr"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, const float *matrix)", }, ["cgGLSetMatrixParameterdc"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, const double *matrix)", }, ["cgGLSetMatrixParameterfc"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, const float *matrix)", }, ["cgGLGetMatrixParameterdr"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, double *matrix)", }, ["cgGLGetMatrixParameterfr"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, float *matrix)", }, ["cgGLGetMatrixParameterdc"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, double *matrix)", }, ["cgGLGetMatrixParameterfc"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, float *matrix)", }, ["cgGLSetStateMatrixParameter"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, CGGLenum matrix, CGGLenum transform)", }, ["cgGLSetMatrixParameterArrayfc"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, const float *matrices)", }, ["cgGLSetMatrixParameterArrayfr"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, const float *matrices)", }, ["cgGLSetMatrixParameterArraydc"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, const double *matrices)", }, ["cgGLSetMatrixParameterArraydr"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, const double *matrices)", }, ["cgGLGetMatrixParameterArrayfc"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, float *matrices)", }, ["cgGLGetMatrixParameterArrayfr"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, float *matrices)", }, ["cgGLGetMatrixParameterArraydc"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, double *matrices)", }, ["cgGLGetMatrixParameterArraydr"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, long offset, long nelements, double *matrices)", }, ["cgGLSetTextureParameter"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, GLuint texobj)", }, ["cgGLGetTextureParameter"] = { type ='function', description = "", returns = "(GLuint)", valuetype = nil, args = "(CGparameter param)", }, ["cgGLEnableTextureParameter"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param)", }, ["cgGLDisableTextureParameter"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param)", }, ["cgGLGetTextureEnum"] = { type ='function', description = "", returns = "(GLenum)", valuetype = nil, args = "(CGparameter param)", }, ["cgGLSetManageTextureParameters"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGcontext ctx, CGbool flag)", }, ["cgGLGetManageTextureParameters"] = { type ='function', description = "", returns = "(CGbool)", valuetype = nil, args = "(CGcontext ctx)", }, ["cgGLSetupSampler"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGparameter param, GLuint texobj)", }, ["cgGLRegisterStates"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGcontext ctx)", }, ["cgGLEnableProgramProfiles"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGprogram program)", }, ["cgGLDisableProgramProfiles"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGprogram program)", }, ["cgGLSetDebugMode"] = { type ='function', description = "", returns = "(void)", valuetype = nil, args = "(CGbool debug)", }, ["cgGLCreateBuffer"] = { type ='function', description = "", returns = "(CGbuffer)", valuetype = nil, args = "(CGcontext context, int size, const void *data, GLenum bufferUsage)", }, ["cgGLGetBufferObject"] = { type ='function', description = "", returns = "(GLuint)", valuetype = nil, args = "(CGbuffer buffer)", }, } return { cggl = { type = 'lib', description = "Cg OpenGL runtime", childs = api, }, cgGL = { type = 'lib', description = "Cg OpenGL runtime", childs = api, }, }