210 lines
11 KiB
C
210 lines
11 KiB
C
#ifndef __CG_FUNCTIONS__
|
|
#define __CG_FUNCTIONS__
|
|
|
|
extern CFBundleRef CgFramework;
|
|
|
|
|
|
// Context
|
|
extern CGcontext (*cgCreateContext)(void);
|
|
extern void (*cgDestroyContext)(CGcontext ctx);
|
|
|
|
//States
|
|
extern void (*cgGLRegisterStates)(CGcontext);
|
|
|
|
// Errors
|
|
extern CGerror (*cgGetError)(void);
|
|
extern const char * (*cgGetErrorString)(CGerror error);
|
|
extern const char * (*cgGetLastListing)(CGcontext ctx);
|
|
extern void (*cgSetErrorCallback)(CGerrorCallbackFunc func);
|
|
|
|
// Profiles
|
|
extern CGprofile (*cgGLGetLatestProfile)(CGGLenum profile_type);
|
|
|
|
// Effects
|
|
extern CGeffect (*cgCreateEffect)(CGcontext, const char *code, const char **args);
|
|
extern void (*cgDestroyEffect)(CGeffect);
|
|
|
|
//Passe
|
|
extern CGpass (*cgGetFirstPass)(CGtechnique);
|
|
extern CGpass (*cgGetNextPass)(CGpass);
|
|
extern void (*cgSetPassState)(CGpass);
|
|
extern void (*cgResetPassState)(CGpass);
|
|
extern const char * (*cgGetPassName)(CGpass);
|
|
|
|
//Technique
|
|
extern CGtechnique (*cgGetFirstTechnique)(CGeffect);
|
|
extern CGtechnique (*cgGetNamedTechnique)(CGeffect, const char *name);
|
|
extern const char * (*cgGetTechniqueName)(CGtechnique);
|
|
extern const char * (*cgGetParameterName)(CGparameter param);
|
|
extern CGbool (*cgIsTechniqueValidated)(CGtechnique);
|
|
extern CGannotation (*cgGetFirstTechniqueAnnotation)(CGtechnique);
|
|
extern CGtechnique (*cgGetNextTechnique)(CGtechnique);
|
|
extern CGbool (*cgValidateTechnique)(CGtechnique);
|
|
|
|
//Parameters
|
|
//set
|
|
extern void (*cgSetMatrixParameterfr)(CGparameter param, const float *matrix);
|
|
|
|
extern void (*cgSetParameter1i)(CGparameter param, int x);
|
|
|
|
extern void (*cgGLSetParameter3f)(CGparameter param, float x, float y, float z);
|
|
extern void (*cgGLSetParameter4f)(CGparameter param, float x, float y, float z, float w);
|
|
extern void (*cgGLSetParameter1fv)(CGparameter param, const float *v);
|
|
|
|
extern void (*cgSetParameter3fv)(CGparameter param, const float *v);
|
|
extern void (*cgSetParameter4fv)(CGparameter param, const float *v);
|
|
|
|
extern void (*cgGLSetParameterArray1f)(CGparameter param,long offset,long nelements, const float *v);
|
|
extern void (*cgGLSetParameterArray2f)(CGparameter param,long offset,long nelements, const float *v);
|
|
extern void (*cgGLSetParameterArray3f)(CGparameter param,long offset,long nelements, const float *v);
|
|
extern void (*cgGLSetParameterArray4f)(CGparameter param,long offset,long nelements, const float *v);
|
|
|
|
extern void (*cgGLSetMatrixParameterArrayfr)(CGparameter param,long offset,long nelements, const float *matrices);
|
|
|
|
extern void (*cgGLSetTextureParameter)(CGparameter param, GLuint texobj);
|
|
|
|
|
|
//get
|
|
extern const char * (*cgGetStringParameterValue)(CGparameter param);
|
|
extern CGparameterclass (*cgGetParameterClass)(CGparameter param);
|
|
|
|
|
|
|
|
extern void (*cgSetStringParameterValue)(CGparameter param, const char *str);
|
|
|
|
extern void (*cgGLGetParameter2f)(CGparameter param, float *v);
|
|
extern void (*cgGLGetParameter3f)(CGparameter param, float *v);
|
|
extern void (*cgGLGetParameter4f)(CGparameter param, float *v);
|
|
extern void (*cgGLSetParameter2fv) ( CGparameter param, const float * v);
|
|
extern void (*cgGLSetParameter3fv)(CGparameter param, const float *v);
|
|
extern void (*cgGLSetParameter4fv)(CGparameter param, const float *v);
|
|
|
|
extern void (*cgGetMatrixParameterfr)(CGparameter param, float *matrix);
|
|
|
|
extern CGparameter (*cgGetArrayParameter)(CGparameter aparam, int index);
|
|
|
|
extern int (*cgGetParameterValueic)(CGparameter param, int n, int *vals);
|
|
|
|
extern int (*cgGetArrayTotalSize)(CGparameter param);
|
|
|
|
extern CGtype (*cgGetParameterType)(CGparameter param);
|
|
extern CGtype (*cgGetParameterBaseType)(CGparameter param);
|
|
|
|
extern int (*cgGetParameterRows)(CGparameter param);
|
|
extern int (*cgGetParameterColumns)(CGparameter param);
|
|
|
|
// Annotation
|
|
extern const float * (*cgGetFloatAnnotationValues)(CGannotation, int *nvalues);
|
|
extern const int * (*cgGetIntAnnotationValues)(CGannotation, int *nvalues);
|
|
extern const char * (*cgGetStringAnnotationValue)(CGannotation);
|
|
extern const CGbool * (*cgGetBoolAnnotationValues)(CGannotation, int *nvalues);
|
|
extern const int * (*cgGetBooleanAnnotationValues)(CGannotation, int *nvalues);
|
|
|
|
extern CGparameter (*cgGetTextureStateAssignmentValue)(CGstateassignment);
|
|
extern CGstateassignment(*cgGetFirstSamplerStateAssignment)(CGparameter);
|
|
extern CGstateassignment(*cgGetNextStateAssignment)(CGstateassignment);
|
|
extern void (*cgGLSetupSampler)(CGparameter param, GLuint texobj);
|
|
extern CGparameter (*cgGetFirstEffectParameter)(CGeffect);
|
|
extern CGparameter (*cgGetNextParameter)(CGparameter current);
|
|
extern const char * (*cgGetParameterSemantic)(CGparameter param);
|
|
extern const char * (*cgGetAnnotationName)(CGannotation);
|
|
extern CGtype (*cgGetAnnotationType)(CGannotation);
|
|
extern CGannotation (*cgGetNextAnnotation)(CGannotation);
|
|
|
|
//Program
|
|
extern void (*cgEvaluateProgram)(CGprogram, float *, int ncomps, int nx, int ny, int nz);
|
|
extern void (*cgDestroyProgram)(CGprogram program);
|
|
extern CGprogram (*cgCreateProgramFromEffect)(CGeffect effect, CGprofile profile, const char *entry,const char **args);
|
|
|
|
|
|
extern CGannotation (*cgGetFirstParameterAnnotation)(CGparameter);
|
|
|
|
|
|
//ShaderDescriptorCG
|
|
extern void (*cgGLSetMatrixParameterfr)(CGparameter param,const float *matrix);
|
|
extern void (*cgGLSetStateMatrixParameter)(CGparameter param, CGGLenum matrix,CGGLenum transform);
|
|
extern void (*cgGLSetParameter1f)(CGparameter param, float x);
|
|
extern void (*cgGLGetParameter1f)(CGparameter param, float *v);
|
|
|
|
extern CGprogram (*cgGetFirstProgram)(CGcontext context);
|
|
extern CGprogram (*cgGetNextProgram)(CGprogram program);
|
|
extern CGbool (*cgIsProgramCompiled)(CGprogram program);
|
|
extern const char * (*cgGetProgramString)(CGprogram program,CGenum cgenum);
|
|
|
|
extern int (*cgGetArrayDimension)(CGparameter param);
|
|
extern CGtype (*cgGetArrayType)(CGparameter param);
|
|
extern CGbool (*cgGetTypeSizes)(CGtype type, int *nrows, int *ncols);
|
|
extern int (*cgGetArraySize)(CGparameter param, int dimension);
|
|
extern CGstate (*cgGetNamedState)(CGcontext, const char *name);
|
|
extern CGcontext (*cgGetEffectContext)(CGeffect);
|
|
extern const int * (*cgGetIntStateAssignmentValues)(CGstateassignment, int *nVals);
|
|
extern CGpass (*cgGetStateAssignmentPass)(CGstateassignment);
|
|
extern CGtechnique (*cgGetPassTechnique)(CGpass);
|
|
extern CGeffect (*cgGetTechniqueEffect)(CGtechnique);
|
|
|
|
extern void (*cgSetStateCallbacks)(CGstate, CGstatecallback set, CGstatecallback reset, CGstatecallback validate);
|
|
|
|
// Misc
|
|
extern void (*cgCompileProgram)(CGprogram program);
|
|
extern CGstate (*cgCreateState)(CGcontext, const char *name, CGtype);
|
|
extern CGstateassignment (*cgCreateStateAssignment)(CGpass, CGstate);
|
|
extern CGstateassignment (*cgCreateStateAssignmentIndex)(CGpass, CGstate, int index);
|
|
extern const CGbool* (*cgGetBoolStateAssignmentValues)(CGstateassignment, int *nVals);
|
|
extern CGparameter (*cgGetDependentStateAssignmentParameter)(CGstateassignment, int index);
|
|
extern CGstateassignment (*cgGetFirstStateAssignment)(CGpass);
|
|
extern CGstate (*cgGetFirstState)(CGcontext);
|
|
extern const float* (*cgGetFloatStateAssignmentValues)(CGstateassignment, int *nVals);
|
|
extern CGparameter (*cgGetNamedParameter)(CGprogram prog, const char *name);
|
|
extern CGannotation (*cgGetNamedParameterAnnotation)(CGparameter, const char *);
|
|
extern CGstateassignment (*cgGetNamedStateAssignment)(CGpass, const char *name);
|
|
extern CGstate (*cgGetNextState)(CGstate);
|
|
extern int (*cgGetNumDependentStateAssignmentParameters)(CGstateassignment);
|
|
extern CGresource (*cgGetParameterResource)(CGparameter param);
|
|
extern unsigned long (*cgGetParameterResourceIndex)(CGparameter param);
|
|
extern int (*cgGetParameterValuefr)(CGparameter param, int n, float *vals);
|
|
extern const double* (*cgGetParameterValues)(CGparameter param, CGenum value_type, int * nvalues);
|
|
extern CGdomain (*cgGetProfileDomain)( CGprofile profile );
|
|
extern CGprofile (*cgGetProgramProfile)(CGprogram prog);
|
|
extern CGprogram (*cgGetProgramStateAssignmentValue)(CGstateassignment);
|
|
extern const char* (*cgGetResourceString)(CGresource resource);
|
|
extern CGstate (*cgGetSamplerStateAssignmentState)(CGstateassignment);
|
|
extern CGparameter (*cgGetSamplerStateAssignmentValue)(CGstateassignment);
|
|
extern int (*cgGetStateAssignmentIndex)(CGstateassignment);
|
|
extern CGstate (*cgGetStateAssignmentState)(CGstateassignment);
|
|
extern const char* (*cgGetStateEnumerantName)(CGstate, int value);
|
|
extern const char* (*cgGetStateName)(CGstate);
|
|
extern CGtype (*cgGetStateType)(CGstate);
|
|
extern CGtype (*cgGetTypeBase)(CGtype type);
|
|
extern CGparameterclass (*cgGetTypeClass)(CGtype type);
|
|
extern const char* (*cgGetTypeString)(CGtype type);
|
|
extern void (*cgGLBindProgram)(CGprogram program);
|
|
extern void (*cgGLDisableProfile)(CGprofile profile);
|
|
extern void (*cgGLEnableClientState)(CGparameter param);
|
|
extern void (*cgGLEnableProfile)(CGprofile profile);
|
|
extern GLuint (*cgGLGetProgramID)(CGprogram program);
|
|
extern CGbool (*cgGLIsProgramLoaded)(CGprogram program);
|
|
extern void (*cgGLLoadProgram)(CGprogram program);
|
|
extern void (*cgGLSetManageTextureParameters)(CGcontext ctx, CGbool flag);
|
|
extern void (*cgGLSetMatrixParameterdr)(CGparameter param, const double *matrix);
|
|
extern void (*cgGLSetMatrixParameterdc)(CGparameter param, const double *matrix);
|
|
extern void (*cgGLSetMatrixParameterfc)(CGparameter param, const float *matrix);
|
|
extern void (*cgGLSetMatrixParameterArrayfc)(CGparameter param, long offset, long nelements, const float *matrices);
|
|
extern void (*cgGLSetMatrixParameterArraydc)(CGparameter param, long offset, long nelements, const double *matrices);
|
|
extern void (*cgGLSetMatrixParameterArraydr)(CGparameter param, long offset, long nelements, const double *matrices);
|
|
extern void (*cgGLSetParameterPointer)(CGparameter param, GLint fsize, GLenum type, GLsizei stride, const GLvoid *pointer);
|
|
extern void (*cgGLUnbindProgram)(CGprofile profile);
|
|
extern void (*cgSetParameterValuefr)(CGparameter param, int n, const float *vals);
|
|
extern void (*cgSetParameterValueic)(CGparameter param, int n, const int *vals);
|
|
extern void (*cgSetPassProgramParameters)(CGprogram);
|
|
extern void (*cgSetSamplerState)(CGparameter);
|
|
extern CGbool (*cgSetSamplerStateAssignment)(CGstateassignment, CGparameter);
|
|
|
|
|
|
|
|
|
|
|
|
bool LoadCgFrameworkBundle();
|
|
|
|
|
|
#endif //__CG_FUNCTIONS__
|