diff options
| author | git perforce import user <a@b> | 2016-10-25 12:29:14 -0600 |
|---|---|---|
| committer | Sheikh Dawood Abdul Ajees <Sheikh Dawood Abdul Ajees> | 2016-10-25 18:56:37 -0500 |
| commit | 3dfe2108cfab31ba3ee5527e217d0d8e99a51162 (patch) | |
| tree | fa6485c169e50d7415a651bf838f5bcd0fd3bfbd /Externals/cg/2.2/include/Cg | |
| download | physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.tar.xz physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.zip | |
Initial commit:
PhysX 3.4.0 Update @ 21294896
APEX 1.4.0 Update @ 21275617
[CL 21300167]
Diffstat (limited to 'Externals/cg/2.2/include/Cg')
| -rw-r--r-- | Externals/cg/2.2/include/Cg/cg.h | 758 | ||||
| -rw-r--r-- | Externals/cg/2.2/include/Cg/cgD3D10.h | 238 | ||||
| -rw-r--r-- | Externals/cg/2.2/include/Cg/cgD3D8.h | 279 | ||||
| -rw-r--r-- | Externals/cg/2.2/include/Cg/cgD3D9.h | 317 | ||||
| -rw-r--r-- | Externals/cg/2.2/include/Cg/cgGL.h | 427 | ||||
| -rw-r--r-- | Externals/cg/2.2/include/Cg/cgGL_profiles.h | 75 | ||||
| -rw-r--r-- | Externals/cg/2.2/include/Cg/cg_bindlocations.h | 382 | ||||
| -rw-r--r-- | Externals/cg/2.2/include/Cg/cg_datatypes.h | 196 | ||||
| -rw-r--r-- | Externals/cg/2.2/include/Cg/cg_enums.h | 128 | ||||
| -rw-r--r-- | Externals/cg/2.2/include/Cg/cg_errors.h | 325 | ||||
| -rw-r--r-- | Externals/cg/2.2/include/Cg/cg_profiles.h | 105 |
11 files changed, 3230 insertions, 0 deletions
diff --git a/Externals/cg/2.2/include/Cg/cg.h b/Externals/cg/2.2/include/Cg/cg.h new file mode 100644 index 00000000..701d26e7 --- /dev/null +++ b/Externals/cg/2.2/include/Cg/cg.h @@ -0,0 +1,758 @@ +/* + * + * Copyright (c) 2002-2010, NVIDIA Corporation. + * + * + * + * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration + * of your agreement to the following terms, and your use, installation, + * modification or redistribution of this NVIDIA software constitutes + * acceptance of these terms. If you do not agree with these terms, please do + * not use, install, modify or redistribute this NVIDIA software. + * + * + * + * In consideration of your agreement to abide by the following terms, and + * subject to these terms, NVIDIA grants you a personal, non-exclusive license, + * under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA + * Software"), to use, reproduce, modify and redistribute the NVIDIA + * Software, with or without modifications, in source and/or binary forms; + * provided that if you redistribute the NVIDIA Software, you must retain the + * copyright notice of NVIDIA, this notice and the following text and + * disclaimers in all such redistributions of the NVIDIA Software. Neither the + * name, trademarks, service marks nor logos of NVIDIA Corporation may be used + * to endorse or promote products derived from the NVIDIA Software without + * specific prior written permission from NVIDIA. Except as expressly stated + * in this notice, no other rights or licenses express or implied, are granted + * by NVIDIA herein, including but not limited to any patent rights that may be + * infringed by your derivative works or by other works in which the NVIDIA + * Software may be incorporated. No hardware is licensed hereunder. + * + * + * + * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING + * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION + * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. + * + * + * + * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, + * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST + * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, + * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, + * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + + +#ifndef _cg_h +#define _cg_h + +/*************************************************************************/ +/*** CG Run-Time Library API ***/ +/*************************************************************************/ + +#define CG_VERSION_NUM 2200 + +#ifdef _WIN32 +# ifndef APIENTRY /* From Win32's <windef.h> */ +# define CG_APIENTRY_DEFINED +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) || defined(__LCC__) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif +# ifndef WINGDIAPI /* From Win32's <wingdi.h> and <winnt.h> */ +# define CG_WINGDIAPI_DEFINED +# define WINGDIAPI __declspec(dllimport) +# endif +#endif /* _WIN32 */ + +/* Set up CG_API for Win32 dllexport or gcc visibility */ + +#ifndef CG_API +# ifdef CG_EXPORTS +# ifdef _WIN32 +# define CG_API __declspec(dllexport) +# elif defined(__GNUC__) && __GNUC__>=4 +# define CG_API __attribute__ ((visibility("default"))) +# elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) +# define CG_API __global +# else +# define CG_API +# endif +# else +# define CG_API +# endif +#endif + +#ifndef CGENTRY +# ifdef _WIN32 +# define CGENTRY __cdecl +# else +# define CGENTRY +# endif +#endif + +/*************************************************************************/ +/*** Data types and enumerants ***/ +/*************************************************************************/ + +typedef int CGbool; + +#define CG_FALSE ((CGbool)0) +#define CG_TRUE ((CGbool)1) + +typedef struct _CGcontext *CGcontext; +typedef struct _CGprogram *CGprogram; +typedef struct _CGparameter *CGparameter; +typedef struct _CGobj *CGobj; +typedef struct _CGbuffer *CGbuffer; +typedef struct _CGeffect *CGeffect; +typedef struct _CGtechnique *CGtechnique; +typedef struct _CGpass *CGpass; +typedef struct _CGstate *CGstate; +typedef struct _CGstateassignment *CGstateassignment; +typedef struct _CGannotation *CGannotation; +typedef void *CGhandle; + + +/*!!! PREPROCESS BEGIN */ + +typedef enum + { + CG_UNKNOWN_TYPE, + CG_STRUCT, + CG_ARRAY, + CG_TYPELESS_STRUCT, + + CG_TYPE_START_ENUM = 1024, +#define CG_DATATYPE_MACRO(name, compiler_name, enum_name, base_name, ncols, nrows, pc) \ + enum_name , + +#include <Cg/cg_datatypes.h> +#undef CG_DATATYPE_MACRO + + CG_TYPE_MAX + } CGtype; + +typedef enum + { +# define CG_BINDLOCATION_MACRO(name,enum_name,compiler_name,\ + enum_int,addressable,param_type) \ + enum_name = enum_int, + +#include <Cg/cg_bindlocations.h> + + CG_UNDEFINED = 3256 + } CGresource; + +typedef enum + { + CG_PROFILE_START = 6144, + CG_PROFILE_UNKNOWN, + +#define CG_PROFILE_MACRO(name, compiler_id, compiler_id_caps, compiler_opt,int_id,vertex_profile) \ + CG_PROFILE_##compiler_id_caps = int_id, +#define CG_PROFILE_ALIAS(name, compiler_id, compiler_id_caps, compiler_opt,int_id,vertex_profile) \ + CG_PROFILE_MACRO(name, compiler_id, compiler_id_caps, compiler_opt,int_id,vertex_profile) + +#include <Cg/cg_profiles.h> + + CG_PROFILE_MAX = 7100 + } CGprofile; + +typedef enum + { +#define CG_ERROR_MACRO(code, enum_name, message) \ + enum_name = code, +#include <Cg/cg_errors.h> + + CG_ERROR_MAX + } CGerror; + +typedef enum + { +#define CG_ENUM_MACRO(enum_name, enum_val) \ + enum_name = enum_val, +#include <Cg/cg_enums.h> + + CG_ENUM_MAX + } CGenum; + +/*!!! PREPROCESS END */ + +typedef enum + { + CG_PARAMETERCLASS_UNKNOWN = 0, + CG_PARAMETERCLASS_SCALAR, + CG_PARAMETERCLASS_VECTOR, + CG_PARAMETERCLASS_MATRIX, + CG_PARAMETERCLASS_STRUCT, + CG_PARAMETERCLASS_ARRAY, + CG_PARAMETERCLASS_SAMPLER, + CG_PARAMETERCLASS_OBJECT, + + CG_PARAMETERCLASS_MAX + } CGparameterclass; + +typedef enum +{ + CG_UNKNOWN_DOMAIN = 0, + CG_FIRST_DOMAIN = 1, + CG_VERTEX_DOMAIN = 1, + CG_FRAGMENT_DOMAIN, + CG_GEOMETRY_DOMAIN, + CG_NUMBER_OF_DOMAINS, + + CG_DOMAIN_MAX +} CGdomain; + +typedef enum +{ + CG_MAP_READ = 0, + CG_MAP_WRITE, + CG_MAP_READ_WRITE, + CG_MAP_WRITE_DISCARD, + CG_MAP_WRITE_NO_OVERWRITE, + + CG_MAP_MAX +} CGbufferaccess; + +typedef enum +{ + CG_BUFFER_USAGE_STREAM_DRAW = 0, + CG_BUFFER_USAGE_STREAM_READ, + CG_BUFFER_USAGE_STREAM_COPY, + CG_BUFFER_USAGE_STATIC_DRAW, + CG_BUFFER_USAGE_STATIC_READ, + CG_BUFFER_USAGE_STATIC_COPY, + CG_BUFFER_USAGE_DYNAMIC_DRAW, + CG_BUFFER_USAGE_DYNAMIC_READ, + CG_BUFFER_USAGE_DYNAMIC_COPY, + + CG_BUFFER_USAGE_MAX +} CGbufferusage; + +#ifdef __cplusplus +extern "C" { +#endif + +typedef CGbool (CGENTRY * CGstatecallback)(CGstateassignment); +typedef void (CGENTRY * CGerrorCallbackFunc)(void); +typedef void (CGENTRY * CGerrorHandlerFunc)(CGcontext ctx, CGerror err, void *data); +typedef void (CGENTRY * CGIncludeCallbackFunc)(CGcontext ctx, const char *filename); + +/*************************************************************************/ +/*** Functions ***/ +/*************************************************************************/ + +#ifndef CG_EXPLICIT + +/*** Library policy functions ***/ + +CG_API CGenum CGENTRY cgSetLockingPolicy(CGenum lockingPolicy); +CG_API CGenum CGENTRY cgGetLockingPolicy(void); +CG_API CGenum CGENTRY cgSetSemanticCasePolicy(CGenum casePolicy); +CG_API CGenum CGENTRY cgGetSemanticCasePolicy(void); + +/*** Context functions ***/ + +CG_API CGcontext CGENTRY cgCreateContext(void); +CG_API void CGENTRY cgDestroyContext(CGcontext ctx); +CG_API CGbool CGENTRY cgIsContext(CGcontext ctx); +CG_API const char * CGENTRY cgGetLastListing(CGcontext ctx); +CG_API void CGENTRY cgSetLastListing(CGhandle handle, const char *listing); +CG_API void CGENTRY cgSetAutoCompile(CGcontext ctx, CGenum flag); +CG_API CGenum CGENTRY cgGetAutoCompile(CGcontext ctx); +CG_API void CGENTRY cgSetParameterSettingMode(CGcontext ctx, CGenum parameterSettingMode); +CG_API CGenum CGENTRY cgGetParameterSettingMode(CGcontext ctx); + +/*** Inclusion ***/ + +CG_API void CGENTRY cgSetCompilerIncludeString(CGcontext ctx, const char *name, const char *source); +CG_API void CGENTRY cgSetCompilerIncludeFile(CGcontext ctx, const char *name, const char *filename); +CG_API void CGENTRY cgSetCompilerIncludeCallback(CGcontext ctx, CGIncludeCallbackFunc func); +CG_API CGIncludeCallbackFunc CGENTRY cgGetCompilerIncludeCallback(CGcontext ctx); + +/*** Program functions ***/ + +CG_API CGprogram CGENTRY cgCreateProgram(CGcontext ctx, + CGenum program_type, + const char *program, + CGprofile profile, + const char *entry, + const char **args); +CG_API CGprogram CGENTRY cgCreateProgramFromFile(CGcontext ctx, + CGenum program_type, + const char *program_file, + CGprofile profile, + const char *entry, + const char **args); +CG_API CGprogram CGENTRY cgCopyProgram(CGprogram program); +CG_API void CGENTRY cgDestroyProgram(CGprogram program); + +CG_API CGprogram CGENTRY cgGetFirstProgram(CGcontext ctx); +CG_API CGprogram CGENTRY cgGetNextProgram(CGprogram current); +CG_API CGcontext CGENTRY cgGetProgramContext(CGprogram prog); +CG_API CGbool CGENTRY cgIsProgram(CGprogram program); + +CG_API void CGENTRY cgCompileProgram(CGprogram program); +CG_API CGbool CGENTRY cgIsProgramCompiled(CGprogram program); +CG_API const char * CGENTRY cgGetProgramString(CGprogram prog, CGenum pname); +CG_API CGprofile CGENTRY cgGetProgramProfile(CGprogram prog); +CG_API char const * const * CGENTRY cgGetProgramOptions(CGprogram prog); +CG_API void CGENTRY cgSetProgramProfile(CGprogram prog, CGprofile profile); +CG_API CGenum CGENTRY cgGetProgramInput(CGprogram program); +CG_API CGenum CGENTRY cgGetProgramOutput(CGprogram program); +CG_API void CGENTRY cgSetPassProgramParameters(CGprogram); +CG_API void CGENTRY cgUpdateProgramParameters(CGprogram program); +CG_API void CGENTRY cgUpdatePassParameters(CGpass pass); + +/*** Parameter functions ***/ + +CG_API CGparameter CGENTRY cgCreateParameter(CGcontext ctx, CGtype type); +CG_API CGparameter CGENTRY cgCreateParameterArray(CGcontext ctx, + CGtype type, + int length); +CG_API CGparameter CGENTRY cgCreateParameterMultiDimArray(CGcontext ctx, + CGtype type, + int dim, + const int *lengths); +CG_API void CGENTRY cgDestroyParameter(CGparameter param); +CG_API void CGENTRY cgConnectParameter(CGparameter from, CGparameter to); +CG_API void CGENTRY cgDisconnectParameter(CGparameter param); +CG_API CGparameter CGENTRY cgGetConnectedParameter(CGparameter param); + +CG_API int CGENTRY cgGetNumConnectedToParameters(CGparameter param); +CG_API CGparameter CGENTRY cgGetConnectedToParameter(CGparameter param, int index); + +CG_API CGparameter CGENTRY cgGetNamedParameter(CGprogram prog, const char *name); +CG_API CGparameter CGENTRY cgGetNamedProgramParameter(CGprogram prog, + CGenum name_space, + const char *name); + +CG_API CGparameter CGENTRY cgGetFirstParameter(CGprogram prog, CGenum name_space); +CG_API CGparameter CGENTRY cgGetNextParameter(CGparameter current); +CG_API CGparameter CGENTRY cgGetFirstLeafParameter(CGprogram prog, CGenum name_space); +CG_API CGparameter CGENTRY cgGetNextLeafParameter(CGparameter current); + +CG_API CGparameter CGENTRY cgGetFirstStructParameter(CGparameter param); +CG_API CGparameter CGENTRY cgGetNamedStructParameter(CGparameter param, + const char *name); + +CG_API CGparameter CGENTRY cgGetFirstDependentParameter(CGparameter param); + +CG_API CGparameter CGENTRY cgGetArrayParameter(CGparameter aparam, int index); +CG_API int CGENTRY cgGetArrayDimension(CGparameter param); +CG_API CGtype CGENTRY cgGetArrayType(CGparameter param); +CG_API int CGENTRY cgGetArraySize(CGparameter param, int dimension); +CG_API int CGENTRY cgGetArrayTotalSize(CGparameter param); +CG_API void CGENTRY cgSetArraySize(CGparameter param, int size); +CG_API void CGENTRY cgSetMultiDimArraySize(CGparameter param, const int *sizes); + +CG_API CGprogram CGENTRY cgGetParameterProgram(CGparameter param); +CG_API CGcontext CGENTRY cgGetParameterContext(CGparameter param); +CG_API CGbool CGENTRY cgIsParameter(CGparameter param); +CG_API const char * CGENTRY cgGetParameterName(CGparameter param); +CG_API CGtype CGENTRY cgGetParameterType(CGparameter param); +CG_API CGtype CGENTRY cgGetParameterBaseType(CGparameter param); +CG_API CGparameterclass CGENTRY cgGetParameterClass(CGparameter param); +CG_API int CGENTRY cgGetParameterRows(CGparameter param); +CG_API int CGENTRY cgGetParameterColumns(CGparameter param); +CG_API CGtype CGENTRY cgGetParameterNamedType(CGparameter param); +CG_API const char * CGENTRY cgGetParameterSemantic(CGparameter param); +CG_API CGresource CGENTRY cgGetParameterResource(CGparameter param); +CG_API CGresource CGENTRY cgGetParameterBaseResource(CGparameter param); +CG_API unsigned long CGENTRY cgGetParameterResourceIndex(CGparameter param); +CG_API CGenum CGENTRY cgGetParameterVariability(CGparameter param); +CG_API CGenum CGENTRY cgGetParameterDirection(CGparameter param); +CG_API CGbool CGENTRY cgIsParameterReferenced(CGparameter param); +CG_API CGbool CGENTRY cgIsParameterUsed(CGparameter param, CGhandle handle); +CG_API const double * CGENTRY cgGetParameterValues(CGparameter param, + CGenum value_type, + int *nvalues); +CG_API void CGENTRY cgSetParameterValuedr(CGparameter param, int n, const double *vals); +CG_API void CGENTRY cgSetParameterValuedc(CGparameter param, int n, const double *vals); +CG_API void CGENTRY cgSetParameterValuefr(CGparameter param, int n, const float *vals); +CG_API void CGENTRY cgSetParameterValuefc(CGparameter param, int n, const float *vals); +CG_API void CGENTRY cgSetParameterValueir(CGparameter param, int n, const int *vals); +CG_API void CGENTRY cgSetParameterValueic(CGparameter param, int n, const int *vals); +CG_API int CGENTRY cgGetParameterValuedr(CGparameter param, int n, double *vals); +CG_API int CGENTRY cgGetParameterValuedc(CGparameter param, int n, double *vals); +CG_API int CGENTRY cgGetParameterValuefr(CGparameter param, int n, float *vals); +CG_API int CGENTRY cgGetParameterValuefc(CGparameter param, int n, float *vals); +CG_API int CGENTRY cgGetParameterValueir(CGparameter param, int n, int *vals); +CG_API int CGENTRY cgGetParameterValueic(CGparameter param, int n, int *vals); +CG_API int CGENTRY cgGetParameterDefaultValuedr(CGparameter param, int n, double *vals); +CG_API int CGENTRY cgGetParameterDefaultValuedc(CGparameter param, int n, double *vals); +CG_API int CGENTRY cgGetParameterDefaultValuefr(CGparameter param, int n, float *vals); +CG_API int CGENTRY cgGetParameterDefaultValuefc(CGparameter param, int n, float *vals); +CG_API int CGENTRY cgGetParameterDefaultValueir(CGparameter param, int n, int *vals); +CG_API int CGENTRY cgGetParameterDefaultValueic(CGparameter param, int n, int *vals); +CG_API const char * CGENTRY cgGetStringParameterValue(CGparameter param); +CG_API void CGENTRY cgSetStringParameterValue(CGparameter param, const char *str); + +CG_API int CGENTRY cgGetParameterOrdinalNumber(CGparameter param); +CG_API CGbool CGENTRY cgIsParameterGlobal(CGparameter param); +CG_API int CGENTRY cgGetParameterIndex(CGparameter param); + +CG_API void CGENTRY cgSetParameterVariability(CGparameter param, CGenum vary); +CG_API void CGENTRY cgSetParameterSemantic(CGparameter param, const char *semantic); + +CG_API void CGENTRY cgSetParameter1f(CGparameter param, float x); +CG_API void CGENTRY cgSetParameter2f(CGparameter param, float x, float y); +CG_API void CGENTRY cgSetParameter3f(CGparameter param, float x, float y, float z); +CG_API void CGENTRY cgSetParameter4f(CGparameter param, + float x, + float y, + float z, + float w); +CG_API void CGENTRY cgSetParameter1d(CGparameter param, double x); +CG_API void CGENTRY cgSetParameter2d(CGparameter param, double x, double y); +CG_API void CGENTRY cgSetParameter3d(CGparameter param, + double x, + double y, + double z); +CG_API void CGENTRY cgSetParameter4d(CGparameter param, + double x, + double y, + double z, + double w); +CG_API void CGENTRY cgSetParameter1i(CGparameter param, int x); +CG_API void CGENTRY cgSetParameter2i(CGparameter param, int x, int y); +CG_API void CGENTRY cgSetParameter3i(CGparameter param, int x, int y, int z); +CG_API void CGENTRY cgSetParameter4i(CGparameter param, + int x, + int y, + int z, + int w); + +CG_API void CGENTRY cgSetParameter1iv(CGparameter param, const int *v); +CG_API void CGENTRY cgSetParameter2iv(CGparameter param, const int *v); +CG_API void CGENTRY cgSetParameter3iv(CGparameter param, const int *v); +CG_API void CGENTRY cgSetParameter4iv(CGparameter param, const int *v); +CG_API void CGENTRY cgSetParameter1fv(CGparameter param, const float *v); +CG_API void CGENTRY cgSetParameter2fv(CGparameter param, const float *v); +CG_API void CGENTRY cgSetParameter3fv(CGparameter param, const float *v); +CG_API void CGENTRY cgSetParameter4fv(CGparameter param, const float *v); +CG_API void CGENTRY cgSetParameter1dv(CGparameter param, const double *v); +CG_API void CGENTRY cgSetParameter2dv(CGparameter param, const double *v); +CG_API void CGENTRY cgSetParameter3dv(CGparameter param, const double *v); +CG_API void CGENTRY cgSetParameter4dv(CGparameter param, const double *v); + +CG_API void CGENTRY cgSetMatrixParameterir(CGparameter param, const int *matrix); +CG_API void CGENTRY cgSetMatrixParameterdr(CGparameter param, const double *matrix); +CG_API void CGENTRY cgSetMatrixParameterfr(CGparameter param, const float *matrix); +CG_API void CGENTRY cgSetMatrixParameteric(CGparameter param, const int *matrix); +CG_API void CGENTRY cgSetMatrixParameterdc(CGparameter param, const double *matrix); +CG_API void CGENTRY cgSetMatrixParameterfc(CGparameter param, const float *matrix); + +CG_API void CGENTRY cgGetMatrixParameterir(CGparameter param, int *matrix); +CG_API void CGENTRY cgGetMatrixParameterdr(CGparameter param, double *matrix); +CG_API void CGENTRY cgGetMatrixParameterfr(CGparameter param, float *matrix); +CG_API void CGENTRY cgGetMatrixParameteric(CGparameter param, int *matrix); +CG_API void CGENTRY cgGetMatrixParameterdc(CGparameter param, double *matrix); +CG_API void CGENTRY cgGetMatrixParameterfc(CGparameter param, float *matrix); + +CG_API CGenum CGENTRY cgGetMatrixParameterOrder(CGparameter param); + +CG_API CGparameter CGENTRY cgGetNamedSubParameter(CGparameter param, const char *name); + +/*** Type Functions ***/ + +CG_API const char * CGENTRY cgGetTypeString(CGtype type); +CG_API CGtype CGENTRY cgGetType(const char *type_string); + +CG_API CGtype CGENTRY cgGetNamedUserType(CGhandle handle, const char *name); + +CG_API int CGENTRY cgGetNumUserTypes(CGhandle handle); +CG_API CGtype CGENTRY cgGetUserType(CGhandle handle, int index); + +CG_API int CGENTRY cgGetNumParentTypes(CGtype type); +CG_API CGtype CGENTRY cgGetParentType(CGtype type, int index); + +CG_API CGbool CGENTRY cgIsParentType(CGtype parent, CGtype child); +CG_API CGbool CGENTRY cgIsInterfaceType(CGtype type); + +/*** Resource Functions ***/ + +CG_API const char * CGENTRY cgGetResourceString(CGresource resource); +CG_API CGresource CGENTRY cgGetResource(const char *resource_string); + +/*** Enum Functions ***/ + +CG_API const char * CGENTRY cgGetEnumString(CGenum en); +CG_API CGenum CGENTRY cgGetEnum(const char *enum_string); + +/*** Profile Functions ***/ + +CG_API const char * CGENTRY cgGetProfileString(CGprofile profile); +CG_API CGprofile CGENTRY cgGetProfile(const char *profile_string); +CG_API int CGENTRY cgGetNumSupportedProfiles(void); +CG_API CGprofile CGENTRY cgGetSupportedProfile(int index); +CG_API CGbool CGENTRY cgIsProfileSupported(CGprofile profile); +CG_API CGbool CGENTRY cgGetProfileProperty(CGprofile profile, CGenum query); + +/*** ParameterClass Functions ***/ + +CG_API const char * CGENTRY cgGetParameterClassString(CGparameterclass pc); +CG_API CGparameterclass CGENTRY cgGetParameterClassEnum(const char * pString); + +/*** Domain Functions ***/ + +CG_API const char * CGENTRY cgGetDomainString(CGdomain domain); +CG_API CGdomain CGENTRY cgGetDomain(const char *domain_string); +CG_API CGdomain CGENTRY cgGetProgramDomain(CGprogram program); + +/*** Error Functions ***/ + +CG_API CGerror CGENTRY cgGetError(void); +CG_API CGerror CGENTRY cgGetFirstError(void); +CG_API const char * CGENTRY cgGetErrorString(CGerror error); +CG_API const char * CGENTRY cgGetLastErrorString(CGerror *error); +CG_API void CGENTRY cgSetErrorCallback(CGerrorCallbackFunc func); +CG_API CGerrorCallbackFunc CGENTRY cgGetErrorCallback(void); +CG_API void CGENTRY cgSetErrorHandler(CGerrorHandlerFunc func, void *data); +CG_API CGerrorHandlerFunc CGENTRY cgGetErrorHandler(void **data); + +/*** Misc Functions ***/ + +CG_API const char * CGENTRY cgGetString(CGenum sname); + + +/*** CgFX Functions ***/ + +CG_API CGeffect CGENTRY cgCreateEffect(CGcontext, const char *code, const char **args); +CG_API CGeffect CGENTRY cgCreateEffectFromFile(CGcontext, const char *filename, + const char **args); +CG_API CGeffect CGENTRY cgCopyEffect(CGeffect effect); +CG_API void CGENTRY cgDestroyEffect(CGeffect); +CG_API CGcontext CGENTRY cgGetEffectContext(CGeffect); +CG_API CGbool CGENTRY cgIsEffect(CGeffect effect); + +CG_API CGeffect CGENTRY cgGetFirstEffect(CGcontext); +CG_API CGeffect CGENTRY cgGetNextEffect(CGeffect); + +CG_API CGprogram CGENTRY cgCreateProgramFromEffect(CGeffect effect, + CGprofile profile, + const char *entry, + const char **args); + +CG_API CGtechnique CGENTRY cgGetFirstTechnique(CGeffect); +CG_API CGtechnique CGENTRY cgGetNextTechnique(CGtechnique); +CG_API CGtechnique CGENTRY cgGetNamedTechnique(CGeffect, const char *name); +CG_API const char * CGENTRY cgGetTechniqueName(CGtechnique); +CG_API CGbool CGENTRY cgIsTechnique(CGtechnique); +CG_API CGbool CGENTRY cgValidateTechnique(CGtechnique); +CG_API CGbool CGENTRY cgIsTechniqueValidated(CGtechnique); +CG_API CGeffect CGENTRY cgGetTechniqueEffect(CGtechnique); + +CG_API CGpass CGENTRY cgGetFirstPass(CGtechnique); +CG_API CGpass CGENTRY cgGetNamedPass(CGtechnique, const char *name); +CG_API CGpass CGENTRY cgGetNextPass(CGpass); +CG_API CGbool CGENTRY cgIsPass(CGpass); +CG_API const char * CGENTRY cgGetPassName(CGpass); +CG_API CGtechnique CGENTRY cgGetPassTechnique(CGpass); +CG_API CGprogram CGENTRY cgGetPassProgram(CGpass pass, CGdomain domain); + +CG_API void CGENTRY cgSetPassState(CGpass); +CG_API void CGENTRY cgResetPassState(CGpass); + +CG_API CGstateassignment CGENTRY cgGetFirstStateAssignment(CGpass); +CG_API CGstateassignment CGENTRY cgGetNamedStateAssignment(CGpass, const char *name); +CG_API CGstateassignment CGENTRY cgGetNextStateAssignment(CGstateassignment); +CG_API CGbool CGENTRY cgIsStateAssignment(CGstateassignment); +CG_API CGbool CGENTRY cgCallStateSetCallback(CGstateassignment); +CG_API CGbool CGENTRY cgCallStateValidateCallback(CGstateassignment); +CG_API CGbool CGENTRY cgCallStateResetCallback(CGstateassignment); +CG_API CGpass CGENTRY cgGetStateAssignmentPass(CGstateassignment); +CG_API CGparameter CGENTRY cgGetSamplerStateAssignmentParameter(CGstateassignment); + +CG_API const float * CGENTRY cgGetFloatStateAssignmentValues(CGstateassignment, int *nVals); +CG_API const int * CGENTRY cgGetIntStateAssignmentValues(CGstateassignment, int *nVals); +CG_API const CGbool * CGENTRY cgGetBoolStateAssignmentValues(CGstateassignment, int *nVals); +CG_API const char * CGENTRY cgGetStringStateAssignmentValue(CGstateassignment); +CG_API CGprogram CGENTRY cgGetProgramStateAssignmentValue(CGstateassignment); +CG_API CGparameter CGENTRY cgGetTextureStateAssignmentValue(CGstateassignment); +CG_API CGparameter CGENTRY cgGetSamplerStateAssignmentValue(CGstateassignment); +CG_API int CGENTRY cgGetStateAssignmentIndex(CGstateassignment); + +CG_API int CGENTRY cgGetNumDependentStateAssignmentParameters(CGstateassignment); +CG_API CGparameter CGENTRY cgGetDependentStateAssignmentParameter(CGstateassignment, int index); + +CG_API CGparameter CGENTRY cgGetConnectedStateAssignmentParameter(CGstateassignment); + +CG_API CGstate CGENTRY cgGetStateAssignmentState(CGstateassignment); +CG_API CGstate CGENTRY cgGetSamplerStateAssignmentState(CGstateassignment); + +CG_API CGstate CGENTRY cgCreateState(CGcontext, const char *name, CGtype); +CG_API CGstate CGENTRY cgCreateArrayState(CGcontext, const char *name, CGtype, int nelems); +CG_API void CGENTRY cgSetStateCallbacks(CGstate, CGstatecallback set, CGstatecallback reset, + CGstatecallback validate); +CG_API void CGENTRY cgSetStateLatestProfile(CGstate, CGprofile); +CG_API CGstatecallback CGENTRY cgGetStateSetCallback(CGstate); +CG_API CGstatecallback CGENTRY cgGetStateResetCallback(CGstate); +CG_API CGstatecallback CGENTRY cgGetStateValidateCallback(CGstate); +CG_API CGprofile CGENTRY cgGetStateLatestProfile(CGstate); +CG_API CGcontext CGENTRY cgGetStateContext(CGstate); +CG_API CGtype CGENTRY cgGetStateType(CGstate); +CG_API const char * CGENTRY cgGetStateName(CGstate); +CG_API CGstate CGENTRY cgGetNamedState(CGcontext, const char *name); +CG_API CGstate CGENTRY cgGetFirstState(CGcontext); +CG_API CGstate CGENTRY cgGetNextState(CGstate); +CG_API CGbool CGENTRY cgIsState(CGstate); +CG_API void CGENTRY cgAddStateEnumerant(CGstate, const char *name, int value); + +CG_API CGstate CGENTRY cgCreateSamplerState(CGcontext, const char *name, CGtype); +CG_API CGstate CGENTRY cgCreateArraySamplerState(CGcontext, const char *name, CGtype, int nelems); +CG_API CGstate CGENTRY cgGetNamedSamplerState(CGcontext, const char *name); +CG_API CGstate CGENTRY cgGetFirstSamplerState(CGcontext); + +CG_API CGstateassignment CGENTRY cgGetFirstSamplerStateAssignment(CGparameter); +CG_API CGstateassignment CGENTRY cgGetNamedSamplerStateAssignment(CGparameter, const char *); +CG_API void CGENTRY cgSetSamplerState(CGparameter); + +CG_API CGparameter CGENTRY cgGetNamedEffectParameter(CGeffect, const char *); +CG_API CGparameter CGENTRY cgGetFirstLeafEffectParameter(CGeffect); +CG_API CGparameter CGENTRY cgGetFirstEffectParameter(CGeffect); +CG_API CGparameter CGENTRY cgGetEffectParameterBySemantic(CGeffect, const char *); + +CG_API CGannotation CGENTRY cgGetFirstTechniqueAnnotation(CGtechnique); +CG_API CGannotation CGENTRY cgGetFirstPassAnnotation(CGpass); +CG_API CGannotation CGENTRY cgGetFirstParameterAnnotation(CGparameter); +CG_API CGannotation CGENTRY cgGetFirstProgramAnnotation(CGprogram); +CG_API CGannotation CGENTRY cgGetFirstEffectAnnotation(CGeffect); +CG_API CGannotation CGENTRY cgGetNextAnnotation(CGannotation); + +CG_API CGannotation CGENTRY cgGetNamedTechniqueAnnotation(CGtechnique, const char *); +CG_API CGannotation CGENTRY cgGetNamedPassAnnotation(CGpass, const char *); +CG_API CGannotation CGENTRY cgGetNamedParameterAnnotation(CGparameter, const char *); +CG_API CGannotation CGENTRY cgGetNamedProgramAnnotation(CGprogram, const char *); +CG_API CGannotation CGENTRY cgGetNamedEffectAnnotation(CGeffect, const char *); + +CG_API CGbool CGENTRY cgIsAnnotation(CGannotation); + +CG_API const char * CGENTRY cgGetAnnotationName(CGannotation); +CG_API CGtype CGENTRY cgGetAnnotationType(CGannotation); + +CG_API const float * CGENTRY cgGetFloatAnnotationValues(CGannotation, int *nvalues); +CG_API const int * CGENTRY cgGetIntAnnotationValues(CGannotation, int *nvalues); +CG_API const char * CGENTRY cgGetStringAnnotationValue(CGannotation); +CG_API const char * const * CGENTRY cgGetStringAnnotationValues(CGannotation, int *nvalues); +CG_API const CGbool * CGENTRY cgGetBoolAnnotationValues(CGannotation, int *nvalues); +CG_API const int * CGENTRY cgGetBooleanAnnotationValues(CGannotation, int *nvalues); + +CG_API int CGENTRY cgGetNumDependentAnnotationParameters(CGannotation); +CG_API CGparameter CGENTRY cgGetDependentAnnotationParameter(CGannotation, int index); + +CG_API void CGENTRY cgEvaluateProgram(CGprogram, float *, int ncomps, int nx, int ny, int nz); + +/*** Cg 1.5 Additions ***/ + +CG_API CGbool CGENTRY cgSetEffectName(CGeffect, const char *name); +CG_API const char * CGENTRY cgGetEffectName(CGeffect); +CG_API CGeffect CGENTRY cgGetNamedEffect(CGcontext, const char *name); +CG_API CGparameter CGENTRY cgCreateEffectParameter(CGeffect, const char *name, CGtype); + +CG_API CGtechnique CGENTRY cgCreateTechnique(CGeffect, const char *name); + +CG_API CGparameter CGENTRY cgCreateEffectParameterArray(CGeffect, const char *name, CGtype type, int length); +CG_API CGparameter CGENTRY cgCreateEffectParameterMultiDimArray(CGeffect, const char *name, CGtype type, int dim, const int *lengths); + +CG_API CGpass CGENTRY cgCreatePass(CGtechnique, const char *name); + +CG_API CGstateassignment CGENTRY cgCreateStateAssignment(CGpass, CGstate); +CG_API CGstateassignment CGENTRY cgCreateStateAssignmentIndex(CGpass, CGstate, int index); +CG_API CGstateassignment CGENTRY cgCreateSamplerStateAssignment(CGparameter, CGstate); + +CG_API CGbool CGENTRY cgSetFloatStateAssignment(CGstateassignment, float); +CG_API CGbool CGENTRY cgSetIntStateAssignment(CGstateassignment, int); +CG_API CGbool CGENTRY cgSetBoolStateAssignment(CGstateassignment, CGbool); +CG_API CGbool CGENTRY cgSetStringStateAssignment(CGstateassignment, const char *); +CG_API CGbool CGENTRY cgSetProgramStateAssignment(CGstateassignment, CGprogram); +CG_API CGbool CGENTRY cgSetSamplerStateAssignment(CGstateassignment, CGparameter); +CG_API CGbool CGENTRY cgSetTextureStateAssignment(CGstateassignment, CGparameter); + +CG_API CGbool CGENTRY cgSetFloatArrayStateAssignment(CGstateassignment, const float *vals); +CG_API CGbool CGENTRY cgSetIntArrayStateAssignment(CGstateassignment, const int *vals); +CG_API CGbool CGENTRY cgSetBoolArrayStateAssignment(CGstateassignment, const CGbool *vals); + +CG_API CGannotation CGENTRY cgCreateTechniqueAnnotation(CGtechnique, const char *name, CGtype); +CG_API CGannotation CGENTRY cgCreatePassAnnotation(CGpass, const char *name, CGtype); +CG_API CGannotation CGENTRY cgCreateParameterAnnotation(CGparameter, const char *name, CGtype); +CG_API CGannotation CGENTRY cgCreateProgramAnnotation(CGprogram, const char *name, CGtype); +CG_API CGannotation CGENTRY cgCreateEffectAnnotation(CGeffect, const char *name, CGtype); + +CG_API CGbool CGENTRY cgSetIntAnnotation(CGannotation, int value); +CG_API CGbool CGENTRY cgSetFloatAnnotation(CGannotation, float value); +CG_API CGbool CGENTRY cgSetBoolAnnotation(CGannotation, CGbool value); +CG_API CGbool CGENTRY cgSetStringAnnotation(CGannotation, const char *value); + +CG_API int CGENTRY cgGetNumStateEnumerants(CGstate); +CG_API const char * CGENTRY cgGetStateEnumerant(CGstate, int index, int* value); +CG_API const char * CGENTRY cgGetStateEnumerantName(CGstate, int value); +CG_API int CGENTRY cgGetStateEnumerantValue(CGstate, const char *name); + +CG_API CGeffect CGENTRY cgGetParameterEffect(CGparameter param); + +CG_API CGparameterclass CGENTRY cgGetTypeClass(CGtype type); +CG_API CGtype CGENTRY cgGetTypeBase(CGtype type); +CG_API CGbool CGENTRY cgGetTypeSizes(CGtype type, int *nrows, int *ncols); +CG_API void CGENTRY cgGetMatrixSize(CGtype type, int *nrows, int *ncols); + +CG_API int CGENTRY cgGetNumProgramDomains( CGprogram program ); +CG_API CGdomain CGENTRY cgGetProfileDomain( CGprofile profile ); +CG_API CGprogram CGENTRY cgCombinePrograms( int n, const CGprogram *exeList ); +CG_API CGprogram CGENTRY cgCombinePrograms2( const CGprogram exe1, const CGprogram exe2 ); +CG_API CGprogram CGENTRY cgCombinePrograms3( const CGprogram exe1, const CGprogram exe2, const CGprogram exe3 ); +CG_API CGprofile CGENTRY cgGetProgramDomainProfile(CGprogram program, int index); +CG_API CGprogram CGENTRY cgGetProgramDomainProgram(CGprogram program, int index); + +/*** CGobj Functions ***/ +CG_API CGobj CGENTRY cgCreateObj( CGcontext context, CGenum program_type, const char *source, CGprofile profile, const char **args ); +CG_API CGobj CGENTRY cgCreateObjFromFile( CGcontext context, CGenum program_type, const char *source_file, CGprofile profile, const char **args ); +CG_API void CGENTRY cgDestroyObj( CGobj obj ); + +CG_API long CGENTRY cgGetParameterResourceSize(CGparameter); +CG_API CGtype CGENTRY cgGetParameterResourceType(CGparameter); +CG_API const char* CGENTRY cgGetParameterResourceName(CGparameter param); +CG_API int CGENTRY cgGetParameterBufferIndex(CGparameter); +CG_API int CGENTRY cgGetParameterBufferOffset(CGparameter); + +CG_API CGbuffer CGENTRY cgCreateBuffer(CGcontext, int size, const void *data, CGbufferusage bufferUsage); +CG_API void CGENTRY cgSetBufferData(CGbuffer, int size, const void *data); +CG_API void CGENTRY cgSetBufferSubData(CGbuffer, int offset, int size, const void *data); +CG_API void CGENTRY cgSetProgramBuffer(CGprogram program, int bufferIndex, CGbuffer buffer); + +CG_API void * CGENTRY cgMapBuffer(CGbuffer buffer, CGbufferaccess access); +CG_API void CGENTRY cgUnmapBuffer(CGbuffer buffer); +CG_API void CGENTRY cgDestroyBuffer(CGbuffer buffer); +CG_API CGbuffer CGENTRY cgGetProgramBuffer(CGprogram, int bufferIndex); +CG_API int CGENTRY cgGetBufferSize(CGbuffer); +CG_API int CGENTRY cgGetProgramBufferMaxSize(CGprofile profile); +CG_API int CGENTRY cgGetProgramBufferMaxIndex(CGprofile profile); + +#endif + +#ifdef __cplusplus +} +#endif + +#ifdef CG_APIENTRY_DEFINED +# undef CG_APIENTRY_DEFINED +# undef APIENTRY +#endif + +#ifdef CG_WINGDIAPI_DEFINED +# undef CG_WINGDIAPI_DEFINED +# undef WINGDIAPI +#endif + +#endif diff --git a/Externals/cg/2.2/include/Cg/cgD3D10.h b/Externals/cg/2.2/include/Cg/cgD3D10.h new file mode 100644 index 00000000..0a0b6b72 --- /dev/null +++ b/Externals/cg/2.2/include/Cg/cgD3D10.h @@ -0,0 +1,238 @@ +/* + * + * Copyright (c) 2008-2010, NVIDIA Corporation. + * + * + * + * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration + * of your agreement to the following terms, and your use, installation, + * modification or redistribution of this NVIDIA software constitutes + * acceptance of these terms. If you do not agree with these terms, please do + * not use, install, modify or redistribute this NVIDIA software. + * + * + * + * In consideration of your agreement to abide by the following terms, and + * subject to these terms, NVIDIA grants you a personal, non-exclusive license, + * under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA + * Software"), to use, reproduce, modify and redistribute the NVIDIA + * Software, with or without modifications, in source and/or binary forms; + * provided that if you redistribute the NVIDIA Software, you must retain the + * copyright notice of NVIDIA, this notice and the following text and + * disclaimers in all such redistributions of the NVIDIA Software. Neither the + * name, trademarks, service marks nor logos of NVIDIA Corporation may be used + * to endorse or promote products derived from the NVIDIA Software without + * specific prior written permission from NVIDIA. Except as expressly stated + * in this notice, no other rights or licenses express or implied, are granted + * by NVIDIA herein, including but not limited to any patent rights that may be + * infringed by your derivative works or by other works in which the NVIDIA + * Software may be incorporated. No hardware is licensed hereunder. + * + * + * + * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING + * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION + * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. + * + * + * + * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, + * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST + * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, + * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, + * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + + +#ifndef __CGD3D10_H__ +#define __CGD3D10_H__ + +#ifdef _WIN32 + +#pragma once + +#include <windows.h> +#include <d3d10.h> + +#include "Cg/cg.h" + + + +// Set up for either Win32 import/export/lib. +#ifdef CGD3D10DLL_EXPORTS +#define CGD3D10DLL_API __declspec(dllexport) +#elif defined (CG_LIB) +#define CGD3D10DLL_API +#else +#define CGD3D10DLL_API __declspec(dllimport) +#endif + +#ifndef CGD3D10ENTRY +# ifdef _WIN32 +# define CGD3D10ENTRY __cdecl +# else +# define CGD3D10ENTRY +# endif +#endif + +#ifdef __cplusplus +extern "C" +{ +#endif + +#ifndef CGD3D10_EXPLICIT + +/* ----- D3D Device Control ----- */ + +CGD3D10DLL_API ID3D10Device * CGD3D10ENTRY +cgD3D10GetDevice( + CGcontext Context +); + +CGD3D10DLL_API HRESULT CGD3D10ENTRY +cgD3D10SetDevice( + CGcontext Context, + ID3D10Device * pDevice +); + +/* ----- Texture Functions ----- */ + +CGD3D10DLL_API void CGD3D10ENTRY +cgD3D10SetTextureParameter( + CGparameter Parameter, + ID3D10Resource * pTexture +); + +CGD3D10DLL_API void CGD3D10ENTRY +cgD3D10SetSamplerStateParameter( + CGparameter Parameter, + ID3D10SamplerState * pSamplerState +); + +CGD3D10DLL_API void CGD3D10ENTRY +cgD3D10SetTextureSamplerStateParameter( + CGparameter Parameter, + ID3D10Resource * pTexture, + ID3D10SamplerState * pSamplerState +); + +/* ----- Shader Management ----- */ + +CGD3D10DLL_API HRESULT CGD3D10ENTRY +cgD3D10LoadProgram( + CGprogram Program, + UINT Flags +); + +CGD3D10DLL_API ID3D10Blob * CGD3D10ENTRY +cgD3D10GetCompiledProgram( + CGprogram Program +); + +CGD3D10DLL_API ID3D10Blob * CGD3D10ENTRY +cgD3D10GetProgramErrors( + CGprogram Program +); + +CGD3D10DLL_API CGbool CGD3D10ENTRY +cgD3D10IsProgramLoaded( + CGprogram Program +); + +CGD3D10DLL_API HRESULT CGD3D10ENTRY +cgD3D10BindProgram( + CGprogram Program +); + +CGD3D10DLL_API void CGD3D10ENTRY +cgD3D10UnloadProgram( + CGprogram Program +); + +/* ----- Buffer Management ----- */ + +CGD3D10DLL_API ID3D10Buffer * CGD3D10ENTRY +cgD3D10GetBufferByIndex( + CGprogram Program, + UINT Index +); + +/* ----- CgFX ----- */ + +CGD3D10DLL_API void CGD3D10ENTRY +cgD3D10RegisterStates( + CGcontext Context +); + +CGD3D10DLL_API void CGD3D10ENTRY +cgD3D10SetManageTextureParameters( + CGcontext Context, + CGbool Flag +); + +CGD3D10DLL_API CGbool CGD3D10ENTRY +cgD3D10GetManageTextureParameters( + CGcontext Context +); + +CGD3D10DLL_API ID3D10Blob * CGD3D10ENTRY +cgD3D10GetIASignatureByPass( + CGpass Pass +); + +/* ----- Profile Options ----- */ + +CGD3D10DLL_API CGprofile CGD3D10ENTRY +cgD3D10GetLatestVertexProfile(); + +CGD3D10DLL_API CGprofile CGD3D10ENTRY +cgD3D10GetLatestGeometryProfile(); + +CGD3D10DLL_API CGprofile CGD3D10ENTRY +cgD3D10GetLatestPixelProfile(); + +CGD3D10DLL_API CGbool CGD3D10ENTRY +cgD3D10IsProfileSupported( + CGprofile Profile +); + +/* ----- Utility Functions ----- */ + +CGD3D10DLL_API DWORD CGD3D10ENTRY +cgD3D10TypeToSize( + CGtype Type +); + +CGD3D10DLL_API HRESULT CGD3D10ENTRY +cgD3D10GetLastError(); + +CGD3D10DLL_API const char ** CGD3D10ENTRY +cgD3D10GetOptimalOptions( + CGprofile Profile +); + +CGD3D10DLL_API const char * CGD3D10ENTRY +cgD3D10TranslateCGerror( + CGerror Error +); + +CGD3D10DLL_API const char * CGD3D10ENTRY +cgD3D10TranslateHRESULT( + HRESULT hr +); + +#endif // #ifndef CGD3D10_EXPLICIT + +#ifdef __cplusplus +}; // extern "C" +#endif + +#endif // #ifdef _WIN32 + +#endif // #ifndef __CGD3D10_H__ diff --git a/Externals/cg/2.2/include/Cg/cgD3D8.h b/Externals/cg/2.2/include/Cg/cgD3D8.h new file mode 100644 index 00000000..f92cee16 --- /dev/null +++ b/Externals/cg/2.2/include/Cg/cgD3D8.h @@ -0,0 +1,279 @@ +/* + * + * Copyright (c) 2002-2010, NVIDIA Corporation. + * + * + * + * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration + * of your agreement to the following terms, and your use, installation, + * modification or redistribution of this NVIDIA software constitutes + * acceptance of these terms. If you do not agree with these terms, please do + * not use, install, modify or redistribute this NVIDIA software. + * + * + * + * In consideration of your agreement to abide by the following terms, and + * subject to these terms, NVIDIA grants you a personal, non-exclusive license, + * under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA + * Software"), to use, reproduce, modify and redistribute the NVIDIA + * Software, with or without modifications, in source and/or binary forms; + * provided that if you redistribute the NVIDIA Software, you must retain the + * copyright notice of NVIDIA, this notice and the following text and + * disclaimers in all such redistributions of the NVIDIA Software. Neither the + * name, trademarks, service marks nor logos of NVIDIA Corporation may be used + * to endorse or promote products derived from the NVIDIA Software without + * specific prior written permission from NVIDIA. Except as expressly stated + * in this notice, no other rights or licenses express or implied, are granted + * by NVIDIA herein, including but not limited to any patent rights that may be + * infringed by your derivative works or by other works in which the NVIDIA + * Software may be incorporated. No hardware is licensed hereunder. + * + * + * + * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING + * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION + * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. + * + * + * + * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, + * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST + * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, + * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, + * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ +#ifndef CGD3D8_INCLUDED +#define CGD3D8_INCLUDED + +#ifdef _WIN32 + +#pragma once + +#include "cg.h" +#include <d3d8.h> +#include <d3dx8.h> + +// Set up for either Win32 import/export/lib. +#include <windows.h> +#ifdef CGD3D8DLL_EXPORTS +#define CGD3D8DLL_API __declspec(dllexport) +#elif defined (CG_LIB) +#define CGD3D8DLL_API +#else +#define CGD3D8DLL_API __declspec(dllimport) +#endif + +#ifndef CGD3D8ENTRY +# ifdef _WIN32 +# define CGD3D8ENTRY __cdecl +# else +# define CGD3D8ENTRY +# endif +#endif + +/*--------------------------------------------------------------------------- +// CGerrors that will be fed to cgSetError +// Use cgD3D8TranslateCGerror() to translate these errors into strings. +---------------------------------------------------------------------------*/ +enum cgD3D8Errors +{ + cgD3D8Failed = 1000, + cgD3D8DebugTrace = 1001, +}; + +/*--------------------------------------------------------------------------- +// HRESULTs specific to cgD3D8. When the CGerror is set to cgD3D8Failed +// cgD3D8GetLastError will return an HRESULT that could be one these. +// Use cgD3D8TranslateHRESULT() to translate these errors into strings. +---------------------------------------------------------------------------*/ +static const HRESULT CGD3D8ERR_NOTLOADED = MAKE_HRESULT(1, 0x877, 1); +static const HRESULT CGD3D8ERR_NODEVICE = MAKE_HRESULT(1, 0x877, 2); +static const HRESULT CGD3D8ERR_NOTSAMPLER = MAKE_HRESULT(1, 0x877, 3); +static const HRESULT CGD3D8ERR_INVALIDPROFILE = MAKE_HRESULT(1, 0x877, 4); +static const HRESULT CGD3D8ERR_NULLVALUE = MAKE_HRESULT(1, 0x877, 5); +static const HRESULT CGD3D8ERR_OUTOFRANGE = MAKE_HRESULT(1, 0x877, 6); +static const HRESULT CGD3D8ERR_NOTUNIFORM = MAKE_HRESULT(1, 0x877, 7); +static const HRESULT CGD3D8ERR_NOTMATRIX = MAKE_HRESULT(1, 0x877, 8); +static const HRESULT CGD3D8ERR_INVALIDPARAM = MAKE_HRESULT(1, 0x877, 9); + +static const HRESULT CGD3D8ERR_INVALIDSAMPLERSTATE = MAKE_HRESULT(1, 0x877, 100); +static const HRESULT CGD3D8ERR_INVALIDVEREXDECL = MAKE_HRESULT(1, 0x877, 101); + +/*--------------------------------------------------------------------------- +// Other error return values +---------------------------------------------------------------------------*/ +static const DWORD CGD3D8_INVALID_REG = 0xFFFFFFFF; + +#ifdef __cplusplus +extern "C" +{ +#endif + +/*--------------------------------------------------------------------------- +// Minimal Interface +---------------------------------------------------------------------------*/ + +CGD3D8DLL_API DWORD CGD3D8ENTRY +cgD3D8TypeToSize( + CGtype type +); + +CGD3D8DLL_API DWORD CGD3D8ENTRY +cgD3D8ResourceToInputRegister( + CGresource resource +); + +CGD3D8DLL_API CGbool CGD3D8ENTRY +cgD3D8GetVertexDeclaration( + CGprogram prog, + DWORD decl[MAX_FVF_DECL_SIZE] +); + +CGD3D8DLL_API CGbool CGD3D8ENTRY +cgD3D8ValidateVertexDeclaration( + CGprogram prog, + const DWORD* decl +); + +/*--------------------------------------------------------------------------- +// Expanded Interface +---------------------------------------------------------------------------*/ + +/* ----- D3D Device Control ----------- */ +CGD3D8DLL_API IDirect3DDevice8 * CGD3D8ENTRY +cgD3D8GetDevice(); + +CGD3D8DLL_API HRESULT CGD3D8ENTRY +cgD3D8SetDevice( + IDirect3DDevice8* pDevice +); + +/* ----- Shader Management ----------- */ +CGD3D8DLL_API HRESULT CGD3D8ENTRY +cgD3D8LoadProgram( + CGprogram prog, + CGbool paramShadowing, + DWORD assemFlags, + DWORD vshaderUsage, + const DWORD* vertexDecl +); + +CGD3D8DLL_API HRESULT CGD3D8ENTRY +cgD3D8UnloadProgram( + CGprogram prog +); + +CGD3D8DLL_API CGbool CGD3D8ENTRY +cgD3D8IsProgramLoaded( + CGprogram prog +); + +CGD3D8DLL_API HRESULT CGD3D8ENTRY +cgD3D8BindProgram( + CGprogram prog +); + +/* ----- Parameter Management ----------- */ +CGD3D8DLL_API HRESULT CGD3D8ENTRY +cgD3D8SetUniform( + CGparameter param, + const void* floats +); + +CGD3D8DLL_API HRESULT CGD3D8ENTRY +cgD3D8SetUniformArray( + CGparameter param, + DWORD offset, + DWORD numItems, + const void* values +); + +CGD3D8DLL_API HRESULT CGD3D8ENTRY +cgD3D8SetUniformMatrix( + CGparameter param, + const D3DMATRIX* matrix +); + +CGD3D8DLL_API HRESULT CGD3D8ENTRY +cgD3D8SetUniformMatrixArray( + CGparameter param, + DWORD offset, + DWORD numItems, + const D3DMATRIX* matrices +); + +CGD3D8DLL_API HRESULT CGD3D8ENTRY +cgD3D8SetTexture( + CGparameter param, + IDirect3DBaseTexture8* tex +); + +CGD3D8DLL_API HRESULT CGD3D8ENTRY +cgD3D8SetTextureStageState( + CGparameter param, + D3DTEXTURESTAGESTATETYPE type, + DWORD value +); + +CGD3D8DLL_API HRESULT CGD3D8ENTRY +cgD3D8SetTextureWrapMode( + CGparameter param, + DWORD value +); + +/* ----- Parameter Management (Shadowing) ----------- */ +CGD3D8DLL_API HRESULT CGD3D8ENTRY +cgD3D8EnableParameterShadowing( + CGprogram prog, + CGbool enable +); + +CGD3D8DLL_API CGbool CGD3D8ENTRY +cgD3D8IsParameterShadowingEnabled( + CGprogram prog +); + +/* --------- Profile Options ----------------- */ +CGD3D8DLL_API CGprofile CGD3D8ENTRY +cgD3D8GetLatestVertexProfile(); + +CGD3D8DLL_API CGprofile CGD3D8ENTRY +cgD3D8GetLatestPixelProfile(); + +CGD3D8DLL_API const char * CGD3D8ENTRY +cgD3D8GetOptimalOptions( + CGprofile profile +); + +/* --------- Error reporting ----------------- */ +CGD3D8DLL_API HRESULT CGD3D8ENTRY +cgD3D8GetLastError(); + +CGD3D8DLL_API const char * CGD3D8ENTRY +cgD3D8TranslateCGerror( + CGerror error +); + +CGD3D8DLL_API const char * CGD3D8ENTRY +cgD3D8TranslateHRESULT( + HRESULT hr +); + +CGD3D8DLL_API void CGD3D8ENTRY +cgD3D8EnableDebugTracing( + CGbool enable +); + +#ifdef __cplusplus +}; +#endif + +#endif // _WIN32 + +#endif diff --git a/Externals/cg/2.2/include/Cg/cgD3D9.h b/Externals/cg/2.2/include/Cg/cgD3D9.h new file mode 100644 index 00000000..af6db187 --- /dev/null +++ b/Externals/cg/2.2/include/Cg/cgD3D9.h @@ -0,0 +1,317 @@ +/* + * + * Copyright (c) 2002-2010, NVIDIA Corporation. + * + * + * + * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration + * of your agreement to the following terms, and your use, installation, + * modification or redistribution of this NVIDIA software constitutes + * acceptance of these terms. If you do not agree with these terms, please do + * not use, install, modify or redistribute this NVIDIA software. + * + * + * + * In consideration of your agreement to abide by the following terms, and + * subject to these terms, NVIDIA grants you a personal, non-exclusive license, + * under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA + * Software"), to use, reproduce, modify and redistribute the NVIDIA + * Software, with or without modifications, in source and/or binary forms; + * provided that if you redistribute the NVIDIA Software, you must retain the + * copyright notice of NVIDIA, this notice and the following text and + * disclaimers in all such redistributions of the NVIDIA Software. Neither the + * name, trademarks, service marks nor logos of NVIDIA Corporation may be used + * to endorse or promote products derived from the NVIDIA Software without + * specific prior written permission from NVIDIA. Except as expressly stated + * in this notice, no other rights or licenses express or implied, are granted + * by NVIDIA herein, including but not limited to any patent rights that may be + * infringed by your derivative works or by other works in which the NVIDIA + * Software may be incorporated. No hardware is licensed hereunder. + * + * + * + * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING + * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION + * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. + * + * + * + * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, + * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST + * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, + * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, + * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ +#ifndef CGD3D9_INCLUDED +#define CGD3D9_INCLUDED + +#ifdef _WIN32 + +#pragma once + +#include "cg.h" +#include <d3d9.h> +#include <d3dx9.h> + +// Set up for either Win32 import/export/lib. +#include <windows.h> +#ifdef CGD3D9DLL_EXPORTS +#define CGD3D9DLL_API __declspec(dllexport) +#elif defined (CG_LIB) +#define CGD3D9DLL_API +#else +#define CGD3D9DLL_API __declspec(dllimport) +#endif + +#ifndef CGD3D9ENTRY +# ifdef _WIN32 +# define CGD3D9ENTRY __cdecl +# else +# define CGD3D9ENTRY +# endif +#endif + +/*--------------------------------------------------------------------------- +// CGerrors that will be fed to cgSetError +// Use cgD3D9TranslateCGerror() to translate these errors into strings. +---------------------------------------------------------------------------*/ +enum cgD3D9Errors +{ + cgD3D9Failed = 1000, + cgD3D9DebugTrace = 1001, +}; + +/*--------------------------------------------------------------------------- +// HRESULTs specific to cgD3D9. When the CGerror is set to cgD3D9Failed +// cgD3D9GetLastError will return an HRESULT that could be one these. +// Use cgD3D9TranslateHRESULT() to translate these errors into strings. +---------------------------------------------------------------------------*/ +static const HRESULT CGD3D9ERR_NOTLOADED = MAKE_HRESULT(1, 0x877, 1); +static const HRESULT CGD3D9ERR_NODEVICE = MAKE_HRESULT(1, 0x877, 2); +static const HRESULT CGD3D9ERR_NOTSAMPLER = MAKE_HRESULT(1, 0x877, 3); +static const HRESULT CGD3D9ERR_INVALIDPROFILE = MAKE_HRESULT(1, 0x877, 4); +static const HRESULT CGD3D9ERR_NULLVALUE = MAKE_HRESULT(1, 0x877, 5); +static const HRESULT CGD3D9ERR_OUTOFRANGE = MAKE_HRESULT(1, 0x877, 6); +static const HRESULT CGD3D9ERR_NOTUNIFORM = MAKE_HRESULT(1, 0x877, 7); +static const HRESULT CGD3D9ERR_NOTMATRIX = MAKE_HRESULT(1, 0x877, 8); +static const HRESULT CGD3D9ERR_INVALIDPARAM = MAKE_HRESULT(1, 0x877, 9); + +/*--------------------------------------------------------------------------- +// Other error return values +---------------------------------------------------------------------------*/ +static const DWORD CGD3D9_INVALID_USAGE = 0xFF; + +#ifdef __cplusplus +extern "C" +{ +#endif + +#ifndef CGD3D9_EXPLICIT + +/*--------------------------------------------------------------------------- +// Minimal Interface +---------------------------------------------------------------------------*/ + +CGD3D9DLL_API DWORD CGD3D9ENTRY +cgD3D9TypeToSize( + CGtype type +); + +CGD3D9DLL_API BYTE CGD3D9ENTRY +cgD3D9ResourceToDeclUsage( + CGresource resource +); + +CGD3D9DLL_API CGbool CGD3D9ENTRY +cgD3D9GetVertexDeclaration( + CGprogram prog, + D3DVERTEXELEMENT9 decl[MAXD3DDECLLENGTH] +); + +CGD3D9DLL_API CGbool CGD3D9ENTRY +cgD3D9ValidateVertexDeclaration( + CGprogram prog, + const D3DVERTEXELEMENT9* decl +); + +/*--------------------------------------------------------------------------- +// Expanded Interface +---------------------------------------------------------------------------*/ + +/* ----- D3D Device Control ----------- */ +CGD3D9DLL_API IDirect3DDevice9 * CGD3D9ENTRY +cgD3D9GetDevice(); + +CGD3D9DLL_API HRESULT CGD3D9ENTRY +cgD3D9SetDevice( + IDirect3DDevice9* pDevice +); + +/* ----- Shader Management ----------- */ + +CGD3D9DLL_API HRESULT CGD3D9ENTRY +cgD3D9LoadProgram( + CGprogram prog, + CGbool paramShadowing, + DWORD assemFlags +); + +CGD3D9DLL_API HRESULT CGD3D9ENTRY +cgD3D9UnloadProgram( + CGprogram prog +); + +CGD3D9DLL_API CGbool CGD3D9ENTRY +cgD3D9IsProgramLoaded( + CGprogram prog +); + +CGD3D9DLL_API HRESULT CGD3D9ENTRY +cgD3D9BindProgram( + CGprogram prog +); + +/* ----- Parameter Management ----------- */ +CGD3D9DLL_API HRESULT CGD3D9ENTRY +cgD3D9SetUniform( + CGparameter param, + const void* floats +); + +CGD3D9DLL_API HRESULT CGD3D9ENTRY +cgD3D9SetUniformArray( + CGparameter param, + DWORD offset, + DWORD numItems, + const void* values +); + +CGD3D9DLL_API HRESULT CGD3D9ENTRY +cgD3D9SetUniformMatrix( + CGparameter param, + const D3DMATRIX* matrix +); + +CGD3D9DLL_API HRESULT CGD3D9ENTRY +cgD3D9SetUniformMatrixArray( + CGparameter param, + DWORD offset, + DWORD numItems, + const D3DMATRIX* matrices +); + +CGD3D9DLL_API HRESULT CGD3D9ENTRY +cgD3D9SetTexture( + CGparameter param, + IDirect3DBaseTexture9* tex +); + +CGD3D9DLL_API HRESULT CGD3D9ENTRY +cgD3D9SetSamplerState( + CGparameter param, + D3DSAMPLERSTATETYPE type, + DWORD value +); + +CGD3D9DLL_API HRESULT CGD3D9ENTRY +cgD3D9SetTextureWrapMode( + CGparameter param, + DWORD value +); + +/* ----- Parameter Management (Shadowing) ----------- */ +CGD3D9DLL_API HRESULT CGD3D9ENTRY +cgD3D9EnableParameterShadowing( + CGprogram prog, + CGbool enable +); + +CGD3D9DLL_API CGbool CGD3D9ENTRY +cgD3D9IsParameterShadowingEnabled( + CGprogram prog +); + +/* --------- Profile Options ----------------- */ +CGD3D9DLL_API CGprofile CGD3D9ENTRY +cgD3D9GetLatestVertexProfile(); + +CGD3D9DLL_API CGprofile CGD3D9ENTRY +cgD3D9GetLatestPixelProfile(); + +CGD3D9DLL_API const char * * CGD3D9ENTRY +cgD3D9GetOptimalOptions( + CGprofile profile +); + +CGD3D9DLL_API CGbool CGD3D9ENTRY +cgD3D9IsProfileSupported( + CGprofile profile +); + +/* --------- Error reporting ----------------- */ +CGD3D9DLL_API HRESULT CGD3D9ENTRY +cgD3D9GetLastError(); + +CGD3D9DLL_API const char * CGD3D9ENTRY +cgD3D9TranslateCGerror( + CGerror error +); + +CGD3D9DLL_API const char * CGD3D9ENTRY +cgD3D9TranslateHRESULT( + HRESULT hr +); + +CGD3D9DLL_API void CGD3D9ENTRY +cgD3D9EnableDebugTracing( + CGbool enable +); + +/* --------- CgFX support -------------------- */ + +CGD3D9DLL_API void CGD3D9ENTRY +cgD3D9RegisterStates( + CGcontext ctx +); + +CGD3D9DLL_API void CGD3D9ENTRY +cgD3D9SetManageTextureParameters( + CGcontext ctx, + CGbool flag +); + +CGD3D9DLL_API CGbool CGD3D9ENTRY +cgD3D9GetManageTextureParameters( + CGcontext ctx +); + +CGD3D9DLL_API IDirect3DBaseTexture9 * CGD3D9ENTRY +cgD3D9GetTextureParameter( + CGparameter param +); + +CGD3D9DLL_API void CGD3D9ENTRY +cgD3D9SetTextureParameter( + CGparameter param, + IDirect3DBaseTexture9 *tex +); + +CGD3D9DLL_API void CGD3D9ENTRY +cgD3D9UnloadAllPrograms( void ); + + +#endif + +#ifdef __cplusplus +}; +#endif + +#endif // _WIN32 + +#endif diff --git a/Externals/cg/2.2/include/Cg/cgGL.h b/Externals/cg/2.2/include/Cg/cgGL.h new file mode 100644 index 00000000..48806a69 --- /dev/null +++ b/Externals/cg/2.2/include/Cg/cgGL.h @@ -0,0 +1,427 @@ +/* + * + * Copyright (c) 2002-2010, NVIDIA Corporation. + * + * + * + * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration + * of your agreement to the following terms, and your use, installation, + * modification or redistribution of this NVIDIA software constitutes + * acceptance of these terms. If you do not agree with these terms, please do + * not use, install, modify or redistribute this NVIDIA software. + * + * + * + * In consideration of your agreement to abide by the following terms, and + * subject to these terms, NVIDIA grants you a personal, non-exclusive license, + * under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA + * Software"), to use, reproduce, modify and redistribute the NVIDIA + * Software, with or without modifications, in source and/or binary forms; + * provided that if you redistribute the NVIDIA Software, you must retain the + * copyright notice of NVIDIA, this notice and the following text and + * disclaimers in all such redistributions of the NVIDIA Software. Neither the + * name, trademarks, service marks nor logos of NVIDIA Corporation may be used + * to endorse or promote products derived from the NVIDIA Software without + * specific prior written permission from NVIDIA. Except as expressly stated + * in this notice, no other rights or licenses express or implied, are granted + * by NVIDIA herein, including but not limited to any patent rights that may be + * infringed by your derivative works or by other works in which the NVIDIA + * Software may be incorporated. No hardware is licensed hereunder. + * + * + * + * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING + * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION + * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. + * + * + * + * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, + * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST + * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, + * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, + * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +#ifndef _cggl_h +#define _cggl_h + +#include <Cg/cg.h> + +#ifdef _WIN32 +# ifndef APIENTRY /* From Win32's <windef.h> */ +# define CGGL_APIENTRY_DEFINED +# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) || defined(__LCC__) +# define APIENTRY __stdcall +# else +# define APIENTRY +# endif +# endif +# ifndef WINGDIAPI /* From Win32's <wingdi.h> and <winnt.h> */ +# define CGGL_WINGDIAPI_DEFINED +# define WINGDIAPI __declspec(dllimport) +# endif +#endif /* _WIN32 */ + +/* Set up for either Win32 import/export/lib. */ +#ifndef CGGL_API +# ifdef CGGL_EXPORTS +# ifdef _WIN32 +# define CGGL_API __declspec(dllexport) +# elif defined(__GNUC__) && __GNUC__>=4 +# define CGGL_API __attribute__ ((visibility("default"))) +# elif defined(__SUNPRO_C) || defined(__SUNPRO_CC) +# define CGGL_API __global +# else +# define CGGL_API +# endif +# else +# define CGGL_API +# endif +#endif + +#ifndef CGGLENTRY +# ifdef _WIN32 +# define CGGLENTRY __cdecl +# else +# define CGGLENTRY +# endif +#endif + +#ifdef __APPLE__ +#include <OpenGL/gl.h> +#else +#include <GL/gl.h> +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/*****************************************************************************/ +/*** cgGL Type Definitions ***/ +/*****************************************************************************/ + +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, + CG_GL_PROJECTION_MATRIX, + CG_GL_TEXTURE_MATRIX, + CG_GL_MODELVIEW_PROJECTION_MATRIX, + + CG_GL_VERTEX, + CG_GL_FRAGMENT, + CG_GL_GEOMETRY + + } CGGLenum; + + +#ifndef CGGL_EXPLICIT + +/****************************************************************************** + *** Profile Functions + *****************************************************************************/ + +CGGL_API CGbool CGGLENTRY cgGLIsProfileSupported(CGprofile profile); + +CGGL_API void CGGLENTRY cgGLEnableProfile(CGprofile profile); +CGGL_API void CGGLENTRY cgGLDisableProfile(CGprofile profile); + +CGGL_API CGprofile CGGLENTRY cgGLGetLatestProfile(CGGLenum profile_type); +CGGL_API void CGGLENTRY cgGLSetOptimalOptions(CGprofile profile); +CGGL_API char const ** CGGLENTRY cgGLGetOptimalOptions(CGprofile profile); + +/****************************************************************************** + *** Program Managment Functions + *****************************************************************************/ + +CGGL_API void CGGLENTRY cgGLLoadProgram(CGprogram program); +CGGL_API void CGGLENTRY cgGLUnloadProgram(CGprogram program); +CGGL_API CGbool CGGLENTRY cgGLIsProgramLoaded(CGprogram program); +CGGL_API void CGGLENTRY cgGLBindProgram(CGprogram program); +CGGL_API void CGGLENTRY cgGLUnbindProgram(CGprofile profile); +CGGL_API GLuint CGGLENTRY cgGLGetProgramID(CGprogram program); + +/****************************************************************************** + *** Parameter Managment Functions + *****************************************************************************/ + +CGGL_API void CGGLENTRY cgGLSetParameter1f(CGparameter param, + float x); + +CGGL_API void CGGLENTRY cgGLSetParameter2f(CGparameter param, + float x, + float y); + +CGGL_API void CGGLENTRY cgGLSetParameter3f(CGparameter param, + float x, + float y, + float z); + +CGGL_API void CGGLENTRY cgGLSetParameter4f(CGparameter param, + float x, + float y, + float z, + float w); + +CGGL_API void CGGLENTRY cgGLSetParameter1fv(CGparameter param, const float *v); + +CGGL_API void CGGLENTRY cgGLSetParameter2fv(CGparameter param, const float *v); + +CGGL_API void CGGLENTRY cgGLSetParameter3fv(CGparameter param, const float *v); + +CGGL_API void CGGLENTRY cgGLSetParameter4fv(CGparameter param, const float *v); + +CGGL_API void CGGLENTRY cgGLSetParameter1d(CGparameter param, + double x); + +CGGL_API void CGGLENTRY cgGLSetParameter2d(CGparameter param, + double x, + double y); + +CGGL_API void CGGLENTRY cgGLSetParameter3d(CGparameter param, + double x, + double y, + double z); + +CGGL_API void CGGLENTRY cgGLSetParameter4d(CGparameter param, + double x, + double y, + double z, + double w); + +CGGL_API void CGGLENTRY cgGLSetParameter1dv(CGparameter param, const double *v); + +CGGL_API void CGGLENTRY cgGLSetParameter2dv(CGparameter param, const double *v); + +CGGL_API void CGGLENTRY cgGLSetParameter3dv(CGparameter param, const double *v); + +CGGL_API void CGGLENTRY cgGLSetParameter4dv(CGparameter param, const double *v); + +CGGL_API void CGGLENTRY cgGLGetParameter1f(CGparameter param, float *v); + +CGGL_API void CGGLENTRY cgGLGetParameter2f(CGparameter param, float *v); + +CGGL_API void CGGLENTRY cgGLGetParameter3f(CGparameter param, float *v); + +CGGL_API void CGGLENTRY cgGLGetParameter4f(CGparameter param, float *v); + +CGGL_API void CGGLENTRY cgGLGetParameter1d(CGparameter param, double *v); + +CGGL_API void CGGLENTRY cgGLGetParameter2d(CGparameter param, double *v); + +CGGL_API void CGGLENTRY cgGLGetParameter3d(CGparameter param, double *v); + +CGGL_API void CGGLENTRY cgGLGetParameter4d(CGparameter param, double *v); + +CGGL_API void CGGLENTRY cgGLSetParameterArray1f(CGparameter param, + long offset, + long nelements, + const float *v); + +CGGL_API void CGGLENTRY cgGLSetParameterArray2f(CGparameter param, + long offset, + long nelements, + const float *v); + +CGGL_API void CGGLENTRY cgGLSetParameterArray3f(CGparameter param, + long offset, + long nelements, + const float *v); + +CGGL_API void CGGLENTRY cgGLSetParameterArray4f(CGparameter param, + long offset, + long nelements, + const float *v); + +CGGL_API void CGGLENTRY cgGLSetParameterArray1d(CGparameter param, + long offset, + long nelements, + const double *v); + +CGGL_API void CGGLENTRY cgGLSetParameterArray2d(CGparameter param, + long offset, + long nelements, + const double *v); + +CGGL_API void CGGLENTRY cgGLSetParameterArray3d(CGparameter param, + long offset, + long nelements, + const double *v); + +CGGL_API void CGGLENTRY cgGLSetParameterArray4d(CGparameter param, + long offset, + long nelements, + const double *v); + +CGGL_API void CGGLENTRY cgGLGetParameterArray1f(CGparameter param, + long offset, + long nelements, + float *v); + +CGGL_API void CGGLENTRY cgGLGetParameterArray2f(CGparameter param, + long offset, + long nelements, + float *v); + +CGGL_API void CGGLENTRY cgGLGetParameterArray3f(CGparameter param, + long offset, + long nelements, + float *v); + +CGGL_API void CGGLENTRY cgGLGetParameterArray4f(CGparameter param, + long offset, + long nelements, + float *v); + +CGGL_API void CGGLENTRY cgGLGetParameterArray1d(CGparameter param, + long offset, + long nelements, + double *v); + +CGGL_API void CGGLENTRY cgGLGetParameterArray2d(CGparameter param, + long offset, + long nelements, + double *v); + +CGGL_API void CGGLENTRY cgGLGetParameterArray3d(CGparameter param, + long offset, + long nelements, + double *v); + +CGGL_API void CGGLENTRY cgGLGetParameterArray4d(CGparameter param, + long offset, + long nelements, + double *v); + +CGGL_API void CGGLENTRY cgGLSetParameterPointer(CGparameter param, + GLint fsize, + GLenum type, + GLsizei stride, + const GLvoid *pointer); + +CGGL_API void CGGLENTRY cgGLEnableClientState(CGparameter param); +CGGL_API void CGGLENTRY cgGLDisableClientState(CGparameter param); + +/****************************************************************************** + *** Matrix Parameter Managment Functions + *****************************************************************************/ + +CGGL_API void CGGLENTRY cgGLSetMatrixParameterdr(CGparameter param, + const double *matrix); +CGGL_API void CGGLENTRY cgGLSetMatrixParameterfr(CGparameter param, + const float *matrix); +CGGL_API void CGGLENTRY cgGLSetMatrixParameterdc(CGparameter param, + const double *matrix); +CGGL_API void CGGLENTRY cgGLSetMatrixParameterfc(CGparameter param, + const float *matrix); + +CGGL_API void CGGLENTRY cgGLGetMatrixParameterdr(CGparameter param, double *matrix); +CGGL_API void CGGLENTRY cgGLGetMatrixParameterfr(CGparameter param, float *matrix); +CGGL_API void CGGLENTRY cgGLGetMatrixParameterdc(CGparameter param, double *matrix); +CGGL_API void CGGLENTRY cgGLGetMatrixParameterfc(CGparameter param, float *matrix); + +CGGL_API void CGGLENTRY cgGLSetStateMatrixParameter(CGparameter param, + CGGLenum matrix, + CGGLenum transform); + +CGGL_API void CGGLENTRY cgGLSetMatrixParameterArrayfc(CGparameter param, + long offset, + long nelements, + const float *matrices); + +CGGL_API void CGGLENTRY cgGLSetMatrixParameterArrayfr(CGparameter param, + long offset, + long nelements, + const float *matrices); + +CGGL_API void CGGLENTRY cgGLSetMatrixParameterArraydc(CGparameter param, + long offset, + long nelements, + const double *matrices); + +CGGL_API void CGGLENTRY cgGLSetMatrixParameterArraydr(CGparameter param, + long offset, + long nelements, + const double *matrices); + +CGGL_API void CGGLENTRY cgGLGetMatrixParameterArrayfc(CGparameter param, + long offset, + long nelements, + float *matrices); + +CGGL_API void CGGLENTRY cgGLGetMatrixParameterArrayfr(CGparameter param, + long offset, + long nelements, + float *matrices); + +CGGL_API void CGGLENTRY cgGLGetMatrixParameterArraydc(CGparameter param, + long offset, + long nelements, + double *matrices); + +CGGL_API void CGGLENTRY cgGLGetMatrixParameterArraydr(CGparameter param, + long offset, + long nelements, + double *matrices); + +/****************************************************************************** + *** Texture Parameter Managment Functions + *****************************************************************************/ + +CGGL_API void CGGLENTRY cgGLSetTextureParameter(CGparameter param, GLuint texobj); +CGGL_API GLuint CGGLENTRY cgGLGetTextureParameter(CGparameter param); +CGGL_API void CGGLENTRY cgGLEnableTextureParameter(CGparameter param); +CGGL_API void CGGLENTRY cgGLDisableTextureParameter(CGparameter param); +CGGL_API GLenum CGGLENTRY cgGLGetTextureEnum(CGparameter param); + +CGGL_API void CGGLENTRY cgGLSetManageTextureParameters(CGcontext ctx, CGbool flag); +CGGL_API CGbool CGGLENTRY cgGLGetManageTextureParameters(CGcontext ctx); + +CGGL_API void CGGLENTRY cgGLSetupSampler(CGparameter param, GLuint texobj); +CGGL_API void CGGLENTRY cgGLRegisterStates(CGcontext); + +CGGL_API void CGGLENTRY cgGLEnableProgramProfiles( CGprogram program ); +CGGL_API void CGGLENTRY cgGLDisableProgramProfiles( CGprogram program ); + +/****************************************************************************** + *** Misc Functions + *****************************************************************************/ + +CGGL_API void CGGLENTRY cgGLSetDebugMode( CGbool debug ); + +/****************************************************************************** + *** Buffer Functions + *****************************************************************************/ + +CGGL_API CGbuffer CGGLENTRY cgGLCreateBuffer(CGcontext context, int size, const void *data, GLenum bufferUsage); +CGGL_API GLuint CGGLENTRY cgGLGetBufferObject(CGbuffer buffer); + +#endif + +#ifdef __cplusplus +} +#endif + +#ifdef CGGL_APIENTRY_DEFINED +# undef CGGL_APIENTRY_DEFINED +# undef APIENTRY +#endif + +#ifdef CGGL_WINGDIAPI_DEFINED +# undef CGGL_WINGDIAPI_DEFINED +# undef WINGDIAPI +#endif + +#endif diff --git a/Externals/cg/2.2/include/Cg/cgGL_profiles.h b/Externals/cg/2.2/include/Cg/cgGL_profiles.h new file mode 100644 index 00000000..8a7cb0b8 --- /dev/null +++ b/Externals/cg/2.2/include/Cg/cgGL_profiles.h @@ -0,0 +1,75 @@ +/* + * + * Copyright (c) 2002-2010, NVIDIA Corporation. + * + * + * + * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration + * of your agreement to the following terms, and your use, installation, + * modification or redistribution of this NVIDIA software constitutes + * acceptance of these terms. If you do not agree with these terms, please do + * not use, install, modify or redistribute this NVIDIA software. + * + * + * + * In consideration of your agreement to abide by the following terms, and + * subject to these terms, NVIDIA grants you a personal, non-exclusive license, + * under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA + * Software"), to use, reproduce, modify and redistribute the NVIDIA + * Software, with or without modifications, in source and/or binary forms; + * provided that if you redistribute the NVIDIA Software, you must retain the + * copyright notice of NVIDIA, this notice and the following text and + * disclaimers in all such redistributions of the NVIDIA Software. Neither the + * name, trademarks, service marks nor logos of NVIDIA Corporation may be used + * to endorse or promote products derived from the NVIDIA Software without + * specific prior written permission from NVIDIA. Except as expressly stated + * in this notice, no other rights or licenses express or implied, are granted + * by NVIDIA herein, including but not limited to any patent rights that may be + * infringed by your derivative works or by other works in which the NVIDIA + * Software may be incorporated. No hardware is licensed hereunder. + * + * + * + * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING + * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION + * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. + * + * + * + * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, + * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST + * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, + * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, + * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + + +CG_PROFILE_MACRO(Vertex,vp20,VP20,"vp20",6146,1) +CG_PROFILE_MACRO(Fragment20,fp20,FP20,"fp20",6147,0) +CG_PROFILE_MACRO(Vertex30,vp30,VP30,"vp30",6148,1) +CG_PROFILE_MACRO(Fragment,fp30,FP30,"fp30",6149,0) +CG_PROFILE_MACRO(ARBVertex,arbvp1,ARBVP1,"arbvp1",6150,1) +CG_PROFILE_MACRO(Fragment40,fp40,FP40,"fp40",6151,0) +CG_PROFILE_MACRO(ARBFragment,arbfp1,ARBFP1,"arbfp1",7000,0) +CG_PROFILE_MACRO(Vertex40,vp40,VP40,"vp40",7001,1) +CG_PROFILE_MACRO(GLSLVertex,glslv,GLSLV,"glslv",7007,1) +CG_PROFILE_MACRO(GLSLFragment,glslf,GLSLF,"glslf",7008,0) +CG_PROFILE_MACRO(GLSLGeometry,glslg,GLSLG,"glslg",7016,0) +CG_PROFILE_MACRO(GLSLCombined, glslc, GLSLC, "glslc", 7009, 0) +CG_PROFILE_MACRO(GPUFragment,gpu_fp,GPU_FP,"gp4fp",7010,0) +CG_PROFILE_MACRO(GPUVertex,gpu_vp,GPU_VP,"gp4vp",7011,1) +CG_PROFILE_MACRO(GPUGeometry,gpu_gp,GPU_GP,"gp4gp",7012,0) + +CG_PROFILE_ALIAS(GPUFragment,gp4fp,GP4FP,"gp4fp",7010,0) +CG_PROFILE_ALIAS(GPUVertex,gp4vp,GP4VP,"gp4vp",7011,1) +CG_PROFILE_ALIAS(GPUGeometry,gp4gp,GP4GP,"gp4gp",7012,0) + +#ifndef CG_IN_PROFILES_INCLUDE +# undef CG_PROFILE_MACRO +#endif diff --git a/Externals/cg/2.2/include/Cg/cg_bindlocations.h b/Externals/cg/2.2/include/Cg/cg_bindlocations.h new file mode 100644 index 00000000..921fd975 --- /dev/null +++ b/Externals/cg/2.2/include/Cg/cg_bindlocations.h @@ -0,0 +1,382 @@ + + +/* + * + * Copyright (c) 2002-2010, NVIDIA Corporation. + * + * + * + * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration + * of your agreement to the following terms, and your use, installation, + * modification or redistribution of this NVIDIA software constitutes + * acceptance of these terms. If you do not agree with these terms, please do + * not use, install, modify or redistribute this NVIDIA software. + * + * + * + * In consideration of your agreement to abide by the following terms, and + * subject to these terms, NVIDIA grants you a personal, non-exclusive license, + * under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA + * Software"), to use, reproduce, modify and redistribute the NVIDIA + * Software, with or without modifications, in source and/or binary forms; + * provided that if you redistribute the NVIDIA Software, you must retain the + * copyright notice of NVIDIA, this notice and the following text and + * disclaimers in all such redistributions of the NVIDIA Software. Neither the + * name, trademarks, service marks nor logos of NVIDIA Corporation may be used + * to endorse or promote products derived from the NVIDIA Software without + * specific prior written permission from NVIDIA. Except as expressly stated + * in this notice, no other rights or licenses express or implied, are granted + * by NVIDIA herein, including but not limited to any patent rights that may be + * infringed by your derivative works or by other works in which the NVIDIA + * Software may be incorporated. No hardware is licensed hereunder. + * + * + * + * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING + * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION + * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. + * + * + * + * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, + * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST + * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, + * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, + * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + + +/* + * The following macro invocations define the supported CG basic hardware + * bind locations. + * + * The macros have the form : + * + * CG_BINDLOCATION_MACRO(name, compiler_name, enum_int) + * + * name : The name of the location. + * enum_name : The C enumerant. + * compiler_name : The name of the location within the compiler syntax. + * int_id : Integer enumerant associated with this bind location. + * (3256 is reservered for CG_UNDEFINED) + * addressable : The bind location must have an integer address + * associated with it. + * ParamType : the cgParamType of this register. + * + */ + + +CG_BINDLOCATION_MACRO(TexUnit0,CG_TEXUNIT0,"texunit 0",2048,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit1,CG_TEXUNIT1,"texunit 1",2049,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit2,CG_TEXUNIT2,"texunit 2",2050,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit3,CG_TEXUNIT3,"texunit 3",2051,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit4,CG_TEXUNIT4,"texunit 4",2052,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit5,CG_TEXUNIT5,"texunit 5",2053,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit6,CG_TEXUNIT6,"texunit 6",2054,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit7,CG_TEXUNIT7,"texunit 7",2055,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit8,CG_TEXUNIT8,"texunit 8",2056,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit9,CG_TEXUNIT9,"texunit 9",2057,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit10,CG_TEXUNIT10,"texunit 10",2058,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit11,CG_TEXUNIT11,"texunit 11",2059,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit12,CG_TEXUNIT12,"texunit 12",2060,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit13,CG_TEXUNIT13,"texunit 13",2061,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit14,CG_TEXUNIT14,"texunit 14",2062,0,CG_TEXOBJ_PARAM) +CG_BINDLOCATION_MACRO(TexUnit15,CG_TEXUNIT15,"texunit 15",2063,0,CG_TEXOBJ_PARAM) + +CG_BINDLOCATION_MACRO(Buffer0, CG_BUFFER0, "buffer[0]", 2064, 1, CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(Buffer1, CG_BUFFER1, "buffer[1]", 2065, 1, CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(Buffer2, CG_BUFFER2, "buffer[2]", 2066, 1, CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(Buffer3, CG_BUFFER3, "buffer[3]", 2067, 1, CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(Buffer4, CG_BUFFER4, "buffer[4]", 2068, 1, CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(Buffer5, CG_BUFFER5, "buffer[5]", 2069, 1, CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(Buffer6, CG_BUFFER6, "buffer[6]", 2070, 1, CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(Buffer7, CG_BUFFER7, "buffer[7]", 2071, 1, CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(Buffer8, CG_BUFFER8, "buffer[8]", 2072, 1, CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(Buffer9, CG_BUFFER9, "buffer[9]", 2073, 1, CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(Buffer10, CG_BUFFER10, "buffer[10]", 2074, 1, CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(Buffer11, CG_BUFFER11, "buffer[11]", 2075, 1, CGI_UNIFORM_PARAM) + +CG_BINDLOCATION_MACRO(Attr0,CG_ATTR0,"ATTR0",2113,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr1,CG_ATTR1,"ATTR1",2114,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr2,CG_ATTR2,"ATTR2",2115,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr3,CG_ATTR3,"ATTR3",2116,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr4,CG_ATTR4,"ATTR4",2117,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr5,CG_ATTR5,"ATTR5",2118,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr6,CG_ATTR6,"ATTR6",2119,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr7,CG_ATTR7,"ATTR7",2120,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr8,CG_ATTR8,"ATTR8",2121,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr9,CG_ATTR9,"ATTR9",2122,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr10,CG_ATTR10,"ATTR10",2123,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr11,CG_ATTR11,"ATTR11",2124,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr12,CG_ATTR12,"ATTR12",2125,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr13,CG_ATTR13,"ATTR13",2126,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr14,CG_ATTR14,"ATTR14",2127,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Attr15,CG_ATTR15,"ATTR15",2128,0,CG_VARYING_PARAM) + +CG_BINDLOCATION_MACRO(VertUniform,CG_C,"c",2178,1,CGI_UNIFORM_PARAM) + +CG_BINDLOCATION_MACRO(Tex0,CG_TEX0,"TEX0",2179,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tex1,CG_TEX1,"TEX1",2180,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tex2,CG_TEX2,"TEX2",2181,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tex3,CG_TEX3,"TEX3",2192,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tex4,CG_TEX4,"TEX4",2193,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tex5,CG_TEX5,"TEX5",2194,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tex6,CG_TEX6,"TEX6",2195,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tex7,CG_TEX7,"TEX7",2196,0,CG_VARYING_PARAM) + +CG_BINDLOCATION_MACRO(HPos,CG_HPOS,"HPOS",2243,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Col0,CG_COL0,"COL0",2245,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Col1,CG_COL1,"COL1",2246,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Col2,CG_COL2,"COL2",2247,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Col3,CG_COL3,"COL3",2248,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSiz,CG_PSIZ,"PSIZ",2309,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Clp0,CG_CLP0,"CLP0",2310,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Clp1,CG_CLP1,"CLP1",2311,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Clp2,CG_CLP2,"CLP2",2312,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Clp3,CG_CLP3,"CLP3",2313,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Clp4,CG_CLP4,"CLP4",2314,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Clp5,CG_CLP5,"CLP5",2315,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(WPos,CG_WPOS,"WPOS",2373,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PointCoord,CG_POINTCOORD,"POINTCOORD",2374,0,CG_VARYING_PARAM) + +CG_BINDLOCATION_MACRO(Position0,CG_POSITION0,"POSITION0",2437,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position1,CG_POSITION1,"POSITION1",2438,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position2,CG_POSITION2,"POSITION2",2439,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position3,CG_POSITION3,"POSITION3",2440,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position4,CG_POSITION4,"POSITION4",2441,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position5,CG_POSITION5,"POSITION5",2442,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position6,CG_POSITION6,"POSITION6",2443,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position7,CG_POSITION7,"POSITION7",2444,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position8,CG_POSITION8,"POSITION8",2445,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position9,CG_POSITION9,"POSITION9",2446,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position10,CG_POSITION10,"POSITION10",2447,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position11,CG_POSITION11,"POSITION11",2448,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position12,CG_POSITION12,"POSITION12",2449,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position13,CG_POSITION13,"POSITION13",2450,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position14,CG_POSITION14,"POSITION14",2451,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Position15,CG_POSITION15,"POSITION15",2452,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Diffuse0,CG_DIFFUSE0,"DIFFUSE0",2501,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent0,CG_TANGENT0,"TANGENT0",2565,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent1,CG_TANGENT1,"TANGENT1",2566,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent2,CG_TANGENT2,"TANGENT2",2567,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent3,CG_TANGENT3,"TANGENT3",2568,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent4,CG_TANGENT4,"TANGENT4",2569,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent5,CG_TANGENT5,"TANGENT5",2570,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent6,CG_TANGENT6,"TANGENT6",2571,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent7,CG_TANGENT7,"TANGENT7",2572,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent8,CG_TANGENT8,"TANGENT8",2573,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent9,CG_TANGENT9,"TANGENT9",2574,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent10,CG_TANGENT10,"TANGENT10",2575,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent11,CG_TANGENT11,"TANGENT11",2576,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent12,CG_TANGENT12,"TANGENT12",2577,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent13,CG_TANGENT13,"TANGENT13",2578,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent14,CG_TANGENT14,"TANGENT14",2579,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Tangent15,CG_TANGENT15,"TANGENT15",2580,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Specular0,CG_SPECULAR0,"SPECULAR0",2629,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices0,CG_BLENDINDICES0,"BLENDINDICES0",2693,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices1,CG_BLENDINDICES1,"BLENDINDICES1",2694,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices2,CG_BLENDINDICES2,"BLENDINDICES2",2695,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices3,CG_BLENDINDICES3,"BLENDINDICES3",2696,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices4,CG_BLENDINDICES4,"BLENDINDICES4",2697,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices5,CG_BLENDINDICES5,"BLENDINDICES5",2698,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices6,CG_BLENDINDICES6,"BLENDINDICES6",2699,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices7,CG_BLENDINDICES7,"BLENDINDICES7",2700,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices8,CG_BLENDINDICES8,"BLENDINDICES8",2701,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices9,CG_BLENDINDICES9,"BLENDINDICES9",2702,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices10,CG_BLENDINDICES10,"BLENDINDICES10",2703,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices11,CG_BLENDINDICES11,"BLENDINDICES11",2704,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices12,CG_BLENDINDICES12,"BLENDINDICES12",2705,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices13,CG_BLENDINDICES13,"BLENDINDICES13",2706,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices14,CG_BLENDINDICES14,"BLENDINDICES14",2707,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendIndices15,CG_BLENDINDICES15,"BLENDINDICES15",2708,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color0,CG_COLOR0,"COLOR0",2757,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color1,CG_COLOR1,"COLOR1",2758,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color2,CG_COLOR2,"COLOR2",2759,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color3,CG_COLOR3,"COLOR3",2760,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color4,CG_COLOR4,"COLOR4",2761,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color5,CG_COLOR5,"COLOR5",2762,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color6,CG_COLOR6,"COLOR6",2763,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color7,CG_COLOR7,"COLOR7",2764,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color8,CG_COLOR8,"COLOR8",2765,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color9,CG_COLOR9,"COLOR9",2766,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color10,CG_COLOR10,"COLOR10",2767,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color11,CG_COLOR11,"COLOR11",2768,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color12,CG_COLOR12,"COLOR12",2769,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color13,CG_COLOR13,"COLOR13",2770,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color14,CG_COLOR14,"COLOR14",2771,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Color15,CG_COLOR15,"COLOR15",2772,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize0,CG_PSIZE0,"PSIZE0",2821,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize1,CG_PSIZE1,"PSIZE1",2822,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize2,CG_PSIZE2,"PSIZE2",2823,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize3,CG_PSIZE3,"PSIZE3",2824,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize4,CG_PSIZE4,"PSIZE4",2825,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize5,CG_PSIZE5,"PSIZE5",2826,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize6,CG_PSIZE6,"PSIZE6",2827,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize7,CG_PSIZE7,"PSIZE7",2828,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize8,CG_PSIZE8,"PSIZE8",2829,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize9,CG_PSIZE9,"PSIZE9",2830,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize10,CG_PSIZE10,"PSIZE10",2831,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize11,CG_PSIZE11,"PSIZE11",2832,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize12,CG_PSIZE12,"PSIZE12",2833,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize13,CG_PSIZE13,"PSIZE13",2834,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize14,CG_PSIZE14,"PSIZE14",2835,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PSize15,CG_PSIZE15,"PSIZE15",2836,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal0,CG_BINORMAL0,"BINORMAL0",2885,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal1,CG_BINORMAL1,"BINORMAL1",2886,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal2,CG_BINORMAL2,"BINORMAL2",2887,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal3,CG_BINORMAL3,"BINORMAL3",2888,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal4,CG_BINORMAL4,"BINORMAL4",2889,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal5,CG_BINORMAL5,"BINORMAL5",2890,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal6,CG_BINORMAL6,"BINORMAL6",2891,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal7,CG_BINORMAL7,"BINORMAL7",2892,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal8,CG_BINORMAL8,"BINORMAL8",2893,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal9,CG_BINORMAL9,"BINORMAL9",2894,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal10,CG_BINORMAL10,"BINORMAL10",2895,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal11,CG_BINORMAL11,"BINORMAL11",2896,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal12,CG_BINORMAL12,"BINORMAL12",2897,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal13,CG_BINORMAL13,"BINORMAL13",2898,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal14,CG_BINORMAL14,"BINORMAL14",2899,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BiNormal15,CG_BINORMAL15,"BINORMAL15",2900,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG0,CG_FOG0,"FOG0",2917,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG1,CG_FOG1,"FOG1",2918,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG2,CG_FOG2,"FOG2",2919,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG3,CG_FOG3,"FOG3",2920,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG4,CG_FOG4,"FOG4",2921,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG5,CG_FOG5,"FOG5",2922,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG6,CG_FOG6,"FOG6",2923,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG7,CG_FOG7,"FOG7",2924,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG8,CG_FOG8,"FOG8",2925,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG9,CG_FOG9,"FOG9",2926,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG10,CG_FOG10,"FOG10",2927,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG11,CG_FOG11,"FOG11",2928,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG12,CG_FOG12,"FOG12",2929,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG13,CG_FOG13,"FOG13",2930,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG14,CG_FOG14,"FOG14",2931,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FOG15,CG_FOG15,"FOG15",2932,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH0,CG_DEPTH0,"DEPTH0",2933,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH1,CG_DEPTH1,"DEPTH1",2934,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH2,CG_DEPTH2,"DEPTH2",2935,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH3,CG_DEPTH3,"DEPTH3",2936,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH4,CG_DEPTH4,"DEPTH4",2937,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH5,CG_DEPTH5,"DEPTH5",2938,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH6,CG_DEPTH6,"DEPTH6",2939,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH7,CG_DEPTH7,"DEPTH7",2940,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH8,CG_DEPTH8,"DEPTH8",2941,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH9,CG_DEPTH9,"DEPTH9",2942,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH10,CG_DEPTH10,"DEPTH10",2943,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH11,CG_DEPTH11,"DEPTH11",2944,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH12,CG_DEPTH12,"DEPTH12",2945,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH13,CG_DEPTH13,"DEPTH13",2946,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH14,CG_DEPTH14,"DEPTH14",2947,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(DEPTH15,CG_DEPTH15,"DEPTH15",2948,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE0,CG_SAMPLE0,"SAMPLE0",2949,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE1,CG_SAMPLE1,"SAMPLE1",2950,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE2,CG_SAMPLE2,"SAMPLE2",2951,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE3,CG_SAMPLE3,"SAMPLE3",2952,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE4,CG_SAMPLE4,"SAMPLE4",2953,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE5,CG_SAMPLE5,"SAMPLE5",2954,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE6,CG_SAMPLE6,"SAMPLE6",2955,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE7,CG_SAMPLE7,"SAMPLE7",2956,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE8,CG_SAMPLE8,"SAMPLE8",2957,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE9,CG_SAMPLE9,"SAMPLE9",2958,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE10,CG_SAMPLE10,"SAMPLE10",2959,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE11,CG_SAMPLE11,"SAMPLE11",2960,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE12,CG_SAMPLE12,"SAMPLE12",2961,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE13,CG_SAMPLE13,"SAMPLE13",2962,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE14,CG_SAMPLE14,"SAMPLE14",2963,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SAMPLE15,CG_SAMPLE15,"SAMPLE15",2964,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight0,CG_BLENDWEIGHT0,"BLENDWEIGHT0",3028,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight1,CG_BLENDWEIGHT1,"BLENDWEIGHT1",3029,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight2,CG_BLENDWEIGHT2,"BLENDWEIGHT2",3030,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight3,CG_BLENDWEIGHT3,"BLENDWEIGHT3",3031,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight4,CG_BLENDWEIGHT4,"BLENDWEIGHT4",3032,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight5,CG_BLENDWEIGHT5,"BLENDWEIGHT5",3033,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight6,CG_BLENDWEIGHT6,"BLENDWEIGHT6",3034,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight7,CG_BLENDWEIGHT7,"BLENDWEIGHT7",3035,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight8,CG_BLENDWEIGHT8,"BLENDWEIGHT8",3036,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight9,CG_BLENDWEIGHT9,"BLENDWEIGHT9",3037,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight10,CG_BLENDWEIGHT10,"BLENDWEIGHT10",3038,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight11,CG_BLENDWEIGHT11,"BLENDWEIGHT11",3039,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight12,CG_BLENDWEIGHT12,"BLENDWEIGHT12",3040,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight13,CG_BLENDWEIGHT13,"BLENDWEIGHT13",3041,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight14,CG_BLENDWEIGHT14,"BLENDWEIGHT14",3042,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(BlendWeight15,CG_BLENDWEIGHT15,"BLENDWEIGHT15",3043,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal0,CG_NORMAL0,"NORMAL0",3092,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal1,CG_NORMAL1,"NORMAL1",3093,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal2,CG_NORMAL2,"NORMAL2",3094,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal3,CG_NORMAL3,"NORMAL3",3095,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal4,CG_NORMAL4,"NORMAL4",3096,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal5,CG_NORMAL5,"NORMAL5",3097,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal6,CG_NORMAL6,"NORMAL6",3098,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal7,CG_NORMAL7,"NORMAL7",3099,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal8,CG_NORMAL8,"NORMAL8",3100,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal9,CG_NORMAL9,"NORMAL9",3101,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal10,CG_NORMAL10,"NORMAL10",3102,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal11,CG_NORMAL11,"NORMAL11",3103,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal12,CG_NORMAL12,"NORMAL12",3104,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal13,CG_NORMAL13,"NORMAL13",3105,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal14,CG_NORMAL14,"NORMAL14",3106,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Normal15,CG_NORMAL15,"NORMAL15",3107,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(FogCoord,CG_FOGCOORD,"FOGCOORD",3156,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord0,CG_TEXCOORD0,"TEXCOORD0",3220,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord1,CG_TEXCOORD1,"TEXCOORD1",3221,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord2,CG_TEXCOORD2,"TEXCOORD2",3222,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord3,CG_TEXCOORD3,"TEXCOORD3",3223,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord4,CG_TEXCOORD4,"TEXCOORD4",3224,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord5,CG_TEXCOORD5,"TEXCOORD5",3225,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord6,CG_TEXCOORD6,"TEXCOORD6",3226,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord7,CG_TEXCOORD7,"TEXCOORD7",3227,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord8,CG_TEXCOORD8,"TEXCOORD8",3228,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord9,CG_TEXCOORD9,"TEXCOORD9",3229,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord10,CG_TEXCOORD10,"TEXCOORD10",3230,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord11,CG_TEXCOORD11,"TEXCOORD11",3231,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord12,CG_TEXCOORD12,"TEXCOORD12",3232,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord13,CG_TEXCOORD13,"TEXCOORD13",3233,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord14,CG_TEXCOORD14,"TEXCOORD14",3234,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(TexCoord15,CG_TEXCOORD15,"TEXCOORD15",3235,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(CombinerConst0,CG_COMBINER_CONST0,"COMBINER_CONST0",3284,0,CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(CombinerConst1,CG_COMBINER_CONST1,"COMBINER_CONST1",3285,0,CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(CombinerStageConst0,CG_COMBINER_STAGE_CONST0,"COMBINER_STAGE_CONST0",3286,1,CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(CombinerStageConst1,CG_COMBINER_STAGE_CONST1,"COMBINER_STAGE_CONST1",3287,1,CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(OffsetTextureMatrix,CG_OFFSET_TEXTURE_MATRIX,"OFFSET_TEXTURE_MATRIX",3288,0,CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(OffsetTextureScale,CG_OFFSET_TEXTURE_SCALE,"OFFSET_TEXTURE_SCALE",3289,0,CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(OffsetTextureBias,CG_OFFSET_TEXTURE_BIAS,"OFFSET_TEXTURE_BIAS",3290,0,CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(ConstEye,CG_CONST_EYE,"CONST_EYE",3291,0,CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(Coverage, CG_COVERAGE, "COVERAGE", 3292, 0, CG_VARYING_PARAM) + +CG_BINDLOCATION_MACRO(TessFactor,CG_TESSFACTOR,"TESSFACTOR",3255,0,CG_VARYING_PARAM) + +CG_BINDLOCATION_MACRO(GLSLUniform,CG_GLSL_UNIFORM,"glsl_uniform",3300,1,CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(GLSLAttrib,CG_GLSL_ATTRIB,"glsl_attrib",3301,1,CG_VARYING_PARAM) + +CG_BINDLOCATION_MACRO(Env,CG_ENV,"ENV",3302,1,CG_VARYING_PARAM) + +CG_BINDLOCATION_MACRO(HLSLUniform,CG_HLSL_UNIFORM,"hlsl_uniform",3559,1,CGI_UNIFORM_PARAM) +CG_BINDLOCATION_MACRO(HLSLAttrib,CG_HLSL_VARYING,"hlsl_attrib",3560,1,CG_VARYING_PARAM) + +CG_BINDLOCATION_MACRO(SamplerResource,CG_SAMPLER_RES, "SAMPLER_RES", 3561, 1, CGI_UNIFORM_PARAM) + +CG_BINDLOCATION_MACRO(LastColor0, CG_LASTCOL0, "LASTCOL0", 4400, 0, CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(LastColor1, CG_LASTCOL1, "LASTCOL1", 4401, 0, CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(LastColor2, CG_LASTCOL2, "LASTCOL2", 4402, 0, CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(LastColor3, CG_LASTCOL3, "LASTCOL3", 4403, 0, CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(LastColor4, CG_LASTCOL4, "LASTCOL4", 4404, 0, CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(LastColor5, CG_LASTCOL5, "LASTCOL5", 4405, 0, CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(LastColor6, CG_LASTCOL6, "LASTCOL6", 4406, 0, CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(LastColor7, CG_LASTCOL7, "LASTCOL7", 4407, 0, CG_VARYING_PARAM) + +CG_BINDLOCATION_MACRO(Face,CG_FACE,"FACE",4410,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(PrimitiveId,CG_PRIMITIVEID,"PRIMITIVEID",4411,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(InstanceId,CG_INSTANCEID,"INSTANCEID",4412,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SampleId,CG_SAMPLEID,"SAMPLEID",4413,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(VertexId,CG_VERTEXID,"VERTEXID",4414,0,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(Layer,CG_LAYER,"LAYER",4415,1,CG_VARYING_PARAM) +CG_BINDLOCATION_MACRO(SampleMask,CG_SAMPLEMASK,"SAMPLEMASK",4416,0,CG_VARYING_PARAM) + +#undef CG_BINDLOCATION_MACRO diff --git a/Externals/cg/2.2/include/Cg/cg_datatypes.h b/Externals/cg/2.2/include/Cg/cg_datatypes.h new file mode 100644 index 00000000..8076d506 --- /dev/null +++ b/Externals/cg/2.2/include/Cg/cg_datatypes.h @@ -0,0 +1,196 @@ +/* + * + * Copyright (c) 2002-2010, NVIDIA Corporation. + * + * + * + * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration + * of your agreement to the following terms, and your use, installation, + * modification or redistribution of this NVIDIA software constitutes + * acceptance of these terms. If you do not agree with these terms, please do + * not use, install, modify or redistribute this NVIDIA software. + * + * + * + * In consideration of your agreement to abide by the following terms, and + * subject to these terms, NVIDIA grants you a personal, non-exclusive license, + * under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA + * Software"), to use, reproduce, modify and redistribute the NVIDIA + * Software, with or without modifications, in source and/or binary forms; + * provided that if you redistribute the NVIDIA Software, you must retain the + * copyright notice of NVIDIA, this notice and the following text and + * disclaimers in all such redistributions of the NVIDIA Software. Neither the + * name, trademarks, service marks nor logos of NVIDIA Corporation may be used + * to endorse or promote products derived from the NVIDIA Software without + * specific prior written permission from NVIDIA. Except as expressly stated + * in this notice, no other rights or licenses express or implied, are granted + * by NVIDIA herein, including but not limited to any patent rights that may be + * infringed by your derivative works or by other works in which the NVIDIA + * Software may be incorporated. No hardware is licensed hereunder. + * + * + * + * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING + * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION + * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. + * + * + * + * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, + * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST + * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, + * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, + * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + + +/* + * The following macro invocations define the supported CG basic data types. + * + * The macros have the form : + * + * CG_DATATYPE_MACRO(name, compiler_name, enum_name, base_name, nrows, ncols, pc_name) + * + * name : The name of the data type. + * compiler_name : The name of the data type within the compiler syntax. + * enum_name : The C enumerant. + * base_name : The C enumerant of the base type. + * nrows : Number of rows for matrix types. Should be 0 other-wise. + * ncols : Number of columns for scalar, vector, and matrix types. + * pc_name : The C enumerant of the parameter class. + * + */ + +/* + * ADD NEW DATA TYPES TO THE END OF THIS MACRO LIST! + * + */ + + +CG_DATATYPE_MACRO(Half,half,CG_HALF,CG_HALF,0,1,CG_PARAMETERCLASS_SCALAR) +CG_DATATYPE_MACRO(Half2,half2,CG_HALF2,CG_HALF,0,2,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Half3,half3,CG_HALF3,CG_HALF,0,3,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Half4,half4,CG_HALF4,CG_HALF,0,4,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Half1x1,half1x1,CG_HALF1x1,CG_HALF,1,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half1x2,half1x2,CG_HALF1x2,CG_HALF,1,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half1x3,half1x3,CG_HALF1x3,CG_HALF,1,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half1x4,half1x4,CG_HALF1x4,CG_HALF,1,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half2x1,half2x1,CG_HALF2x1,CG_HALF,2,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half2x2,half2x2,CG_HALF2x2,CG_HALF,2,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half2x3,half2x3,CG_HALF2x3,CG_HALF,2,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half2x4,half2x4,CG_HALF2x4,CG_HALF,2,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half3x1,half3x1,CG_HALF3x1,CG_HALF,3,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half3x2,half3x2,CG_HALF3x2,CG_HALF,3,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half3x3,half3x3,CG_HALF3x3,CG_HALF,3,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half3x4,half3x4,CG_HALF3x4,CG_HALF,3,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half4x1,half4x1,CG_HALF4x1,CG_HALF,4,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half4x2,half4x2,CG_HALF4x2,CG_HALF,4,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half4x3,half4x3,CG_HALF4x3,CG_HALF,4,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half4x4,half4x4,CG_HALF4x4,CG_HALF,4,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float,float,CG_FLOAT,CG_FLOAT,0,1,CG_PARAMETERCLASS_SCALAR) +CG_DATATYPE_MACRO(Float2,float2,CG_FLOAT2,CG_FLOAT,0,2,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Float3,float3,CG_FLOAT3,CG_FLOAT,0,3,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Float4,float4,CG_FLOAT4,CG_FLOAT,0,4,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Float1x1,float1x1,CG_FLOAT1x1,CG_FLOAT,1,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float1x2,float1x2,CG_FLOAT1x2,CG_FLOAT,1,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float1x3,float1x3,CG_FLOAT1x3,CG_FLOAT,1,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float1x4,float1x4,CG_FLOAT1x4,CG_FLOAT,1,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float2x1,float2x1,CG_FLOAT2x1,CG_FLOAT,2,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float2x2,float2x2,CG_FLOAT2x2,CG_FLOAT,2,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float2x3,float2x3,CG_FLOAT2x3,CG_FLOAT,2,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float2x4,float2x4,CG_FLOAT2x4,CG_FLOAT,2,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float3x1,float3x1,CG_FLOAT3x1,CG_FLOAT,3,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float3x2,float3x2,CG_FLOAT3x2,CG_FLOAT,3,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float3x3,float3x3,CG_FLOAT3x3,CG_FLOAT,3,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float3x4,float3x4,CG_FLOAT3x4,CG_FLOAT,3,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float4x1,float4x1,CG_FLOAT4x1,CG_FLOAT,4,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float4x2,float4x2,CG_FLOAT4x2,CG_FLOAT,4,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float4x3,float4x3,CG_FLOAT4x3,CG_FLOAT,4,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Float4x4,float4x4,CG_FLOAT4x4,CG_FLOAT,4,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Sampler1D,sampler1D,CG_SAMPLER1D,CG_SAMPLER1D,0,0,CG_PARAMETERCLASS_SAMPLER) +CG_DATATYPE_MACRO(Sampler2D,sampler2D,CG_SAMPLER2D,CG_SAMPLER2D,0,0,CG_PARAMETERCLASS_SAMPLER) +CG_DATATYPE_MACRO(Sampler3D,sampler3D,CG_SAMPLER3D,CG_SAMPLER3D,0,0,CG_PARAMETERCLASS_SAMPLER) +CG_DATATYPE_MACRO(SamplerRECT,samplerRECT,CG_SAMPLERRECT,CG_SAMPLERRECT,0,0,CG_PARAMETERCLASS_SAMPLER) +CG_DATATYPE_MACRO(SamplerCUBE,samplerCUBE,CG_SAMPLERCUBE,CG_SAMPLERCUBE,0,0,CG_PARAMETERCLASS_SAMPLER) +CG_DATATYPE_MACRO(Fixed,fixed,CG_FIXED,CG_FIXED,0,1,CG_PARAMETERCLASS_SCALAR) +CG_DATATYPE_MACRO(Fixed2,fixed2,CG_FIXED2,CG_FIXED,0,2,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Fixed3,fixed3,CG_FIXED3,CG_FIXED,0,3,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Fixed4,fixed4,CG_FIXED4,CG_FIXED,0,4,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Fixed1x1,fixed1x1,CG_FIXED1x1,CG_FIXED,1,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed1x2,fixed1x2,CG_FIXED1x2,CG_FIXED,1,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed1x3,fixed1x3,CG_FIXED1x3,CG_FIXED,1,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed1x4,fixed1x4,CG_FIXED1x4,CG_FIXED,1,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed2x1,fixed2x1,CG_FIXED2x1,CG_FIXED,2,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed2x2,fixed2x2,CG_FIXED2x2,CG_FIXED,2,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed2x3,fixed2x3,CG_FIXED2x3,CG_FIXED,2,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed2x4,fixed2x4,CG_FIXED2x4,CG_FIXED,2,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed3x1,fixed3x1,CG_FIXED3x1,CG_FIXED,3,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed3x2,fixed3x2,CG_FIXED3x2,CG_FIXED,3,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed3x3,fixed3x3,CG_FIXED3x3,CG_FIXED,3,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed3x4,fixed3x4,CG_FIXED3x4,CG_FIXED,3,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed4x1,fixed4x1,CG_FIXED4x1,CG_FIXED,4,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed4x2,fixed4x2,CG_FIXED4x2,CG_FIXED,4,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed4x3,fixed4x3,CG_FIXED4x3,CG_FIXED,4,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Fixed4x4,fixed4x4,CG_FIXED4x4,CG_FIXED,4,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Half1,half1,CG_HALF1,CG_HALF,0,1,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Float1,float1,CG_FLOAT1,CG_FLOAT,0,1,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Fixed1,fixed1,CG_FIXED1,CG_FIXED,0,1,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Int,int,CG_INT,CG_INT,0,1,CG_PARAMETERCLASS_SCALAR) +CG_DATATYPE_MACRO(Int1,int1,CG_INT1,CG_INT,0,1,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Int2,int2,CG_INT2,CG_INT,0,2,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Int3,int3,CG_INT3,CG_INT,0,3,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Int4,int4,CG_INT4,CG_INT,0,4,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Int1x1,int1x1,CG_INT1x1,CG_INT,1,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int1x2,int1x2,CG_INT1x2,CG_INT,1,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int1x3,int1x3,CG_INT1x3,CG_INT,1,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int1x4,int1x4,CG_INT1x4,CG_INT,1,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int2x1,int2x1,CG_INT2x1,CG_INT,2,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int2x2,int2x2,CG_INT2x2,CG_INT,2,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int2x3,int2x3,CG_INT2x3,CG_INT,2,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int2x4,int2x4,CG_INT2x4,CG_INT,2,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int3x1,int3x1,CG_INT3x1,CG_INT,3,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int3x2,int3x2,CG_INT3x2,CG_INT,3,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int3x3,int3x3,CG_INT3x3,CG_INT,3,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int3x4,int3x4,CG_INT3x4,CG_INT,3,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int4x1,int4x1,CG_INT4x1,CG_INT,4,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int4x2,int4x2,CG_INT4x2,CG_INT,4,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int4x3,int4x3,CG_INT4x3,CG_INT,4,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Int4x4,int4x4,CG_INT4x4,CG_INT,4,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool,bool,CG_BOOL,CG_BOOL,0,1,CG_PARAMETERCLASS_SCALAR) +CG_DATATYPE_MACRO(Bool1,bool1,CG_BOOL1,CG_BOOL,0,1,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Bool2,bool2,CG_BOOL2,CG_BOOL,0,2,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Bool3,bool3,CG_BOOL3,CG_BOOL,0,3,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Bool4,bool4,CG_BOOL4,CG_BOOL,0,4,CG_PARAMETERCLASS_VECTOR) +CG_DATATYPE_MACRO(Bool1x1,bool1x1,CG_BOOL1x1,CG_BOOL,1,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool1x2,bool1x2,CG_BOOL1x2,CG_BOOL,1,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool1x3,bool1x3,CG_BOOL1x3,CG_BOOL,1,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool1x4,bool1x4,CG_BOOL1x4,CG_BOOL,1,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool2x1,bool2x1,CG_BOOL2x1,CG_BOOL,2,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool2x2,bool2x2,CG_BOOL2x2,CG_BOOL,2,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool2x3,bool2x3,CG_BOOL2x3,CG_BOOL,2,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool2x4,bool2x4,CG_BOOL2x4,CG_BOOL,2,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool3x1,bool3x1,CG_BOOL3x1,CG_BOOL,3,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool3x2,bool3x2,CG_BOOL3x2,CG_BOOL,3,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool3x3,bool3x3,CG_BOOL3x3,CG_BOOL,3,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool3x4,bool3x4,CG_BOOL3x4,CG_BOOL,3,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool4x1,bool4x1,CG_BOOL4x1,CG_BOOL,4,1,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool4x2,bool4x2,CG_BOOL4x2,CG_BOOL,4,2,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool4x3,bool4x3,CG_BOOL4x3,CG_BOOL,4,3,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(Bool4x4,bool4x4,CG_BOOL4x4,CG_BOOL,4,4,CG_PARAMETERCLASS_MATRIX) +CG_DATATYPE_MACRO(String,string,CG_STRING,CG_STRING,0,1,CG_PARAMETERCLASS_OBJECT) +CG_DATATYPE_MACRO(Program,program,CG_PROGRAM_TYPE,CG_PROGRAM_TYPE,0,0,CG_PARAMETERCLASS_OBJECT) +CG_DATATYPE_MACRO(Texture,texture,CG_TEXTURE,CG_TEXTURE,0,0,CG_PARAMETERCLASS_OBJECT) +CG_DATATYPE_MACRO(Sampler1DARRAY,sampler1DARRAY,CG_SAMPLER1DARRAY,CG_SAMPLER1DARRAY,0,0,CG_PARAMETERCLASS_SAMPLER) +CG_DATATYPE_MACRO(Sampler2DARRAY,sampler2DARRAY,CG_SAMPLER2DARRAY,CG_SAMPLER2DARRAY,0,0,CG_PARAMETERCLASS_SAMPLER) +CG_DATATYPE_MACRO(SamplerCUBEARRAY,samplerCUBEARRAY,CG_SAMPLERCUBEARRAY,CG_SAMPLERCUBEARRAY,0,0,CG_PARAMETERCLASS_SAMPLER) +CG_DATATYPE_MACRO(VertexShader, vertexshader, CG_VERTEXSHADER_TYPE, CG_VERTEXSHADER_TYPE, 0, 0, CG_PARAMETERCLASS_OBJECT) +CG_DATATYPE_MACRO(PixelShader, pixelshader, CG_PIXELSHADER_TYPE, CG_PIXELSHADER_TYPE, 0, 0, CG_PARAMETERCLASS_OBJECT) +CG_DATATYPE_MACRO(Sampler, sampler, CG_SAMPLER, CG_SAMPLER, 0, 0, CG_PARAMETERCLASS_SAMPLER) +CG_DATATYPE_MACRO(SamplerBUF,samplerBUF,CG_SAMPLERBUF,CG_SAMPLERBUF,0,0,CG_PARAMETERCLASS_SAMPLER) +#undef CG_DATATYPE_MACRO diff --git a/Externals/cg/2.2/include/Cg/cg_enums.h b/Externals/cg/2.2/include/Cg/cg_enums.h new file mode 100644 index 00000000..d31352b3 --- /dev/null +++ b/Externals/cg/2.2/include/Cg/cg_enums.h @@ -0,0 +1,128 @@ + +/* + * + * Copyright (c) 2002-2010, NVIDIA Corporation. + * + * + * + * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration + * of your agreement to the following terms, and your use, installation, + * modification or redistribution of this NVIDIA software constitutes + * acceptance of these terms. If you do not agree with these terms, please do + * not use, install, modify or redistribute this NVIDIA software. + * + * + * + * In consideration of your agreement to abide by the following terms, and + * subject to these terms, NVIDIA grants you a personal, non-exclusive license, + * under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA + * Software"), to use, reproduce, modify and redistribute the NVIDIA + * Software, with or without modifications, in source and/or binary forms; + * provided that if you redistribute the NVIDIA Software, you must retain the + * copyright notice of NVIDIA, this notice and the following text and + * disclaimers in all such redistributions of the NVIDIA Software. Neither the + * name, trademarks, service marks nor logos of NVIDIA Corporation may be used + * to endorse or promote products derived from the NVIDIA Software without + * specific prior written permission from NVIDIA. Except as expressly stated + * in this notice, no other rights or licenses express or implied, are granted + * by NVIDIA herein, including but not limited to any patent rights that may be + * infringed by your derivative works or by other works in which the NVIDIA + * Software may be incorporated. No hardware is licensed hereunder. + * + * + * + * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING + * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION + * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. + * + * + * + * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, + * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST + * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, + * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, + * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + + +/* + * The following macro invocations define the supported CG basic data types. + * + * The macros have the form : + * + * CG_ENUM_MACRO(enum_name, enum_val) + * + * enum_name : The C enumerant name. + * enum_val : The enumerant value. + * + */ + + + +CG_ENUM_MACRO(CG_UNKNOWN, 4096) +CG_ENUM_MACRO(CG_IN, 4097) +CG_ENUM_MACRO(CG_OUT, 4098) +CG_ENUM_MACRO(CG_INOUT, 4099) +CG_ENUM_MACRO(CG_MIXED, 4100) +CG_ENUM_MACRO(CG_VARYING, 4101) +CG_ENUM_MACRO(CG_UNIFORM, 4102) +CG_ENUM_MACRO(CG_CONSTANT, 4103) +CG_ENUM_MACRO(CG_PROGRAM_SOURCE, 4104) +CG_ENUM_MACRO(CG_PROGRAM_ENTRY, 4105) +CG_ENUM_MACRO(CG_COMPILED_PROGRAM, 4106) +CG_ENUM_MACRO(CG_PROGRAM_PROFILE, 4107) +CG_ENUM_MACRO(CG_GLOBAL, 4108) +CG_ENUM_MACRO(CG_PROGRAM, 4109) +CG_ENUM_MACRO(CG_DEFAULT, 4110) +CG_ENUM_MACRO(CG_ERROR, 4111) +CG_ENUM_MACRO(CG_SOURCE, 4112) +CG_ENUM_MACRO(CG_OBJECT, 4113) +CG_ENUM_MACRO(CG_COMPILE_MANUAL, 4114) +CG_ENUM_MACRO(CG_COMPILE_IMMEDIATE, 4115) +CG_ENUM_MACRO(CG_COMPILE_LAZY, 4116) +CG_ENUM_MACRO(CG_CURRENT, 4117) +CG_ENUM_MACRO(CG_LITERAL, 4118) +CG_ENUM_MACRO(CG_VERSION, 4119) +CG_ENUM_MACRO(CG_ROW_MAJOR, 4120) +CG_ENUM_MACRO(CG_COLUMN_MAJOR, 4121) +CG_ENUM_MACRO(CG_FRAGMENT, 4122) +CG_ENUM_MACRO(CG_VERTEX, 4123) +CG_ENUM_MACRO(CG_POINT, 4124) +CG_ENUM_MACRO(CG_LINE, 4125) +CG_ENUM_MACRO(CG_LINE_ADJ, 4126) +CG_ENUM_MACRO(CG_TRIANGLE, 4127) +CG_ENUM_MACRO(CG_TRIANGLE_ADJ, 4128) +CG_ENUM_MACRO(CG_POINT_OUT, 4129) +CG_ENUM_MACRO(CG_LINE_OUT, 4130) +CG_ENUM_MACRO(CG_TRIANGLE_OUT, 4131) +CG_ENUM_MACRO(CG_IMMEDIATE_PARAMETER_SETTING, 4132) +CG_ENUM_MACRO(CG_DEFERRED_PARAMETER_SETTING, 4133) +CG_ENUM_MACRO(CG_NO_LOCKS_POLICY, 4134) +CG_ENUM_MACRO(CG_THREAD_SAFE_POLICY, 4135) +CG_ENUM_MACRO(CG_FORCE_UPPER_CASE_POLICY, 4136) +CG_ENUM_MACRO(CG_UNCHANGED_CASE_POLICY, 4137) +CG_ENUM_MACRO(CG_IS_OPENGL_PROFILE, 4138) +CG_ENUM_MACRO(CG_IS_DIRECT3D_PROFILE, 4139) +CG_ENUM_MACRO(CG_IS_DIRECT3D_8_PROFILE, 4140) +CG_ENUM_MACRO(CG_IS_DIRECT3D_9_PROFILE, 4141) +CG_ENUM_MACRO(CG_IS_DIRECT3D_10_PROFILE, 4142) +CG_ENUM_MACRO(CG_IS_VERTEX_PROFILE, 4143) +CG_ENUM_MACRO(CG_IS_FRAGMENT_PROFILE, 4144) +CG_ENUM_MACRO(CG_IS_GEOMETRY_PROFILE, 4145) +CG_ENUM_MACRO(CG_IS_TRANSLATION_PROFILE, 4146) +CG_ENUM_MACRO(CG_IS_HLSL_PROFILE, 4147) +CG_ENUM_MACRO(CG_IS_GLSL_PROFILE, 4148) + +/* + if you add any enums here, you must also change + the last enum value in the definition of cgiEnumStringMap + (currently found in common/cg_enum.cpp) +*/ + +#undef CG_ENUM_MACRO diff --git a/Externals/cg/2.2/include/Cg/cg_errors.h b/Externals/cg/2.2/include/Cg/cg_errors.h new file mode 100644 index 00000000..16a6f83d --- /dev/null +++ b/Externals/cg/2.2/include/Cg/cg_errors.h @@ -0,0 +1,325 @@ +/* + * + * Copyright (c) 2002-2010, NVIDIA Corporation. + * + * + * + * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration + * of your agreement to the following terms, and your use, installation, + * modification or redistribution of this NVIDIA software constitutes + * acceptance of these terms. If you do not agree with these terms, please do + * not use, install, modify or redistribute this NVIDIA software. + * + * + * + * In consideration of your agreement to abide by the following terms, and + * subject to these terms, NVIDIA grants you a personal, non-exclusive license, + * under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA + * Software"), to use, reproduce, modify and redistribute the NVIDIA + * Software, with or without modifications, in source and/or binary forms; + * provided that if you redistribute the NVIDIA Software, you must retain the + * copyright notice of NVIDIA, this notice and the following text and + * disclaimers in all such redistributions of the NVIDIA Software. Neither the + * name, trademarks, service marks nor logos of NVIDIA Corporation may be used + * to endorse or promote products derived from the NVIDIA Software without + * specific prior written permission from NVIDIA. Except as expressly stated + * in this notice, no other rights or licenses express or implied, are granted + * by NVIDIA herein, including but not limited to any patent rights that may be + * infringed by your derivative works or by other works in which the NVIDIA + * Software may be incorporated. No hardware is licensed hereunder. + * + * + * + * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING + * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION + * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. + * + * + * + * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, + * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST + * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, + * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, + * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/* + * The following macro invocations define error codes returned by various cg + * API functions. + * + * The macros have the form : + * + * CG_ERROR_MACRO(code, enum_name, message) + * + * code : The integer error code associated with the error. + * enum_name : The name of enumerant of the error code in the API. + * message : A description string associated with the error. + * + */ + + +CG_ERROR_MACRO(0, + CG_NO_ERROR, + "No error has occurred.") + +CG_ERROR_MACRO(1, + CG_COMPILER_ERROR, + "The compile returned an error.") + +CG_ERROR_MACRO(2, + CG_INVALID_PARAMETER_ERROR, + "The parameter used is invalid.") + +CG_ERROR_MACRO(3, + CG_INVALID_PROFILE_ERROR, + "The profile is not supported.") + +CG_ERROR_MACRO(4, + CG_PROGRAM_LOAD_ERROR, + "The program could not load.") + +CG_ERROR_MACRO(5, + CG_PROGRAM_BIND_ERROR, + "The program could not bind.") + +CG_ERROR_MACRO(6, + CG_PROGRAM_NOT_LOADED_ERROR, + "The program must be loaded before this operation may be used.") + +CG_ERROR_MACRO(7, + CG_UNSUPPORTED_GL_EXTENSION_ERROR, + "An unsupported GL extension was required to perform this operation.") + +CG_ERROR_MACRO(8, + CG_INVALID_VALUE_TYPE_ERROR, + "An unknown value type was assigned to a parameter.") + +CG_ERROR_MACRO(9, + CG_NOT_MATRIX_PARAM_ERROR, + "The parameter is not of matrix type.") + +CG_ERROR_MACRO(10, + CG_INVALID_ENUMERANT_ERROR, + "The enumerant parameter has an invalid value.") + +CG_ERROR_MACRO(11, + CG_NOT_4x4_MATRIX_ERROR, + "The parameter must be a 4x4 matrix type.") + +CG_ERROR_MACRO(12, + CG_FILE_READ_ERROR, + "The file could not be read.") + +CG_ERROR_MACRO(13, + CG_FILE_WRITE_ERROR, + "The file could not be written.") + +CG_ERROR_MACRO(14, + CG_NVPARSE_ERROR, + "nvparse could not successfully parse the output from the Cg " + "compiler backend.") + +CG_ERROR_MACRO(15, + CG_MEMORY_ALLOC_ERROR, + "Memory allocation failed.") + +CG_ERROR_MACRO(16, + CG_INVALID_CONTEXT_HANDLE_ERROR, + "Invalid context handle.") + +CG_ERROR_MACRO(17, + CG_INVALID_PROGRAM_HANDLE_ERROR, + "Invalid program handle.") + +CG_ERROR_MACRO(18, + CG_INVALID_PARAM_HANDLE_ERROR, + "Invalid parameter handle.") + +CG_ERROR_MACRO(19, + CG_UNKNOWN_PROFILE_ERROR, + "The specified profile is unknown.") + +CG_ERROR_MACRO(20, + CG_VAR_ARG_ERROR, + "The variable arguments were specified incorrectly.") + +CG_ERROR_MACRO(21, + CG_INVALID_DIMENSION_ERROR, + "The dimension value is invalid.") + +CG_ERROR_MACRO(22, + CG_ARRAY_PARAM_ERROR, + "The parameter must be an array.") + +CG_ERROR_MACRO(23, + CG_OUT_OF_ARRAY_BOUNDS_ERROR, + "Index into the array is out of bounds.") + +CG_ERROR_MACRO(24, + CG_CONFLICTING_TYPES_ERROR, + "A type being added to the context conflicts with an " + "existing type.") + +CG_ERROR_MACRO(25, + CG_CONFLICTING_PARAMETER_TYPES_ERROR, + "The parameters being bound have conflicting types.") + +CG_ERROR_MACRO(26, + CG_PARAMETER_IS_NOT_SHARED_ERROR, + "The parameter must be global.") + +CG_ERROR_MACRO(27, + CG_INVALID_PARAMETER_VARIABILITY_ERROR, + "The parameter could not be changed to the given variability.") + +CG_ERROR_MACRO(28, + CG_CANNOT_DESTROY_PARAMETER_ERROR, + "Cannot destroy the parameter. It is bound to other parameters " + "or is not a root parameter.") + + +CG_ERROR_MACRO(29, + CG_NOT_ROOT_PARAMETER_ERROR, + "The parameter is not a root parameter.") + +CG_ERROR_MACRO(30, + CG_PARAMETERS_DO_NOT_MATCH_ERROR, + "The two parameters being bound do not match.") + +CG_ERROR_MACRO(31, + CG_IS_NOT_PROGRAM_PARAMETER_ERROR, + "The parameter is not a program parameter.") + +CG_ERROR_MACRO(32, + CG_INVALID_PARAMETER_TYPE_ERROR, + "The type of the parameter is invalid.") + +CG_ERROR_MACRO(33, + CG_PARAMETER_IS_NOT_RESIZABLE_ARRAY_ERROR, + "The parameter must be a resizable array.") + +CG_ERROR_MACRO(34, + CG_INVALID_SIZE_ERROR, + "The size value is invalid.") + +CG_ERROR_MACRO(35, + CG_BIND_CREATES_CYCLE_ERROR, + "Cannot bind the given parameters. Binding will form a cycle.") + +CG_ERROR_MACRO(36, + CG_ARRAY_TYPES_DO_NOT_MATCH_ERROR, + "Cannot bind the given parameters. Array types do not match.") + +CG_ERROR_MACRO(37, + CG_ARRAY_DIMENSIONS_DO_NOT_MATCH_ERROR, + "Cannot bind the given parameters. " + "Array dimensions do not match.") + +CG_ERROR_MACRO(38, + CG_ARRAY_HAS_WRONG_DIMENSION_ERROR, + "The array has the wrong dimension.") + +CG_ERROR_MACRO(39, + CG_TYPE_IS_NOT_DEFINED_IN_PROGRAM_ERROR, + "Connecting the parameters failed because The type of the " + "source parameter is not defined within the given program " + "or does not match the type with the same name in the program.") + +CG_ERROR_MACRO(40, + CG_INVALID_EFFECT_HANDLE_ERROR, + "Invalid effect handle.") + +CG_ERROR_MACRO(41, + CG_INVALID_STATE_HANDLE_ERROR, + "Invalid state handle.") + +CG_ERROR_MACRO(42, + CG_INVALID_STATE_ASSIGNMENT_HANDLE_ERROR, + "Invalid stateassignment handle.") + +CG_ERROR_MACRO(43, + CG_INVALID_PASS_HANDLE_ERROR, + "Invalid pass handle.") + +CG_ERROR_MACRO(44, + CG_INVALID_ANNOTATION_HANDLE_ERROR, + "Invalid annotation handle.") + +CG_ERROR_MACRO(45, + CG_INVALID_TECHNIQUE_HANDLE_ERROR, + "Invalid technique handle.") + +/* Do not use this! Use CG_INVALID_PARAM_HANDLE_ERROR instead. */ + +CG_ERROR_MACRO(46, + CG_INVALID_PARAMETER_HANDLE_ERROR, + "Invalid parameter handle.") + +CG_ERROR_MACRO(47, + CG_STATE_ASSIGNMENT_TYPE_MISMATCH_ERROR, + "Operation is not valid for this type of stateassignment.") + +CG_ERROR_MACRO(48, + CG_INVALID_FUNCTION_HANDLE_ERROR, + "Invalid function handle.") + +CG_ERROR_MACRO(49, + CG_INVALID_TECHNIQUE_ERROR, + "Technique did not pass validation.") + +CG_ERROR_MACRO(50, + CG_INVALID_POINTER_ERROR, + "The supplied pointer is NULL.") + +CG_ERROR_MACRO(51, + CG_NOT_ENOUGH_DATA_ERROR, + "Not enough data was provided.") + +CG_ERROR_MACRO(52, + CG_NON_NUMERIC_PARAMETER_ERROR, + "The parameter is not of a numeric type.") + +CG_ERROR_MACRO(53, + CG_ARRAY_SIZE_MISMATCH_ERROR, + "The specified array sizes are not compatible with the given array.") + +CG_ERROR_MACRO(54, + CG_CANNOT_SET_NON_UNIFORM_PARAMETER_ERROR, + "Cannot set the value of a non-uniform parameter.") + +CG_ERROR_MACRO(55, + CG_DUPLICATE_NAME_ERROR, + "This name is already in use.") + +CG_ERROR_MACRO(56, + CG_INVALID_OBJ_HANDLE_ERROR, + "Invalid object handle.") + +CG_ERROR_MACRO(57, + CG_INVALID_BUFFER_HANDLE_ERROR, + "Invalid buffer handle.") + +CG_ERROR_MACRO(58, + CG_BUFFER_INDEX_OUT_OF_RANGE_ERROR, + "Buffer index is out of bounds.") + +CG_ERROR_MACRO(59, + CG_BUFFER_ALREADY_MAPPED_ERROR, + "The buffer is already mapped.") + +CG_ERROR_MACRO(60, + CG_BUFFER_UPDATE_NOT_ALLOWED_ERROR, + "The buffer cannot be updated.") + +CG_ERROR_MACRO(61, + CG_GLSLG_UNCOMBINED_LOAD_ERROR, + "The GLSL geometry program can not load without being combined with a vertex program.") + +#undef CG_ERROR_MACRO + diff --git a/Externals/cg/2.2/include/Cg/cg_profiles.h b/Externals/cg/2.2/include/Cg/cg_profiles.h new file mode 100644 index 00000000..b5e287e2 --- /dev/null +++ b/Externals/cg/2.2/include/Cg/cg_profiles.h @@ -0,0 +1,105 @@ +/* + * + * Copyright (c) 2002-2010, NVIDIA Corporation. + * + * + * + * NVIDIA Corporation("NVIDIA") supplies this software to you in consideration + * of your agreement to the following terms, and your use, installation, + * modification or redistribution of this NVIDIA software constitutes + * acceptance of these terms. If you do not agree with these terms, please do + * not use, install, modify or redistribute this NVIDIA software. + * + * + * + * In consideration of your agreement to abide by the following terms, and + * subject to these terms, NVIDIA grants you a personal, non-exclusive license, + * under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA + * Software"), to use, reproduce, modify and redistribute the NVIDIA + * Software, with or without modifications, in source and/or binary forms; + * provided that if you redistribute the NVIDIA Software, you must retain the + * copyright notice of NVIDIA, this notice and the following text and + * disclaimers in all such redistributions of the NVIDIA Software. Neither the + * name, trademarks, service marks nor logos of NVIDIA Corporation may be used + * to endorse or promote products derived from the NVIDIA Software without + * specific prior written permission from NVIDIA. Except as expressly stated + * in this notice, no other rights or licenses express or implied, are granted + * by NVIDIA herein, including but not limited to any patent rights that may be + * infringed by your derivative works or by other works in which the NVIDIA + * Software may be incorporated. No hardware is licensed hereunder. + * + * + * + * THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING + * WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION + * EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS. + * + * + * + * IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL, + * EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST + * PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE, + * REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE, + * HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING + * NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * + */ + +/* + * The following macro invocations define the supported CG profiles. + * + * The macros have the form : + * + * CG_PROFILE_MACRO(name, compiler_id, compiler_id_caps, compiler_opt, int_id, vertex_profile) + * + * name : The name of the profile. Used consistently with the API. + * compiler_id : The identifier string for the profile used by the compiler. + * compiler_id_caps : compiler_id in caps. + * compiler_opt : The command-line switch used to force compilation into + * the profile. + * int_id : Integer enumerant associated with this bind location. + * vertex_profile : Non-zero if this is a vertex profile, otherwise it + * is considered to be a fragment profile. + * + * + */ + +#define CG_IN_PROFILES_INCLUDE + +/* Used for profile enumeration aliases */ +#ifndef CG_PROFILE_ALIAS +#define CG_PROFILE_ALIAS(name, compiler_id, compiler_id_caps, compiler_opt, int_id, vertex_profile) /*nothing*/ +#endif + +#include <Cg/cgGL_profiles.h> + + +CG_PROFILE_MACRO(DX9Vertex11,vs_1_1,VS_1_1,"vs_1_1",6153,1) +CG_PROFILE_MACRO(DX9Vertex20,vs_2_0,VS_2_0,"vs_2_0",6154,1) +CG_PROFILE_MACRO(DX9Vertex2x,vs_2_x,VS_2_X,"vs_2_x",6155,1) +CG_PROFILE_MACRO(DX9Vertex2sw,vs_2_sw,VS_2_SW,"vs_2_sw",6156,1) +CG_PROFILE_MACRO(DX9Vertex30,vs_3_0,VS_3_0,"vs_3_0",6157,1) +CG_PROFILE_MACRO(DX9VertexHLSL,hlslv, HLSLV,"hlslv",6158,1) + +CG_PROFILE_MACRO(DX9Pixel11,ps_1_1,PS_1_1,"ps_1_1",6159,0) +CG_PROFILE_MACRO(DX9Pixel12,ps_1_2,PS_1_2,"ps_1_2",6160,0) +CG_PROFILE_MACRO(DX9Pixel13,ps_1_3,PS_1_3,"ps_1_3",6161,0) +CG_PROFILE_MACRO(DX9Pixel20,ps_2_0,PS_2_0,"ps_2_0",6162,0) +CG_PROFILE_MACRO(DX9Pixel2x,ps_2_x,PS_2_X,"ps_2_x",6163,0) +CG_PROFILE_MACRO(DX9Pixel2sw,ps_2_sw,PS_2_SW,"ps_2_sw",6164,0) +CG_PROFILE_MACRO(DX9Pixel30,ps_3_0,PS_3_0,"ps_3_0",6165,0) +CG_PROFILE_MACRO(DX9PixelHLSL,hlslf,HLSLF,"hlslf",6166,0) + +CG_PROFILE_MACRO(DX10Vertex40,vs_4_0,VS_4_0,"vs_4_0",6167,1) +CG_PROFILE_MACRO(DX10Pixel40,ps_4_0,PS_4_0,"ps_4_0",6168,0) +CG_PROFILE_MACRO(DX10Geometry40,gs_4_0,GS_4_0,"gs_4_0",6169,0) + +CG_PROFILE_MACRO(Generic, generic, GENERIC, "generic", 7002,0) + +#undef CG_PROFILE_MACRO +#undef CG_PROFILE_ALIAS +#undef CG_IN_PROFILES_INCLUDE |