406 lines
30 KiB
C++
406 lines
30 KiB
C++
|
|
|
|
#define CG_EXPLICIT
|
|
#define CGGL_EXPLICIT
|
|
#include <Cg/cg.h>
|
|
#include <Cg/cgGL.h>
|
|
|
|
CFBundleRef CgFramework = NULL;
|
|
|
|
|
|
CGcontext (*cgCreateContext)(void) = NULL;
|
|
void (*cgDestroyContext)(CGcontext ctx) = NULL;
|
|
//States
|
|
void (*cgGLRegisterStates)(CGcontext) = NULL;
|
|
// Errors
|
|
CGerror (*cgGetError)(void) = NULL;
|
|
const char * (*cgGetErrorString)(CGerror error) = NULL;
|
|
const char * (*cgGetLastListing)(CGcontext ctx) = NULL;
|
|
void (*cgSetErrorCallback)(CGerrorCallbackFunc func) = NULL;
|
|
// Profiles
|
|
CGprofile (*cgGLGetLatestProfile)(CGGLenum profile_type) = NULL;
|
|
// Effects
|
|
CGeffect (*cgCreateEffect)(CGcontext, const char *code, const char **args) = NULL;
|
|
void (*cgDestroyEffect)(CGeffect) = NULL;
|
|
//Passe
|
|
CGpass (*cgGetFirstPass)(CGtechnique) = NULL;
|
|
CGpass (*cgGetNextPass)(CGpass) = NULL;
|
|
void (*cgSetPassState)(CGpass) = NULL;
|
|
void (*cgResetPassState)(CGpass) = NULL;
|
|
const char * (*cgGetPassName)(CGpass) = NULL;
|
|
//Technique
|
|
CGtechnique (*cgGetFirstTechnique)(CGeffect) = NULL;
|
|
CGtechnique (*cgGetNamedTechnique)(CGeffect, const char *name) = NULL;
|
|
const char * (*cgGetTechniqueName)(CGtechnique) = NULL;
|
|
const char * (*cgGetParameterName)(CGparameter param) = NULL;
|
|
CGbool (*cgIsTechniqueValidated)(CGtechnique) = NULL;
|
|
CGannotation (*cgGetFirstTechniqueAnnotation)(CGtechnique) = NULL;
|
|
CGtechnique (*cgGetNextTechnique)(CGtechnique) = NULL;
|
|
CGbool (*cgValidateTechnique)(CGtechnique) = NULL;
|
|
//Parameters
|
|
//set
|
|
void (*cgSetMatrixParameterfr)(CGparameter param, const float *matrix) = NULL;
|
|
void (*cgSetParameter1i)(CGparameter param, int x) = NULL;
|
|
void (*cgGLSetParameter3f)(CGparameter param, float x, float y, float z) = NULL;
|
|
void (*cgGLSetParameter4f)(CGparameter param, float x, float y, float z, float w) = NULL;
|
|
void (*cgGLSetParameter1fv)(CGparameter param, const float *v) = NULL;
|
|
void (*cgSetParameter3fv)(CGparameter param, const float *v) = NULL;
|
|
void (*cgSetParameter4fv)(CGparameter param, const float *v) = NULL;
|
|
void (*cgGLSetParameterArray1f)(CGparameter param,long offset,long nelements, const float *v) = NULL;
|
|
void (*cgGLSetParameterArray2f)(CGparameter param,long offset,long nelements, const float *v) = NULL;
|
|
void (*cgGLSetParameterArray3f)(CGparameter param,long offset,long nelements, const float *v) = NULL;
|
|
void (*cgGLSetParameterArray4f)(CGparameter param,long offset,long nelements, const float *v) = NULL;
|
|
void (*cgGLSetMatrixParameterArrayfr)(CGparameter param,long offset,long nelements, const float *matrices) = NULL;
|
|
void (*cgGLSetTextureParameter)(CGparameter param, GLuint texobj) = NULL;
|
|
//get
|
|
const char * (*cgGetStringParameterValue)(CGparameter param) = NULL;
|
|
CGparameterclass(*cgGetParameterClass)(CGparameter param) = NULL;
|
|
void (*cgSetStringParameterValue)(CGparameter param, const char *str) = NULL;
|
|
void (*cgGLGetParameter2f)(CGparameter param, float *v) = NULL;
|
|
void (*cgGLGetParameter3f)(CGparameter param, float *v) = NULL;
|
|
void (*cgGLGetParameter4f)(CGparameter param, float *v) = NULL;
|
|
void (*cgGLSetParameter2fv) ( CGparameter param, const float * v);
|
|
void (*cgGLSetParameter3fv)(CGparameter param, const float *v) = NULL;
|
|
void (*cgGLSetParameter4fv)(CGparameter param, const float *v) = NULL;
|
|
void (*cgGetMatrixParameterfr)(CGparameter param, float *matrix) = NULL;
|
|
CGparameter (*cgGetArrayParameter)(CGparameter aparam, int index) = NULL;
|
|
int (*cgGetParameterValueic)(CGparameter param, int n, int *vals) = NULL;
|
|
int (*cgGetArrayTotalSize)(CGparameter param) = NULL;
|
|
CGtype (*cgGetParameterType)(CGparameter param) = NULL;
|
|
CGtype (*cgGetParameterBaseType)(CGparameter param) = NULL;
|
|
int (*cgGetParameterRows)(CGparameter param) = NULL;
|
|
int (*cgGetParameterColumns)(CGparameter param) = NULL;
|
|
|
|
// Annotation
|
|
const float * (*cgGetFloatAnnotationValues)(CGannotation, int *nvalues) = NULL;
|
|
const int * (*cgGetIntAnnotationValues)(CGannotation, int *nvalues) = NULL;
|
|
const char * (*cgGetStringAnnotationValue)(CGannotation) = NULL;
|
|
const CGbool * (*cgGetBoolAnnotationValues)(CGannotation, int *nvalues) = NULL;
|
|
const int * (*cgGetBooleanAnnotationValues)(CGannotation, int *nvalues) = NULL;
|
|
|
|
CGparameter (*cgGetTextureStateAssignmentValue)(CGstateassignment) = NULL;
|
|
CGstateassignment(*cgGetFirstSamplerStateAssignment)(CGparameter) = NULL;
|
|
CGstateassignment(*cgGetNextStateAssignment)(CGstateassignment) = NULL;
|
|
void (*cgGLSetupSampler)(CGparameter param, GLuint texobj) = NULL;
|
|
CGparameter (*cgGetFirstEffectParameter)(CGeffect) = NULL;
|
|
CGparameter (*cgGetNextParameter)(CGparameter current) = NULL;
|
|
const char * (*cgGetParameterSemantic)(CGparameter param) = NULL;
|
|
const char * (*cgGetAnnotationName)(CGannotation) = NULL;
|
|
CGtype (*cgGetAnnotationType)(CGannotation) = NULL;
|
|
CGannotation (*cgGetNextAnnotation)(CGannotation) = NULL;
|
|
|
|
//Program
|
|
void (*cgEvaluateProgram)(CGprogram, float *, int ncomps, int nx, int ny, int nz) = NULL;
|
|
void (*cgDestroyProgram)(CGprogram program) = NULL;
|
|
CGprogram (*cgCreateProgramFromEffect)(CGeffect effect, CGprofile profile, const char *entry,const char **args) = NULL;
|
|
CGannotation (*cgGetFirstParameterAnnotation)(CGparameter) = NULL;
|
|
|
|
//ShaderDescriptorCG
|
|
void (*cgGLSetMatrixParameterfr)(CGparameter param,const float *matrix) = NULL;
|
|
void (*cgGLSetStateMatrixParameter)(CGparameter param, CGGLenum matrix,CGGLenum transform) = NULL;
|
|
void (*cgGLSetParameter1f)(CGparameter param, float x) = NULL;
|
|
void (*cgGLGetParameter1f)(CGparameter param, float *v) = NULL;
|
|
|
|
CGprogram (*cgGetFirstProgram)(CGcontext context);
|
|
CGprogram (*cgGetNextProgram)(CGprogram program);
|
|
CGbool (*cgIsProgramCompiled)(CGprogram program);
|
|
const char* (*cgGetProgramString)(CGprogram program,CGenum cgenum);
|
|
|
|
|
|
int (*cgGetArrayDimension)(CGparameter param);
|
|
CGtype (*cgGetArrayType)(CGparameter param);
|
|
CGbool (*cgGetTypeSizes)(CGtype type, int *nrows, int *ncols);
|
|
int (*cgGetArraySize)(CGparameter param, int dimension);
|
|
CGstate (*cgGetNamedState)(CGcontext, const char *name);
|
|
CGcontext (*cgGetEffectContext)(CGeffect);
|
|
const int * (*cgGetIntStateAssignmentValues)(CGstateassignment, int *nVals);
|
|
CGpass (*cgGetStateAssignmentPass)(CGstateassignment);
|
|
CGtechnique (*cgGetPassTechnique)(CGpass);
|
|
CGeffect (*cgGetTechniqueEffect)(CGtechnique);
|
|
|
|
void (*cgSetStateCallbacks)(CGstate, CGstatecallback set, CGstatecallback reset,CGstatecallback validate);
|
|
|
|
// Misc
|
|
void (*cgCompileProgram)(CGprogram program);
|
|
CGstate (*cgCreateState)(CGcontext, const char *name, CGtype);
|
|
CGstateassignment (*cgCreateStateAssignment)(CGpass, CGstate);
|
|
CGstateassignment (*cgCreateStateAssignmentIndex)(CGpass, CGstate, int index);
|
|
const CGbool* (*cgGetBoolStateAssignmentValues)(CGstateassignment, int *nVals);
|
|
CGparameter (*cgGetDependentStateAssignmentParameter)(CGstateassignment, int index);
|
|
CGstateassignment (*cgGetFirstStateAssignment)(CGpass);
|
|
CGstate (*cgGetFirstState)(CGcontext);
|
|
const float* (*cgGetFloatStateAssignmentValues)(CGstateassignment, int *nVals);
|
|
CGparameter (*cgGetNamedParameter)(CGprogram prog, const char *name);
|
|
CGannotation (*cgGetNamedParameterAnnotation)(CGparameter, const char *);
|
|
CGstateassignment (*cgGetNamedStateAssignment)(CGpass, const char *name);
|
|
CGstate (*cgGetNextState)(CGstate);
|
|
int (*cgGetNumDependentStateAssignmentParameters)(CGstateassignment);
|
|
CGresource (*cgGetParameterResource)(CGparameter param);
|
|
unsigned long (*cgGetParameterResourceIndex)(CGparameter param);
|
|
int (*cgGetParameterValuefr)(CGparameter param, int n, float *vals);
|
|
const double* (*cgGetParameterValues)(CGparameter param, CGenum value_type, int * nvalues);
|
|
CGdomain (*cgGetProfileDomain)( CGprofile profile );
|
|
CGprofile (*cgGetProgramProfile)(CGprogram prog);
|
|
CGprogram (*cgGetProgramStateAssignmentValue)(CGstateassignment);
|
|
const char* (*cgGetResourceString)(CGresource resource);
|
|
CGstate (*cgGetSamplerStateAssignmentState)(CGstateassignment);
|
|
CGparameter (*cgGetSamplerStateAssignmentValue)(CGstateassignment);
|
|
int (*cgGetStateAssignmentIndex)(CGstateassignment);
|
|
CGstate (*cgGetStateAssignmentState)(CGstateassignment);
|
|
const char* (*cgGetStateEnumerantName)(CGstate, int value);
|
|
const char* (*cgGetStateName)(CGstate);
|
|
CGtype (*cgGetStateType)(CGstate);
|
|
CGtype (*cgGetTypeBase)(CGtype type);
|
|
CGparameterclass (*cgGetTypeClass)(CGtype type);
|
|
const char* (*cgGetTypeString)(CGtype type);
|
|
void (*cgGLBindProgram)(CGprogram program);
|
|
void (*cgGLDisableProfile)(CGprofile profile);
|
|
void (*cgGLEnableClientState)(CGparameter param);
|
|
void (*cgGLEnableProfile)(CGprofile profile);
|
|
GLuint (*cgGLGetProgramID)(CGprogram program);
|
|
CGbool (*cgGLIsProgramLoaded)(CGprogram program);
|
|
void (*cgGLLoadProgram)(CGprogram program);
|
|
void (*cgGLSetManageTextureParameters)(CGcontext ctx, CGbool flag);
|
|
void (*cgGLSetMatrixParameterdr)(CGparameter param, const double *matrix);
|
|
void (*cgGLSetMatrixParameterdc)(CGparameter param, const double *matrix);
|
|
void (*cgGLSetMatrixParameterfc)(CGparameter param, const float *matrix);
|
|
void (*cgGLSetMatrixParameterArrayfc)(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 (*cgGLSetParameterPointer)(CGparameter param, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
|
|
void (*cgGLUnbindProgram)(CGprofile profile);
|
|
void (*cgSetParameterValuefr)(CGparameter param, int n, const float *vals);
|
|
void (*cgSetParameterValueic)(CGparameter param, int n, const int *vals);
|
|
void (*cgSetPassProgramParameters)(CGprogram);
|
|
void (*cgSetSamplerState)(CGparameter);
|
|
CGbool (*cgSetSamplerStateAssignment)(CGstateassignment, CGparameter);
|
|
|
|
|
|
|
|
|
|
inline void* _GetRoutine(CFBundleRef Framework, char* iSymbol)
|
|
{
|
|
if (Framework == NULL) return NULL;
|
|
CFStringRef str = CFStringCreateWithCString(kCFAllocatorDefault, iSymbol, kCFStringEncodingMacRoman);
|
|
void* routine = CFBundleGetFunctionPointerForName(Framework, str);
|
|
CFRelease(str);
|
|
return routine;
|
|
}
|
|
|
|
bool LoadCgFrameworkBundle()
|
|
{
|
|
bool Result=true;
|
|
if (cgCreateContext!=NULL)
|
|
return true;
|
|
|
|
CFURLRef bundleURL = CFURLCreateWithFileSystemPath(kCFAllocatorSystemDefault, CFSTR("/Library/Internet\ Plug-Ins/NPVirtools.plugin/Contents/Frameworks/Cg.framework"), kCFURLPOSIXPathStyle,false);
|
|
|
|
CgFramework = CFBundleCreate(kCFAllocatorSystemDefault, bundleURL);
|
|
if (CgFramework == nil)
|
|
return false;
|
|
|
|
if (Result)
|
|
if ( ! CFBundleLoadExecutable( CgFramework ) )
|
|
return false;
|
|
|
|
if (bundleURL != nil)
|
|
CFRelease(bundleURL);
|
|
|
|
|
|
|
|
cgCreateContext = (CGcontext(*)(void)) _GetRoutine(CgFramework,"cgCreateContext");
|
|
cgSetErrorCallback = (void(*)(CGerrorCallbackFunc func)) _GetRoutine(CgFramework,"cgSetErrorCallback");
|
|
cgDestroyContext = (void(*)(CGcontext ctx)) _GetRoutine(CgFramework,"cgDestroyContext");
|
|
|
|
//States
|
|
cgGLRegisterStates = (void(*)(CGcontext)) _GetRoutine(CgFramework,"cgGLRegisterStates");
|
|
|
|
// Errors
|
|
cgGetError = (CGerror(*)(void)) _GetRoutine(CgFramework,"cgGetError");
|
|
cgGetErrorString = (const char * (*)(CGerror error)) _GetRoutine(CgFramework,"cgGetErrorString");
|
|
cgGetLastListing = (const char * (*)(CGcontext ctx)) _GetRoutine(CgFramework,"cgGetLastListing");
|
|
cgSetErrorCallback = (void(*)(CGerrorCallbackFunc func)) _GetRoutine(CgFramework,"cgSetErrorCallback");
|
|
|
|
// Profiles
|
|
cgGLGetLatestProfile = (CGprofile(*)(CGGLenum profile_type))_GetRoutine(CgFramework,"cgGLGetLatestProfile");
|
|
|
|
// Effects
|
|
cgCreateEffect = (CGeffect(*)(CGcontext, const char *code, const char **args))_GetRoutine(CgFramework,"cgCreateEffect");
|
|
cgDestroyEffect = (void(*)(CGeffect)) _GetRoutine(CgFramework,"cgDestroyEffect");
|
|
|
|
//Passe
|
|
cgGetFirstPass = (CGpass(*)(CGtechnique)) _GetRoutine(CgFramework,"cgGetFirstPass");
|
|
cgGetNextPass = (CGpass(*)(CGpass)) _GetRoutine(CgFramework,"cgGetNextPass");
|
|
cgSetPassState = (void(*)(CGpass)) _GetRoutine(CgFramework,"cgSetPassState");
|
|
cgResetPassState = (void(*)(CGpass)) _GetRoutine(CgFramework,"cgResetPassState");
|
|
cgGetPassName = (const char *(*)(CGpass)) _GetRoutine(CgFramework,"cgGetPassName");
|
|
|
|
|
|
//Technique
|
|
cgGetFirstTechnique = ( CGtechnique (*)(CGeffect)) _GetRoutine(CgFramework,"cgGetFirstTechnique");
|
|
cgGetNamedTechnique = ( CGtechnique (*)(CGeffect, const char *name)) _GetRoutine(CgFramework,"cgGetNamedTechnique");
|
|
cgGetTechniqueName = ( const char *(*)(CGtechnique)) _GetRoutine(CgFramework,"cgGetTechniqueName");
|
|
cgGetParameterName = ( const char *(*)(CGparameter param)) _GetRoutine(CgFramework,"cgGetParameterName");
|
|
cgIsTechniqueValidated = ( CGbool(*)(CGtechnique)) _GetRoutine(CgFramework,"cgIsTechniqueValidated");
|
|
cgGetFirstTechniqueAnnotation = ( CGannotation(*)(CGtechnique)) _GetRoutine(CgFramework,"cgGetFirstTechniqueAnnotation");
|
|
cgGetNextTechnique = ( CGtechnique (*)(CGtechnique)) _GetRoutine(CgFramework,"cgGetNextTechnique");
|
|
cgValidateTechnique = ( CGbool(*)(CGtechnique)) _GetRoutine(CgFramework,"cgValidateTechnique");
|
|
|
|
//Parameters
|
|
//set
|
|
cgSetMatrixParameterfr = (void(*)(CGparameter param, const float *matrix)) _GetRoutine(CgFramework,"cgSetMatrixParameterfr");
|
|
cgSetParameter1i = (void(*)(CGparameter param, int x)) _GetRoutine(CgFramework,"cgSetParameter1i");
|
|
cgGLSetParameter3f = (void(*)(CGparameter param, float x, float y, float z)) _GetRoutine(CgFramework,"cgGLSetParameter3f");
|
|
cgGLSetParameter1fv = (void(*)(CGparameter param, const float *v)) _GetRoutine(CgFramework,"cgGLSetParameter1fv");
|
|
cgSetParameter3fv = (void(*)(CGparameter param, const float *v)) _GetRoutine(CgFramework,"cgSetParameter3fv");
|
|
cgSetParameter4fv = (void(*)(CGparameter param, const float *v)) _GetRoutine(CgFramework,"cgSetParameter4fv");
|
|
cgGLSetParameterArray1f= ( void(*)(CGparameter param,long offset,long nelements, const float *v))_GetRoutine(CgFramework,"cgGLSetParameterArray1f");
|
|
cgGLSetParameterArray2f= ( void(*)(CGparameter param,long offset,long nelements, const float *v))_GetRoutine(CgFramework,"cgGLSetParameterArray2f");
|
|
cgGLSetParameterArray3f= ( void(*)(CGparameter param,long offset,long nelements, const float *v))_GetRoutine(CgFramework,"cgGLSetParameterArray3f");
|
|
cgGLSetParameterArray4f= ( void(*)(CGparameter param,long offset,long nelements, const float *v))_GetRoutine(CgFramework,"cgGLSetParameterArray4f");
|
|
|
|
cgGLSetMatrixParameterArrayfr= ( void(*)(CGparameter param,long offset,long nelements, const float *matrices))_GetRoutine(CgFramework,"cgGLSetMatrixParameterArrayfr");
|
|
|
|
cgGLSetTextureParameter = ( void(*)(CGparameter param, GLuint texobj)) _GetRoutine(CgFramework,"cgGLSetTextureParameter");
|
|
|
|
cgSetStateCallbacks = (void(*)(CGstate, CGstatecallback set, CGstatecallback reset,CGstatecallback validate)) _GetRoutine(CgFramework,"cgSetStateCallbacks");;
|
|
|
|
|
|
|
|
//get
|
|
cgGetStringParameterValue= ( const char *(*)(CGparameter param)) _GetRoutine(CgFramework,"cgGetStringParameterValue");
|
|
cgGetParameterClass = ( CGparameterclass(*)(CGparameter param)) _GetRoutine(CgFramework,"cgGetParameterClass");
|
|
|
|
cgGetArrayDimension = (int (*)(CGparameter param)) _GetRoutine(CgFramework,"cgGetArrayDimension");
|
|
cgGetArrayType = (CGtype (*)(CGparameter param)) _GetRoutine(CgFramework,"cgGetArrayType");
|
|
cgGetTypeSizes = (CGbool (*)(CGtype type, int *nrows, int *ncols)) _GetRoutine(CgFramework,"cgGetTypeSizes");
|
|
cgGetArraySize = (int (*)(CGparameter param, int dimension)) _GetRoutine(CgFramework,"cgGetArraySize");
|
|
cgGetNamedState = (CGstate (*)(CGcontext, const char *name)) _GetRoutine(CgFramework,"cgGetNamedState");
|
|
cgGetEffectContext = (CGcontext (*)(CGeffect)) _GetRoutine(CgFramework,"cgGetEffectContext");
|
|
cgGetIntStateAssignmentValues = (const int * (*)(CGstateassignment, int *nVals)) _GetRoutine(CgFramework,"cgGetIntStateAssignmentValues");
|
|
cgGetStateAssignmentPass = (CGpass (*)(CGstateassignment)) _GetRoutine(CgFramework,"cgGetStateAssignmentPass");
|
|
cgGetPassTechnique = ( CGtechnique (*)(CGpass)) _GetRoutine(CgFramework,"cgGetPassTechnique");
|
|
cgGetTechniqueEffect=( CGeffect (*)(CGtechnique)) _GetRoutine(CgFramework,"cgGetTechniqueEffect");;
|
|
|
|
|
|
|
|
|
|
cgSetStringParameterValue= (void(*)(CGparameter param, const char *str)) _GetRoutine(CgFramework,"cgSetStringParameterValue");
|
|
|
|
cgGLGetParameter2f = (void(*)(CGparameter param, float *v)) _GetRoutine(CgFramework,"cgGLGetParameter2f");
|
|
cgGLGetParameter3f = (void(*)(CGparameter param, float *v)) _GetRoutine(CgFramework,"cgGLGetParameter3f");
|
|
cgGLGetParameter4f = (void(*)(CGparameter param, float *v)) _GetRoutine(CgFramework,"cgGLGetParameter4f");
|
|
cgGLSetParameter2fv = (void(*)( CGparameter param, const float * v)) _GetRoutine(CgFramework,"cgGLSetParameter2fv");
|
|
cgGLSetParameter3fv = (void(*)(CGparameter param, const float *v)) _GetRoutine(CgFramework,"cgGLSetParameter3fv");
|
|
cgGLSetParameter4fv = (void(*)(CGparameter param, const float *v)) _GetRoutine(CgFramework,"cgGLSetParameter4fv");
|
|
|
|
cgGetMatrixParameterfr = (void(*)(CGparameter param, float *matrix)) _GetRoutine(CgFramework,"cgGetMatrixParameterfr");
|
|
|
|
cgGetArrayParameter = (CGparameter (*)(CGparameter aparam, int index)) _GetRoutine(CgFramework,"cgGetArrayParameter");
|
|
|
|
cgGetParameterValueic = (int(*)(CGparameter param, int n, int *vals)) _GetRoutine(CgFramework,"cgGetParameterValueic");
|
|
|
|
cgGetArrayTotalSize = (int(*)(CGparameter param)) _GetRoutine(CgFramework,"cgGetArrayTotalSize");
|
|
cgGetParameterType = (CGtype(*)(CGparameter param)) _GetRoutine(CgFramework,"cgGetParameterType");
|
|
cgGetParameterBaseType = (CGtype(*)(CGparameter param)) _GetRoutine(CgFramework,"cgGetParameterBaseType");
|
|
cgGetParameterRows = (int(*)(CGparameter param)) _GetRoutine(CgFramework,"cgGetParameterRows");
|
|
cgGetParameterColumns = (int(*)(CGparameter param)) _GetRoutine(CgFramework,"cgGetParameterColumns");
|
|
|
|
// Annotation
|
|
cgGetFloatAnnotationValues = ( const float *(*)(CGannotation, int *nvalues)) _GetRoutine(CgFramework,"cgGetFloatAnnotationValues");
|
|
cgGetIntAnnotationValues = ( const int *(*)(CGannotation, int *nvalues)) _GetRoutine(CgFramework,"cgGetIntAnnotationValues");
|
|
cgGetStringAnnotationValue = ( const char * (*)(CGannotation)) _GetRoutine(CgFramework,"cgGetStringAnnotationValue");
|
|
cgGetBoolAnnotationValues = ( const CGbool *(*)(CGannotation, int *nvalues)) _GetRoutine(CgFramework,"cgGetBoolAnnotationValues");
|
|
cgGetBooleanAnnotationValues = ( const int *(*)(CGannotation, int *nvalues)) _GetRoutine(CgFramework,"cgGetBooleanAnnotationValues");
|
|
|
|
cgGetTextureStateAssignmentValue= (CGparameter(*)(CGstateassignment)) _GetRoutine(CgFramework,"cgGetTextureStateAssignmentValue");
|
|
cgGetFirstSamplerStateAssignment= (CGstateassignment(*)(CGparameter)) _GetRoutine(CgFramework,"cgGetFirstSamplerStateAssignment");
|
|
cgGLSetupSampler = (void(*)(CGparameter param, GLuint texobj)) _GetRoutine(CgFramework,"cgGLSetupSampler");
|
|
cgGetFirstEffectParameter = ( CGparameter(*)(CGeffect)) _GetRoutine(CgFramework,"cgGetFirstEffectParameter");
|
|
cgGetNextParameter = ( CGparameter(*)(CGparameter current)) _GetRoutine(CgFramework,"cgGetNextParameter");
|
|
cgGetParameterSemantic = ( const char *(*)(CGparameter param)) _GetRoutine(CgFramework,"cgGetParameterSemantic");
|
|
cgGetAnnotationName = ( const char *(*)(CGannotation)) _GetRoutine(CgFramework,"cgGetAnnotationName");
|
|
cgGetAnnotationType = ( CGtype(*)(CGannotation)) _GetRoutine(CgFramework,"cgGetAnnotationType");
|
|
cgGetNextAnnotation = ( CGannotation(*)(CGannotation)) _GetRoutine(CgFramework,"cgGetNextAnnotation");
|
|
|
|
//Program
|
|
cgEvaluateProgram = ( void(*)(CGprogram, float *, int ncomps, int nx, int ny, int nz)) _GetRoutine(CgFramework,"cgEvaluateProgram");
|
|
cgDestroyProgram = ( void(*)(CGprogram program)) _GetRoutine(CgFramework,"cgDestroyProgram");
|
|
cgCreateProgramFromEffect= ( CGprogram (*)(CGeffect effect, CGprofile profile, const char *entry,const char **args)) _GetRoutine(CgFramework,"cgCreateProgramFromEffect");
|
|
|
|
|
|
cgGetFirstParameterAnnotation= ( CGannotation (*)(CGparameter)) _GetRoutine(CgFramework,"cgGetFirstParameterAnnotation");
|
|
|
|
cgGetFirstProgram = ( CGprogram (*)(CGcontext context)) _GetRoutine(CgFramework,"cgGetFirstProgram");
|
|
cgGetNextProgram = ( CGprogram (*)(CGprogram program)) _GetRoutine(CgFramework,"cgGetNextProgram");
|
|
cgIsProgramCompiled = ( CGbool (*)(CGprogram program)) _GetRoutine(CgFramework,"cgIsProgramCompiled");
|
|
cgGetProgramString = (const char * (*)(CGprogram program,CGenum cgenum)) _GetRoutine(CgFramework,"cgGetProgramString");
|
|
|
|
//ShaderDescriptorCG
|
|
cgGLSetMatrixParameterfr = ( void(*)(CGparameter param,const float *matrix)) _GetRoutine(CgFramework,"cgGLSetMatrixParameterfr");
|
|
cgGLSetStateMatrixParameter = ( void(*)(CGparameter param, CGGLenum matrix,CGGLenum transform)) _GetRoutine(CgFramework,"cgGLSetStateMatrixParameter");
|
|
cgGLSetParameter1f = ( void(*)(CGparameter param, float x)) _GetRoutine(CgFramework,"cgGLSetParameter1f");
|
|
cgGLGetParameter1f = ( void(*)(CGparameter param, float *v)) _GetRoutine(CgFramework,"cgGLGetParameter1f");
|
|
|
|
// Misc
|
|
cgCompileProgram = (void (*)(CGprogram program)) _GetRoutine(CgFramework, "cgCompileProgram");
|
|
cgCreateState = (CGstate (*)(CGcontext, const char *name, CGtype)) _GetRoutine(CgFramework, "cgCreateState");
|
|
cgCreateStateAssignment = (CGstateassignment (*)(CGpass, CGstate)) _GetRoutine(CgFramework, "cgCreateStateAssignment");
|
|
cgCreateStateAssignmentIndex = (CGstateassignment (*)(CGpass, CGstate, int index)) _GetRoutine(CgFramework, "cgCreateStateAssignmentIndex");
|
|
cgGetBoolStateAssignmentValues = (const CGbool* (*)(CGstateassignment, int *nVals)) _GetRoutine(CgFramework, "cgGetBoolStateAssignmentValues");
|
|
cgGetDependentStateAssignmentParameter = (CGparameter (*)(CGstateassignment, int index)) _GetRoutine(CgFramework, "cgGetDependentStateAssignmentParameter");
|
|
cgGetFirstStateAssignment = (CGstateassignment (*)(CGpass)) _GetRoutine(CgFramework, "cgGetFirstStateAssignment");
|
|
cgGetFirstState = (CGstate (*)(CGcontext)) _GetRoutine(CgFramework, "cgGetFirstState");
|
|
cgGetFloatStateAssignmentValues = (const float* (*)(CGstateassignment, int *nVals)) _GetRoutine(CgFramework, "cgGetFloatStateAssignmentValues");
|
|
cgGetNamedParameter = (CGparameter (*)(CGprogram prog, const char *name)) _GetRoutine(CgFramework, "cgGetNamedParameter");
|
|
cgGetNamedParameterAnnotation = (CGannotation (*)(CGparameter, const char *)) _GetRoutine(CgFramework, "cgGetNamedParameterAnnotation");
|
|
cgGetNamedStateAssignment = (CGstateassignment (*)(CGpass, const char *name)) _GetRoutine(CgFramework, "cgGetNamedStateAssignment");
|
|
cgGetNextStateAssignment = (CGstateassignment (*)(CGstateassignment)) _GetRoutine(CgFramework, "cgGetNextStateAssignment");
|
|
cgGetNextState = (CGstate (*)(CGstate)) _GetRoutine(CgFramework, "cgGetNextState");
|
|
cgGetNumDependentStateAssignmentParameters = (int (*)(CGstateassignment)) _GetRoutine(CgFramework, "cgGetNumDependentStateAssignmentParameters");
|
|
cgGetParameterResource = (CGresource (*)(CGparameter param)) _GetRoutine(CgFramework, "cgGetParameterResource");
|
|
cgGetParameterResourceIndex = (unsigned long (*)(CGparameter param)) _GetRoutine(CgFramework, "cgGetParameterResourceIndex");
|
|
cgGetParameterValuefr = (int (*)(CGparameter param, int n, float *vals)) _GetRoutine(CgFramework, "cgGetParameterValuefr");
|
|
cgGetParameterValues = (const double* (*)(CGparameter param, CGenum value_type, int * nvalues)) _GetRoutine(CgFramework, "cgGetParameterValues");
|
|
cgGetProfileDomain = (CGdomain (*)( CGprofile profile )) _GetRoutine(CgFramework, "cgGetProfileDomain");
|
|
cgGetProgramProfile = (CGprofile (*)(CGprogram prog)) _GetRoutine(CgFramework, "cgGetProgramProfile");
|
|
cgGetProgramStateAssignmentValue = (CGprogram (*)(CGstateassignment)) _GetRoutine(CgFramework, "cgGetProgramStateAssignmentValue");
|
|
cgGetResourceString = (const char* (*)(CGresource resource)) _GetRoutine(CgFramework, "cgGetResourceString");
|
|
cgGetSamplerStateAssignmentState = (CGstate (*)(CGstateassignment)) _GetRoutine(CgFramework, "cgGetSamplerStateAssignmentState");
|
|
cgGetSamplerStateAssignmentValue = (CGparameter (*)(CGstateassignment)) _GetRoutine(CgFramework, "cgGetSamplerStateAssignmentValue");
|
|
cgGetStateAssignmentIndex = (int (*)(CGstateassignment)) _GetRoutine(CgFramework, "cgGetStateAssignmentIndex");
|
|
cgGetStateAssignmentState = (CGstate (*)(CGstateassignment)) _GetRoutine(CgFramework, "cgGetStateAssignmentState");
|
|
cgGetStateEnumerantName = (const char* (*)(CGstate, int value)) _GetRoutine(CgFramework, "cgGetStateEnumerantName");
|
|
cgGetStateName = (const char* (*)(CGstate)) _GetRoutine(CgFramework, "cgGetStateName");
|
|
cgGetStateType = (CGtype (*)(CGstate)) _GetRoutine(CgFramework, "cgGetStateType");
|
|
cgGetTypeBase = (CGtype (*)(CGtype type)) _GetRoutine(CgFramework, "cgGetTypeBase");
|
|
cgGetTypeClass = (CGparameterclass (*)(CGtype type)) _GetRoutine(CgFramework, "cgGetTypeClass");
|
|
cgGetTypeString = (const char* (*)(CGtype type)) _GetRoutine(CgFramework, "cgGetTypeString");
|
|
cgGLBindProgram = (void (*)(CGprogram program)) _GetRoutine(CgFramework, "cgGLBindProgram");
|
|
cgGLDisableProfile = (void (*)(CGprofile profile)) _GetRoutine(CgFramework, "cgGLDisableProfile");
|
|
cgGLEnableClientState = (void (*)(CGparameter param)) _GetRoutine(CgFramework, "cgGLEnableClientState");
|
|
cgGLEnableProfile = (void (*)(CGprofile profile)) _GetRoutine(CgFramework, "cgGLEnableProfile");
|
|
cgGLGetProgramID = (GLuint (*)(CGprogram program)) _GetRoutine(CgFramework, "cgGLGetProgramID");
|
|
cgGLIsProgramLoaded = (CGbool (*)(CGprogram program)) _GetRoutine(CgFramework, "cgGLIsProgramLoaded");
|
|
cgGLLoadProgram = (void (*)(CGprogram program)) _GetRoutine(CgFramework, "cgGLLoadProgram");
|
|
cgGLSetManageTextureParameters = (void (*)(CGcontext ctx, CGbool flag)) _GetRoutine(CgFramework, "cgGLSetManageTextureParameters");
|
|
cgGLSetMatrixParameterdr = (void (*)(CGparameter param, const double *matrix)) _GetRoutine(CgFramework, "cgGLSetMatrixParameterdr");
|
|
cgGLSetMatrixParameterdc = (void (*)(CGparameter param, const double *matrix)) _GetRoutine(CgFramework, "cgGLSetMatrixParameterdc");
|
|
cgGLSetMatrixParameterfc = (void (*)(CGparameter param, const float *matrix)) _GetRoutine(CgFramework, "cgGLSetMatrixParameterfc");
|
|
cgGLSetMatrixParameterArrayfc = (void (*)(CGparameter param, long offset, long nelements, const float *matrices)) _GetRoutine(CgFramework, "cgGLSetMatrixParameterArrayfc");
|
|
cgGLSetMatrixParameterArraydc = (void (*)(CGparameter param, long offset, long nelements, const double *matrices)) _GetRoutine(CgFramework, "cgGLSetMatrixParameterArraydc");
|
|
cgGLSetMatrixParameterArraydr = (void (*)(CGparameter param, long offset, long nelements, const double *matrices)) _GetRoutine(CgFramework, "cgGLSetMatrixParameterArraydr");
|
|
cgGLSetParameterPointer = (void (*)(CGparameter param, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer)) _GetRoutine(CgFramework, "cgGLSetParameterPointer");
|
|
cgGLUnbindProgram = (void (*)(CGprofile profile)) _GetRoutine(CgFramework, "cgGLUnbindProgram");
|
|
cgSetParameterValuefr = (void (*)(CGparameter param, int n, const float *vals)) _GetRoutine(CgFramework, "cgSetParameterValuefr");
|
|
cgSetParameterValueic = (void (*)(CGparameter param, int n, const int *vals)) _GetRoutine(CgFramework, "cgSetParameterValueic");
|
|
cgSetPassProgramParameters = (void (*)(CGprogram)) _GetRoutine(CgFramework, "cgSetPassProgramParameters");
|
|
cgSetSamplerState = (void (*)(CGparameter)) _GetRoutine(CgFramework, "cgSetSamplerState");
|
|
cgSetSamplerStateAssignment = (CGbool (*)(CGstateassignment, CGparameter)) _GetRoutine(CgFramework, "cgSetSamplerStateAssignment");
|
|
|
|
// to do or not to do ?
|
|
//CFRelease(CgFramework);
|
|
return Result;
|
|
}
|
|
|