summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--make/Makefile6
-rw-r--r--make/Makefile2118
-rw-r--r--make/cg-common.cfg65
-rw-r--r--make/stub_includes/cg/CG/cg.h282
-rw-r--r--make/stub_includes/cg/CG/cgGL.h378
-rw-r--r--make/stub_includes/cg/CG/cgGL_profiles.h62
-rw-r--r--make/stub_includes/cg/CG/cg_bindlocations.h339
-rw-r--r--make/stub_includes/cg/CG/cg_datatypes.h150
-rw-r--r--make/stub_includes/cg/CG/cg_errors.h223
-rw-r--r--make/stub_includes/cg/CG/cg_profiles.h96
-rw-r--r--src/net/java/games/cg/CgException.java67
11 files changed, 1778 insertions, 8 deletions
diff --git a/make/Makefile b/make/Makefile
index f9f414967..5137a4049 100644
--- a/make/Makefile
+++ b/make/Makefile
@@ -45,7 +45,7 @@
# completely, exec a subordinate make after ensuring the required
# directories exist.
-.PHONY: default all gluegen win32 x11 doc devdoc
-default clean all gluegen win32 x11 doc devdoc macosx:
- -mkdir -p ../build/obj ../build/obj/jogl ../build/gensrc/classes/net/java/games/jogl/impl ../build/gensrc/native/jogl ../build/classes ../build/gensrc/classes/net/java/games/gluegen/cgram
+.PHONY: default all gluegen win32 x11 macosx doc devdoc
+default clean all gluegen win32 x11 macosx doc devdoc:
+ -mkdir -p ../build/obj ../build/obj/jogl ../build/obj/jogl_cg ../build/gensrc/classes/net/java/games/jogl/impl ../build/gensrc/classes/net/java/games/cg ../build/gensrc/native/jogl ../build/gensrc/native/jogl_cg ../build/classes ../build/gensrc/classes/net/java/games/gluegen/cgram
-$(MAKE) -f Makefile2 $(MAKECMDGOALS) $(MAKEFLAGS)
diff --git a/make/Makefile2 b/make/Makefile2
index 45527303f..cf9b6f655 100644
--- a/make/Makefile2
+++ b/make/Makefile2
@@ -640,10 +640,93 @@ JOGL_OBJ_FILES=$(patsubst $(GENSRC_GL_NATIVE_DIR)/%,$(JOGL_OBJ_DIR)/%,$(patsubst
#----------------------------------------------------------------------
#----------------------------------------------------------------------
+# jogl.cg variables
+#
+# Cg is NVidia's high level language for programmable 3D graphics
+# http://www.nvidia.com/cg
+#
+
+# Only build the Cg binding if requested (CG=1 on the make command line)
+
+ifdef CG
+
+NATIVE_NVCG_SRC_DIR=$(SRC_DIR)/native/jogl_cg
+GENSRC_NVCG_NATIVE_DIR=$(GENSRC_NATIVE_DIR)/jogl_cg
+
+JOGL_NVCG_DIR=$(SRC_DIR)/net/java/games/cg
+JOGL_NVCG_IMPL_DIR=$(SRC_DIR)/net/java/games/cg/impl
+GENSRC_JOGL_NVCG_DIR=$(GENSRC_JAVA_DIR)/net/java/games/cg
+GENSRC_JOGL_NVCG_IMPL_DIR=$(GENSRC_JAVA_DIR)/net/java/games/cg/impl
+
+#JOGL_STUB_INCLUDES_DIR_NVCG=C:\Program Files\Nvidia Corporation\Cg\include
+JOGL_STUB_INCLUDES_DIR_NVCG=$(JOGL_STUB_INCLUDES_DIR)/cg
+
+JOGL_NVCG_OBJ_DIR = $(OBJ_DIR)/jogl_cg
+JOGL_NVCG_DSO_DIR = $(DSO_DIR)
+JOGL_NVCG_DSO= $(JOGL_NVCG_DSO_DIR)/jogl_cg.$(DSO_EXTENSION_PD)
+
+# Win32-specific settings for jogl.cg
+ifeq ($(MAKECMDGOALS),win32)
+NVCG_DEFINES=/D "JOGL_NVCG_EXPORTS" $(DEFINES)
+NVCG_INCLUDES=/I"$(JOGL_STUB_INCLUDES_DIR_OPENGL)" /I"$(JOGL_STUB_INCLUDES_DIR_NVCG)" $(INCLUDES)
+NVCG_C_BUILD_OBJ_CMD=$(CC) /c $< $(CFLAGS) $(NVCG_INCLUDES) $(NVCG_DEFINES) /Fo"$@"
+JOGL_NVCG_DSO_LINK_ADDITIONAL_LIBS= opengl32.lib cg.lib cgGL.lib /LIBPATH:"C:\Program Files\Nvidia Corporation\Cg\lib"
+NVCG_LINKFLAGS= $(LINKFLAGS) $(JOGL_NVCG_DSO_LINK_ADDITIONAL_LIBS)
+NVCG_C_LINK_DSO_CMD=$(LINK) /OUT:"$@" $(NVCG_LINKFLAGS)
+endif # Win32
+
+# X11-specific settings for jogl.cg
+ifeq ($(MAKECMDGOALS), x11)
+NVCG_DEFINES=$(DEFINES)
+NVCG_INCLUDES=-I$(JOGL_STUB_INCLUDES_DIR_OPENGL) -I$(JOGL_STUB_INCLUDES_DIR_NVCG) $(INCLUDES)
+NVCG_C_BUILD_OBJ_CMD=$(CC) -c $(CFLAGS) $(INCLUDES) $(DEFINES) $< -o $@
+# !!! FIXME: what are the correct libraries on X11? Probably also need to add the library directory to the lib search path
+JOGL_NVCG_DSO_LINK_ADDITIONAL_LIBS= -lGL -lcg -lcgGL
+NVCG_LINKFLAGS=$(LINKFLAGS) -L$(JAVA_LIBRARY_PATH_PD) $(JOGL_NVCG_DSO_LINK_ADDITIONAL_LIBS)
+NVCG_C_LINK_DSO_CMD=$(LINK) -o $@ $(NVCG_LINKFLAGS)
+endif # X11
+
+JOGL_NVCG_CFG_FILES = $(wildcard cg*.cfg)
+
+JOGL_NVCG_CFG=cg-common.cfg
+
+JOGL_NVCG_HEADERS = \
+ $(JOGL_STUB_INCLUDES_DIR_NVCG)/CgGL.h
+
+JOGL_NVCG_GENERATED_JAVAFILES = \
+ $(GENSRC_JOGL_NVCG_DIR)/CgGL.java \
+ $(GENSRC_JOGL_NVCG_DIR)/CGcontext.java \
+ $(GENSRC_JOGL_NVCG_DIR)/CGparameter.java \
+ $(GENSRC_JOGL_NVCG_DIR)/CGprogram.java
+
+JOGL_NVCG_JAVAFILES = \
+ $(JOGL_NVCG_DIR)/CgException.java \
+ $(JOGL_NVCG_GENERATED_JAVAFILES)
+
+JOGL_NVCG_CLASSFILES = $(patsubst $(GENSRC_JAVA_DIR)/%,$(CLASSES_DIR)/%,$(patsubst $(SRC_DIR)/%,$(CLASSES_DIR)/%,$(JOGL_NVCG_JAVAFILES:.java=.class)))
+
+JOGL_NVCG_GENERATED_CFILES = \
+ $(GENSRC_NVCG_NATIVE_DIR)/CgGL_JNI.c
+
+JOGL_NVCG_CFILES = \
+ $(JOGL_NVCG_GENERATED_CFILES)
+
+JOGL_NVCG_OBJ_FILES=$(patsubst $(GENSRC_NVCG_NATIVE_DIR)/%,$(JOGL_NVCG_OBJ_DIR)/%,$(patsubst $(NATIVE_NVCG_SRC_DIR)/%,$(JOGL_NVCG_OBJ_DIR)/%,$(JOGL_NVCG_CFILES:.c=.$(OBJ_FILE_EXT))))
+
+JOGL_NVCG_DSO=$(JOGL_NVCG_DSO_DIR)/jogl_cg.$(DSO_EXTENSION_PD)
+
+JOGL_NVCG_DOC_PKGS=net.java.games.cg
+
+endif # ifdef CG
+
+#
+#----------------------------------------------------------------------
+
+#----------------------------------------------------------------------
# Rules
#
-OUTPUT_DIRS = $(OBJ_DIR) $(JOGL_OBJ_DIR) $(JOGL_DSO_DIR) $(GENSRC_JOGL_IMPL_DIR) $(GENSRC_GL_NATIVE_DIR) $(CLASSES_DIR) $(GENSRC_CGRAM_DIR)
+OUTPUT_DIRS = $(OBJ_DIR) $(JOGL_OBJ_DIR) $(JOGL_NVCG_OBJ_DIR) $(JOGL_DSO_DIR) $(GENSRC_JOGL_IMPL_DIR) $(GENSRC_GL_NATIVE_DIR) $(CLASSES_DIR) $(GENSRC_CGRAM_DIR)
.PHONY: all clean doc devdoc
all:
@@ -657,7 +740,8 @@ doc:
-public -sourcepath "$(SRC_DIR)$(CP_SEPARATOR)$(GENSRC_JAVA_DIR)" \
net.java.games.jogl \
net.java.games.gluegen.runtime \
- net.java.games.jogl.util
+ net.java.games.jogl.util \
+ $(JOGL_NVCG_DOC_PKGS)
devdoc:
mkdir -p $(JAVADOC_DIR_DEVDOC)
@@ -674,14 +758,17 @@ devdoc:
net.java.games.gluegen.opengl \
net.java.games.gluegen.pcpp \
net.java.games.gluegen.runtime \
- net.java.games.jogl.util
+ net.java.games.jogl.util \
+ $(JOGL_NVCG_DOC_PKGS)
# (Iff we are not on macosx): print an error if the user has not set JAVA_HOME, since that will cause
# builds to fail
ifneq ($(JAVA_HOME),)
-win32: WIN32_COMPILER_SPECIFIED $(OUTPUT_DIRS) $(JOGL_JAR) $(JOGL_DSO)
+win32: WIN32_COMPILER_SPECIFIED $(OUTPUT_DIRS) $(JOGL_JAR) $(JOGL_DSO) $(JOGL_NVCG_DSO)
x11: $(OUTPUT_DIRS) $(JOGL_JAR) $(JOGL_DSO)
+# FIXME: add back the following Cg prerequisites to the above x11 rule
+# $(JOGL_NVCG_DSO)
macosx: $(OUTPUT_DIRS) $(JOGL_JAR) $(JOGL_DSO)
gluegen: $(GG_CLASSFILES)
@@ -816,6 +903,19 @@ $(JOGL_CLASSFILES_SECOND_PASS) : $(JOGL_JAVAFILES_SECOND_PASS)
$(JAVAC) -source 1.4 -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -d $(CLASSES_DIR) $(JOGL_JAVAFILES_SECOND_PASS)
#
+# jogl.cg package rules (once jogl is built)
+#
+
+$(JOGL_NVCG_GENERATED_JAVAFILES) $(JOGL_NVCG_GENERATED_CFILES) : $(JOGL_NVCG_CFG_FILES) $(GG_CLASSFILES) $(JOGL_NVGC_HEADERS) $(JOGL_STUB_INCLUDES_DIR_PD)/cg.c
+# generate Cg java class
+ $(JAVA) -cp "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" net.java.games.gluegen.GlueGen -Enet.java.games.gluegen.JavaEmitter -C$(JOGL_NVCG_CFG) -I"$(JOGL_STUB_INCLUDES_DIR_NVCG)" -I$(JOGL_STUB_INCLUDES_DIR_PD) -I$(JOGL_STUB_INCLUDES_DIR_OPENGL) $(JOGL_STUB_INCLUDES_DIR_PD)/cg.c
+
+$(JOGL_NVCG_CLASSFILES) : $(JOGL_NVCG_JAVAFILES)
+# compile Cg java classes
+ mkdir -p $(CLASSES_DIR)
+ $(JAVAC) -source 1.4 -classpath "$(CLASSES_DIR)$(CP_SEPARATOR)$(CLASSPATH)" -d $(CLASSES_DIR) $(JOGL_NVCG_JAVAFILES)
+
+#
# .so / .dll build rules
#
@@ -831,10 +931,18 @@ $(JOGL_OBJ_DIR)/%.$(OBJ_FILE_EXT) : $(NATIVE_GL_SRC_DIR)/%.c
$(JOGL_OBJ_DIR)/%.$(OBJ_FILE_EXT) : $(GENSRC_GL_NATIVE_DIR)/%.c
$(GL_C_BUILD_OBJ_CMD)
+# Build auto-generated jogl.cg C code
+$(JOGL_NVCG_OBJ_DIR)/%.$(OBJ_FILE_EXT) : $(GENSRC_NVCG_NATIVE_DIR)/%.c
+ $(NVCG_C_BUILD_OBJ_CMD)
+
# Build the jogl JNI dll
$(JOGL_DSO): $(JOGL_OBJ_FILES)
$(GL_C_LINK_DSO_CMD) $(JOGL_OBJ_FILES)
+# Build the jogl.cg JNI dll
+$(JOGL_NVCG_DSO): $(JOGL_NVCG_OBJ_FILES)
+ $(NVCG_C_LINK_DSO_CMD) $(JOGL_NVCG_OBJ_FILES)
+
# Hand-coded rule for the Objective C source on Mac OS X
$(JOGL_OBJ_DIR)/MacOSXWindowSystemInterface.$(OBJ_FILE_EXT) : $(NATIVE_GL_SRC_DIR)/MacOSXWindowSystemInterface.m
$(GL_C_BUILD_OBJ_CMD)
@@ -843,7 +951,7 @@ $(JOGL_OBJ_DIR)/MacOSXWindowSystemInterface.$(OBJ_FILE_EXT) : $(NATIVE_GL_SRC_DI
# jar build rule
#
-$(JOGL_JAR): $(JOGL_CLASSFILES)
+$(JOGL_JAR): $(JOGL_CLASSFILES) $(JOGL_NVCG_CLASSFILES)
rm -f $@
cd $(CLASSES_DIR) ; \
jar cvf ../jogl.jar *
diff --git a/make/cg-common.cfg b/make/cg-common.cfg
new file mode 100644
index 000000000..d866ed860
--- /dev/null
+++ b/make/cg-common.cfg
@@ -0,0 +1,65 @@
+# This .cfg file provides common options used among all Cg glue code
+# generated for Jogl on all platforms.
+Package net.java.games.cg
+ImplPackage net.java.games.cg.impl
+JavaClass CgGL
+Style AllStatic
+JavaOutputDir ../build/gensrc/classes
+NativeOutputDir ../build/gensrc/native/jogl_cg
+HierarchicalNativeOutput false
+
+#
+# Map const char* return values to Java strings for these functions
+#
+ReturnsString cgGetErrorString
+ReturnsString cgGetLastListing
+ReturnsString cgGetParameterName
+ReturnsString cgGetParameterSemantic
+ReturnsString cgGetProfileString
+ReturnsString cgGetProgramString
+ReturnsString cgGetResourceString
+ReturnsString cgGetTypeString
+
+ArgumentIsString cgCreateProgram 2 4 5
+ArgumentIsString cgCreateProgramFromFile 2 4 5
+ArgumentIsString cgGetNamedParameter 1
+ArgumentIsString cgGetType 0
+ArgumentIsString cgGetResource 0
+ArgumentIsString cgGetProfile 0
+
+# Opaque definitions
+Opaque boolean CGbool
+
+#
+# FIXME!!!! Ignore these functions for now because we can't
+# automatically handle C callbacks
+#
+Ignore cgGetErrorCallback
+Ignore cgSetErrorCallback
+
+#
+# FIXME!!!! Ignore these functions for now because bugs in the
+# emitter code can't handle them
+#
+Ignore cgGetParameterValues
+
+#
+# Need to import New IO for Buffer classes
+#
+Import java.nio.*
+
+# Raise CgException instead of RuntimeException in glue code
+RuntimeExceptionType CgException
+
+#
+# Make sure the right definitions and include files are added to the
+# generated C code
+#
+
+CustomCCode #include <CG/CgGL.h>
+
+ArgumentIsString fooString 0
+ArgumentIsString fooString1 0
+NioOnly fooFloat2
+
+CustomJavaCode CgGL static { System.loadLibrary("jogl_cg");}
diff --git a/make/stub_includes/cg/CG/cg.h b/make/stub_includes/cg/CG/cg.h
new file mode 100644
index 000000000..afed92990
--- /dev/null
+++ b/make/stub_includes/cg/CG/cg.h
@@ -0,0 +1,282 @@
+/*
+ * This is a modified version of the original header as provided by
+ * NVidia; original copyright appears below.
+ *
+ * Modified by Christopher Kline, May 2003: Stripped down and hacked to get
+ * around macro interpretation problems.
+ */
+
+/*
+ *
+ * Copyright (c) 2002, 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
+
+#ifndef CG_DEPRECATED_API
+
+// Set up for either Win32 import/export/lib.
+#ifndef CGDLL_API
+#ifdef WIN32
+ #ifdef CGDLL_EXPORTS
+ #define CGDLL_API /*__declspec(dllexport) */
+ #elif defined (CG_LIB)
+ #define CGDLL_API
+ #else
+ #define CGDLL_API __declspec(dllimport)
+ #endif
+#else
+ #define CGDLL_API
+#endif
+#endif
+
+/*************************************************************************/
+/*** CG Run-Time Library API ***/
+/*************************************************************************/
+
+/*************************************************************************/
+/*** 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;
+
+// hack: until typedef resolution is fixed, change the typedef from *CGContext
+// to CGContext, and change all references to CGContext in functions to CGContext*
+typedef struct _CGcontext CGcontext;
+typedef struct _CGprogram CGprogram;
+typedef struct _CGparameter CGparameter;
+
+typedef enum
+ {
+ CG_UNKNOWN_TYPE,
+ CG_STRUCT,
+ CG_ARRAY,
+
+ CG_TYPE_START_ENUM = 1024,
+//# define CG_DATATYPE_MACRO(name, compiler_name, enum_name, ncols, nrows) enum_name ,
+
+#include <Cg/cg_datatypes.h>
+
+ } 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,
+
+ } 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,
+
+#include <Cg/cg_profiles.h>
+
+ CG_PROFILE_MAX,
+ } CGprofile;
+
+typedef enum
+ {
+//# define CG_ERROR_MACRO(code, enum_name, new_enum_name, message) new_enum_name = code,
+# include <Cg/cg_errors.h>
+ } CGerror;
+
+typedef enum
+ {
+ CG_UNKNOWN = 4096,
+ CG_IN,
+ CG_OUT,
+ CG_INOUT,
+ CG_MIXED,
+ CG_VARYING,
+ CG_UNIFORM,
+ CG_CONSTANT,
+ CG_PROGRAM_SOURCE,
+ CG_PROGRAM_ENTRY,
+ CG_COMPILED_PROGRAM,
+ CG_PROGRAM_PROFILE,
+
+ CG_GLOBAL,
+ CG_PROGRAM,
+
+ CG_DEFAULT,
+ CG_ERROR,
+
+ CG_SOURCE,
+ CG_OBJECT,
+
+ } CGenum;
+
+#include <stdarg.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef void (*CGerrorCallbackFunc)(void);
+
+/*************************************************************************/
+/*** Functions ***/
+/*************************************************************************/
+
+/*** Context functions ***/
+
+CGDLL_API /*CGcontext*/CGcontext* cgCreateContext(void);
+CGDLL_API void cgDestroyContext(/*CGcontext*/CGcontext* ctx);
+CGDLL_API CGbool cgIsContext(/*CGcontext*/CGcontext* ctx);
+CGDLL_API const char *cgGetLastListing(/*CGcontext*/CGcontext* ctx);
+
+/*** Program functions ***/
+CGDLL_API /*CGprogram*/CGprogram* cgCreateProgram(/*CGcontext*/CGcontext* ctx,
+ CGenum program_type,
+ const char *program,
+ CGprofile profile,
+ const char *entry,
+ const char **args);
+CGDLL_API /*CGprogram*/CGprogram* cgCreateProgramFromFile(/*CGcontext*/CGcontext* ctx,
+ CGenum program_type,
+ const char *program_file,
+ CGprofile profile,
+ const char *entry,
+ const char **args);
+CGDLL_API /*CGprogram*/CGprogram* cgCopyProgram(/*CGprogram*/CGprogram* program);
+CGDLL_API void cgDestroyProgram(/*CGprogram*/CGprogram* program);
+
+CGDLL_API /*CGprogram*/CGprogram* cgGetFirstProgram(/*CGcontext*/CGcontext* ctx);
+CGDLL_API /*CGprogram*/CGprogram* cgGetNextProgram(/*CGprogram*/CGprogram* current);
+CGDLL_API /*CGcontext*/CGcontext* cgGetProgramContext(/*CGprogram*/CGprogram* prog);
+CGDLL_API CGbool cgIsProgram(/*CGprogram*/CGprogram* program);
+
+CGDLL_API void cgCompileProgram(/*CGprogram*/CGprogram* program);
+CGDLL_API CGbool cgIsProgramCompiled(/*CGprogram*/CGprogram* program);
+CGDLL_API const char *cgGetProgramString(/*CGprogram*/CGprogram* prog, CGenum pname);
+CGDLL_API CGprofile cgGetProgramProfile(/*CGprogram*/CGprogram* prog);
+
+/*** Parameter functions ***/
+CGDLL_API /*CGparameter*/CGparameter* cgGetNamedParameter(/*CGprogram*/CGprogram* prog, const char *name);
+CGDLL_API /*CGparameter*/CGparameter* cgGetFirstParameter(/*CGprogram*/CGprogram* prog, CGenum name_space);
+CGDLL_API /*CGparameter*/CGparameter* cgGetNextParameter(/*CGparameter*/CGparameter* current);
+CGDLL_API /*CGparameter*/CGparameter* cgGetFirstLeafParameter(/*CGprogram*/CGprogram* prog, CGenum name_space);
+CGDLL_API /*CGparameter*/CGparameter* cgGetNextLeafParameter(/*CGparameter*/CGparameter* current);
+
+
+CGDLL_API /*CGparameter*/CGparameter* cgGetFirstStructParameter(/*CGparameter*/CGparameter* param);
+CGDLL_API /*CGparameter*/CGparameter* cgGetFirstDependentParameter(/*CGparameter*/CGparameter* param);
+
+CGDLL_API /*CGparameter*/CGparameter* cgGetArrayParameter(/*CGparameter*/CGparameter* aparam, int index);
+CGDLL_API int cgGetArrayDimension(/*CGparameter*/CGparameter* param);
+CGDLL_API int cgGetArraySize(/*CGparameter*/CGparameter* param, int dimension);
+
+CGDLL_API /*CGprogram*/CGprogram* cgGetParameterProgram(/*CGparameter*/CGparameter* prog);
+CGDLL_API CGbool cgIsParameter(/*CGparameter*/CGparameter* param);
+CGDLL_API const char *cgGetParameterName(/*CGparameter*/CGparameter* param);
+CGDLL_API CGtype cgGetParameterType(/*CGparameter*/CGparameter* param);
+CGDLL_API const char *cgGetParameterSemantic(/*CGparameter*/CGparameter* param);
+CGDLL_API CGresource cgGetParameterResource(/*CGparameter*/CGparameter* param);
+CGDLL_API CGresource cgGetParameterBaseResource(/*CGparameter*/CGparameter* param);
+CGDLL_API unsigned long cgGetParameterResourceIndex(/*CGparameter*/CGparameter* param);
+CGDLL_API CGenum cgGetParameterVariability(/*CGparameter*/CGparameter* param);
+CGDLL_API CGenum cgGetParameterDirection(/*CGparameter*/CGparameter* param);
+CGDLL_API CGbool cgIsParameterReferenced(/*CGparameter*/CGparameter* param);
+CGDLL_API const double *cgGetParameterValues(/*CGparameter*/CGparameter* param,
+ CGenum value_type,
+ int *nvalues);
+CGDLL_API int cgGetParameterOrdinalNumber(/*CGparameter*/CGparameter* param);
+
+/*** Type Functions ***/
+
+CGDLL_API const char *cgGetTypeString(CGtype type);
+CGDLL_API CGtype cgGetType(const char *type_string);
+
+/*** Resource Functions ***/
+
+CGDLL_API const char *cgGetResourceString(CGresource resource);
+CGDLL_API CGresource cgGetResource(const char *resource_string);
+
+/*** Profile Functions ***/
+
+CGDLL_API const char *cgGetProfileString(CGprofile profile);
+CGDLL_API CGprofile cgGetProfile(const char *profile_string);
+
+/*** Error Functions ***/
+CGDLL_API CGerror cgGetError(void);
+CGDLL_API const char *cgGetErrorString(CGerror error);
+CGDLL_API void cgSetErrorCallback(CGerrorCallbackFunc func);
+CGDLL_API CGerrorCallbackFunc cgGetErrorCallback(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#else
+
+#define cgCreateContext cgGL_DEPRECATEDAPI_CreateContext
+#define cgGetNextProgram cgGL_DEPRECATEDAPI_GetNextProgram
+#define cgGetLastListing cgGL_DEPRECATEDAPI_GetLastListing
+#define cgGetProgramProfile cgGL_DEPRECATEDAPI_ProgramProfile
+
+# include <Cg/cg_deprecated_api.h>
+
+#endif
+
+#endif
diff --git a/make/stub_includes/cg/CG/cgGL.h b/make/stub_includes/cg/CG/cgGL.h
new file mode 100644
index 000000000..80bf28202
--- /dev/null
+++ b/make/stub_includes/cg/CG/cgGL.h
@@ -0,0 +1,378 @@
+/*
+ *
+ * Copyright (c) 2002, 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
+
+
+#ifndef CG_DEPRECATED_API
+
+#include <Cg/cg.h>
+
+/* Set up for either Win32 import/export/lib. */
+#ifndef CGGLDLL_API
+#if WIN32
+ # include <windows.h>
+ #ifdef CGGLDLL_EXPORTS
+ #define CGGLDLL_API __declspec(dllexport)
+ #elif defined (CG_LIB)
+ #define CGGLDLL_API
+ #else
+ #define CGGLDLL_API __declspec(dllimport)
+ #endif
+#else
+ #define CGGLDLL_API
+#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,
+
+ } CGGLenum;
+
+
+#ifndef CGGL_EXPLICIT
+
+/******************************************************************************
+ *** Profile Functions
+ *****************************************************************************/
+
+CGGLDLL_API CGbool cgGLIsProfileSupported(CGprofile profile);
+
+CGGLDLL_API void cgGLEnableProfile(CGprofile profile);
+CGGLDLL_API void cgGLDisableProfile(CGprofile profile);
+
+CGGLDLL_API CGprofile cgGLGetLatestProfile(CGGLenum profile_type);
+CGGLDLL_API void cgGLSetOptimalOptions(CGprofile profile);
+
+/******************************************************************************
+ *** Program Managment Functions
+ *****************************************************************************/
+
+CGGLDLL_API void cgGLLoadProgram(/*CGprogram*/CGprogram* program);
+CGGLDLL_API void cgGLBindProgram(/*CGprogram*/CGprogram* program);
+
+/******************************************************************************
+ *** Parameter Managment Functions
+ *****************************************************************************/
+
+CGGLDLL_API void cgGLSetParameter1f(/*CGparameter*/CGparameter* param,
+ float x);
+
+CGGLDLL_API void cgGLSetParameter2f(/*CGparameter*/CGparameter* param,
+ float x,
+ float y);
+
+CGGLDLL_API void cgGLSetParameter3f(/*CGparameter*/CGparameter* param,
+ float x,
+ float y,
+ float z);
+
+CGGLDLL_API void cgGLSetParameter4f(/*CGparameter*/CGparameter* param,
+ float x,
+ float y,
+ float z,
+ float w);
+
+CGGLDLL_API void cgGLSetParameter1fv(/*CGparameter*/CGparameter* param, const float *v);
+
+CGGLDLL_API void cgGLSetParameter2fv(/*CGparameter*/CGparameter* param, const float *v);
+
+CGGLDLL_API void cgGLSetParameter3fv(/*CGparameter*/CGparameter* param, const float *v);
+
+CGGLDLL_API void cgGLSetParameter4fv(/*CGparameter*/CGparameter* param, const float *v);
+
+CGGLDLL_API void cgGLSetParameter1d(/*CGparameter*/CGparameter* param,
+ double x);
+
+CGGLDLL_API void cgGLSetParameter2d(/*CGparameter*/CGparameter* param,
+ double x,
+ double y);
+
+CGGLDLL_API void cgGLSetParameter3d(/*CGparameter*/CGparameter* param,
+ double x,
+ double y,
+ double z);
+
+CGGLDLL_API void cgGLSetParameter4d(/*CGparameter*/CGparameter* param,
+ double x,
+ double y,
+ double z,
+ double w);
+
+CGGLDLL_API void cgGLSetParameter1dv(/*CGparameter*/CGparameter* param, const double *v);
+
+CGGLDLL_API void cgGLSetParameter2dv(/*CGparameter*/CGparameter* param, const double *v);
+
+CGGLDLL_API void cgGLSetParameter3dv(/*CGparameter*/CGparameter* param, const double *v);
+
+CGGLDLL_API void cgGLSetParameter4dv(/*CGparameter*/CGparameter* param, const double *v);
+
+CGGLDLL_API void cgGLSetParameter4dv(/*CGparameter*/CGparameter* param, const double *v);
+
+CGGLDLL_API void cgGLGetParameter1f(/*CGparameter*/CGparameter* param, float *v);
+
+CGGLDLL_API void cgGLGetParameter2f(/*CGparameter*/CGparameter* param, float *v);
+
+CGGLDLL_API void cgGLGetParameter3f(/*CGparameter*/CGparameter* param, float *v);
+
+CGGLDLL_API void cgGLGetParameter4f(/*CGparameter*/CGparameter* param, float *v);
+
+CGGLDLL_API void cgGLGetParameter1d(/*CGparameter*/CGparameter* param, double *v);
+
+CGGLDLL_API void cgGLGetParameter2d(/*CGparameter*/CGparameter* param, double *v);
+
+CGGLDLL_API void cgGLGetParameter3d(/*CGparameter*/CGparameter* param, double *v);
+
+CGGLDLL_API void cgGLGetParameter4d(/*CGparameter*/CGparameter* param, double *v);
+
+CGGLDLL_API void cgGLSetParameterArray1f(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ const float *v);
+
+CGGLDLL_API void cgGLSetParameterArray2f(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ const float *v);
+
+CGGLDLL_API void cgGLSetParameterArray3f(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ const float *v);
+
+CGGLDLL_API void cgGLSetParameterArray4f(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ const float *v);
+
+CGGLDLL_API void cgGLSetParameterArray1d(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ const double *v);
+
+CGGLDLL_API void cgGLSetParameterArray2d(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ const double *v);
+
+CGGLDLL_API void cgGLSetParameterArray3d(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ const double *v);
+
+CGGLDLL_API void cgGLSetParameterArray4d(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ const double *v);
+
+CGGLDLL_API void cgGLGetParameterArray1f(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ float *v);
+
+CGGLDLL_API void cgGLGetParameterArray2f(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ float *v);
+
+CGGLDLL_API void cgGLGetParameterArray3f(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ float *v);
+
+CGGLDLL_API void cgGLGetParameterArray4f(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ float *v);
+
+CGGLDLL_API void cgGLGetParameterArray1d(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ double *v);
+
+CGGLDLL_API void cgGLGetParameterArray2d(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ double *v);
+
+CGGLDLL_API void cgGLGetParameterArray3d(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ double *v);
+
+CGGLDLL_API void cgGLGetParameterArray4d(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ double *v);
+
+CGGLDLL_API void cgGLSetParameterPointer(/*CGparameter*/CGparameter* param,
+ GLint fsize,
+ GLenum type,
+ GLsizei stride,
+ GLvoid *pointer);
+
+CGGLDLL_API void cgGLEnableClientState(/*CGparameter*/CGparameter* param);
+CGGLDLL_API void cgGLDisableClientState(/*CGparameter*/CGparameter* param);
+
+/******************************************************************************
+ *** Matrix Parameter Managment Functions
+ *****************************************************************************/
+
+CGGLDLL_API void cgGLSetMatrixParameterdr(/*CGparameter*/CGparameter* param, const double *matrix);
+CGGLDLL_API void cgGLSetMatrixParameterfr(/*CGparameter*/CGparameter* param, const float *matrix);
+CGGLDLL_API void cgGLSetMatrixParameterdc(/*CGparameter*/CGparameter* param, const double *matrix);
+CGGLDLL_API void cgGLSetMatrixParameterfc(/*CGparameter*/CGparameter* param, const float *matrix);
+
+CGGLDLL_API void cgGLGetMatrixParameterdr(/*CGparameter*/CGparameter* param, double *matrix);
+CGGLDLL_API void cgGLGetMatrixParameterfr(/*CGparameter*/CGparameter* param, float *matrix);
+CGGLDLL_API void cgGLGetMatrixParameterdc(/*CGparameter*/CGparameter* param, double *matrix);
+CGGLDLL_API void cgGLGetMatrixParameterfc(/*CGparameter*/CGparameter* param, float *matrix);
+
+CGGLDLL_API void cgGLSetStateMatrixParameter(/*CGparameter*/CGparameter* param,
+ CGGLenum matrix,
+ CGGLenum transform);
+
+CGGLDLL_API void cgGLSetMatrixParameterArrayfc(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ const float *matrices);
+
+CGGLDLL_API void cgGLSetMatrixParameterArrayfr(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ const float *matrices);
+
+CGGLDLL_API void cgGLSetMatrixParameterArraydc(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ const double *matrices);
+
+CGGLDLL_API void cgGLSetMatrixParameterArraydr(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ const double *matrices);
+
+CGGLDLL_API void cgGLGetMatrixParameterArrayfc(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ float *matrices);
+
+CGGLDLL_API void cgGLGetMatrixParameterArrayfr(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ float *matrices);
+
+CGGLDLL_API void cgGLGetMatrixParameterArraydc(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ double *matrices);
+
+CGGLDLL_API void cgGLGetMatrixParameterArraydr(/*CGparameter*/CGparameter* param,
+ long offset,
+ long nelements,
+ double *matrices);
+
+/******************************************************************************
+ *** Texture Parameter Managment Functions
+ *****************************************************************************/
+
+CGGLDLL_API void cgGLSetTextureParameter(/*CGparameter*/CGparameter* param, GLuint texobj);
+CGGLDLL_API GLuint cgGLGetTextureParameter(/*CGparameter*/CGparameter* param);
+CGGLDLL_API void cgGLEnableTextureParameter(/*CGparameter*/CGparameter* param);
+CGGLDLL_API void cgGLDisableTextureParameter(/*CGparameter*/CGparameter* param);
+CGGLDLL_API GLenum cgGLGetTextureEnum(/*CGparameter*/CGparameter* param);
+
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#else
+
+#define cgGLLoadProgram cgGLDEPRECATEDAPI_LoadProgram
+#define cgGLBindProgram cgGLDEPRECATEDAPI_BindProgram
+#define cgGLEnableClientState cgGL_DEPRECATEDAPI_EnableClientState
+#define cgGLDisableClientState cgGL_DEPRECATEDAPI_DisableClientState
+
+#include <Cg/cgGL_deprecated_api.h>
+
+#endif
+
+#endif
diff --git a/make/stub_includes/cg/CG/cgGL_profiles.h b/make/stub_includes/cg/CG/cgGL_profiles.h
new file mode 100644
index 000000000..f06322fca
--- /dev/null
+++ b/make/stub_includes/cg/CG/cgGL_profiles.h
@@ -0,0 +1,62 @@
+/*
+ *
+ * Copyright (c) 2002, 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,*/CG_PROFILE_VP20=/*,"vp20",*/6146,//1)
+/*CG_PROFILE_MACRO(Fragment20,fp20,*/CG_PROFILE_FP20=/*,"fp20",*/6147,//0)
+/*CG_PROFILE_MACRO(Vertex30,vp30,*/CG_PROFILE_VP30=/*,"vp30",*/6148,//1)
+/*CG_PROFILE_MACRO(Fragment,fp30,*/CG_PROFILE_FP30=/*,"fp30",*/6149,//0)
+/*CG_PROFILE_MACRO(ARBVertex,arbvp1,*/CG_PROFILE_ARBVP1=/*,"arbvp1",*/6150,//1)
+/*CG_PROFILE_MACRO(ARBFragment,arbfp1,*/CG_PROFILE_ARBFP1=/*,"arbfp1",*/7000,//0)
+
+#ifndef CG_IN_PROFILES_INCLUDE
+# undef CG_PROFILE_MACRO
+#endif
diff --git a/make/stub_includes/cg/CG/cg_bindlocations.h b/make/stub_includes/cg/CG/cg_bindlocations.h
new file mode 100644
index 000000000..a9317cfc1
--- /dev/null
+++ b/make/stub_includes/cg/CG/cg_bindlocations.h
@@ -0,0 +1,339 @@
+/*
+ * This is a modified version of the original header as provided by
+ * NVidia; original copyright appears below.
+ *
+ * Modified by Christopher Kline, May 2003: Stripped down and hacked to get
+ * around macro interpretation problems.
+ */
+
+
+/*
+ *
+ * Copyright (c) 2002, 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.
+ * 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,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit1,*/CG_TEXUNIT1=/*,"texunit 1",*/2049,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit2,*/CG_TEXUNIT2=/*,"texunit 2",*/2050,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit3,*/CG_TEXUNIT3=/*,"texunit 3",*/2051,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit4,*/CG_TEXUNIT4=/*,"texunit 4",*/2052,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit5,*/CG_TEXUNIT5=/*,"texunit 5",*/2053,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit6,*/CG_TEXUNIT6=/*,"texunit 6",*/2054,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit7,*/CG_TEXUNIT7=/*,"texunit 7",*/2055,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit8,*/CG_TEXUNIT8=/*,"texunit 8",*/2056,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit9,*/CG_TEXUNIT9=/*,"texunit 9",*/2057,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit10,*/CG_TEXUNIT10=/*,"texunit 10",*/2058,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit11,*/CG_TEXUNIT11=/*,"texunit 11",*/2059,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit12,*/CG_TEXUNIT12=/*,"texunit 12",*/2060,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit13,*/CG_TEXUNIT13=/*,"texunit 13",*/2061,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit14,*/CG_TEXUNIT14=/*,"texunit 14",*/2062,//0,cgTexObjParam)
+/*CG_BINDLOCATION_MACRO(TexUnit15,*/CG_TEXUNIT15=/*,"texunit 15",*/2063,//0,cgTexObjParam)
+
+/*CG_BINDLOCATION_MACRO(Attr0,*/CG_ATTR0=/*,"ATTR0",*/2113,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr1,*/CG_ATTR1=/*,"ATTR1",*/2114,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr2,*/CG_ATTR2=/*,"ATTR2",*/2115,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr3,*/CG_ATTR3=/*,"ATTR3",*/2116,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr4,*/CG_ATTR4=/*,"ATTR4",*/2117,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr5,*/CG_ATTR5=/*,"ATTR5",*/2118,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr6,*/CG_ATTR6=/*,"ATTR6",*/2119,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr7,*/CG_ATTR7=/*,"ATTR7",*/2120,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr8,*/CG_ATTR8=/*,"ATTR8",*/2121,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr9,*/CG_ATTR9=/*,"ATTR9",*/2122,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr10,*/CG_ATTR10=/*,"ATTR10",*/2123,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr11,*/CG_ATTR11=/*,"ATTR11",*/2124,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr12,*/CG_ATTR12=/*,"ATTR12",*/2125,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr13,*/CG_ATTR13=/*,"ATTR13",*/2126,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr14,*/CG_ATTR14=/*,"ATTR14",*/2127,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Attr15,*/CG_ATTR15=/*,"ATTR15",*/2128,//0,cgConnectorMemberParam)
+
+/*CG_BINDLOCATION_MACRO(VertUniform,*/CG_C=/*,"c",*/2178,//1,cgUniformParam)
+
+/*CG_BINDLOCATION_MACRO(Tex0,*/CG_TEX0=/*,"TEX0",*/2179,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tex1,*/CG_TEX1=/*,"TEX1",*/2180,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tex2,*/CG_TEX2=/*,"TEX2",*/2181,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tex3,*/CG_TEX3=/*,"TEX3",*/2192,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tex4,*/CG_TEX4=/*,"TEX4",*/2193,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tex5,*/CG_TEX5=/*,"TEX5",*/2194,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tex6,*/CG_TEX6=/*,"TEX6",*/2195,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tex7,*/CG_TEX7=/*,"TEX7",*/2196,//0,cgConnectorMemberParam)
+
+/*CG_BINDLOCATION_MACRO(HPos,*/CG_HPOS=/*,"HPOS",*/2243,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Col0,*/CG_COL0=/*,"COL0",*/2245,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Col1,*/CG_COL1=/*,"COL1",*/2246,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Col2,*/CG_COL2=/*,"COL2",*/2247,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Col3,*/CG_COL3=/*,"COL3",*/2248,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSiz,*/CG_PSIZ=/*,"PSIZ",*/2309,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(WPos,*/CG_WPOS=/*,"WPOS",*/2373,//0,cgConnectorMemberParam)
+
+/*CG_BINDLOCATION_MACRO(Position0,*/CG_POSITION0=/*,"POSITION0",*/2437,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position1,*/CG_POSITION1=/*,"POSITION1",*/2438,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position2,*/CG_POSITION2=/*,"POSITION2",*/2439,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position3,*/CG_POSITION3=/*,"POSITION3",*/2440,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position4,*/CG_POSITION4=/*,"POSITION4",*/2441,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position5,*/CG_POSITION5=/*,"POSITION5",*/2442,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position6,*/CG_POSITION6=/*,"POSITION6",*/2443,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position7,*/CG_POSITION7=/*,"POSITION7",*/2444,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position8,*/CG_POSITION8=/*,"POSITION8",*/2445,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position9,*/CG_POSITION9=/*,"POSITION9",*/2446,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position10,*/CG_POSITION10=/*,"POSITION10",*/2447,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position11,*/CG_POSITION11=/*,"POSITION11",*/2448,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position12,*/CG_POSITION12=/*,"POSITION12",*/2449,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position13,*/CG_POSITION13=/*,"POSITION13",*/2450,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position14,*/CG_POSITION14=/*,"POSITION14",*/2451,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Position15,*/CG_POSITION15=/*,"POSITION15",*/2452,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Diffuse0,*/CG_DIFFUSE0=/*,"DIFFUSE0",*/2501,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent0,*/CG_TANGENT0=/*,"TANGENT0",*/2565,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent1,*/CG_TANGENT1=/*,"TANGENT1",*/2566,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent2,*/CG_TANGENT2=/*,"TANGENT2",*/2567,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent3,*/CG_TANGENT3=/*,"TANGENT3",*/2568,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent4,*/CG_TANGENT4=/*,"TANGENT4",*/2569,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent5,*/CG_TANGENT5=/*,"TANGENT5",*/2570,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent6,*/CG_TANGENT6=/*,"TANGENT6",*/2571,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent7,*/CG_TANGENT7=/*,"TANGENT7",*/2572,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent8,*/CG_TANGENT8=/*,"TANGENT8",*/2573,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent9,*/CG_TANGENT9=/*,"TANGENT9",*/2574,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent10,*/CG_TANGENT10=/*,"TANGENT10",*/2575,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent11,*/CG_TANGENT11=/*,"TANGENT11",*/2576,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent12,*/CG_TANGENT12=/*,"TANGENT12",*/2577,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent13,*/CG_TANGENT13=/*,"TANGENT13",*/2578,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent14,*/CG_TANGENT14=/*,"TANGENT14",*/2579,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Tangent15,*/CG_TANGENT15=/*,"TANGENT15",*/2580,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Specular0,*/CG_SPECULAR0=/*,"SPECULAR0",*/2629,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices0,*/CG_BLENDINDICES0=/*,"BLENDINDICES0",*/2693,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices1,*/CG_BLENDINDICES1=/*,"BLENDINDICES1",*/2694,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices2,*/CG_BLENDINDICES2=/*,"BLENDINDICES2",*/2695,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices3,*/CG_BLENDINDICES3=/*,"BLENDINDICES3",*/2696,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices4,*/CG_BLENDINDICES4=/*,"BLENDINDICES4",*/2697,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices5,*/CG_BLENDINDICES5=/*,"BLENDINDICES5",*/2698,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices6,*/CG_BLENDINDICES6=/*,"BLENDINDICES6",*/2699,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices7,*/CG_BLENDINDICES7=/*,"BLENDINDICES7",*/2700,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices8,*/CG_BLENDINDICES8=/*,"BLENDINDICES8",*/2701,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices9,*/CG_BLENDINDICES9=/*,"BLENDINDICES9",*/2702,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices10,*/CG_BLENDINDICES10=/*,"BLENDINDICES10",*/2703,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices11,*/CG_BLENDINDICES11=/*,"BLENDINDICES11",*/2704,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices12,*/CG_BLENDINDICES12=/*,"BLENDINDICES12",*/2705,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices13,*/CG_BLENDINDICES13=/*,"BLENDINDICES13",*/2706,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices14,*/CG_BLENDINDICES14=/*,"BLENDINDICES14",*/2707,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendIndices15,*/CG_BLENDINDICES15=/*,"BLENDINDICES15",*/2708,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color0,*/CG_COLOR0=/*,"COLOR0",*/2757,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color1,*/CG_COLOR1=/*,"COLOR1",*/2758,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color2,*/CG_COLOR2=/*,"COLOR2",*/2759,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color3,*/CG_COLOR3=/*,"COLOR3",*/2760,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color4,*/CG_COLOR4=/*,"COLOR4",*/2761,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color5,*/CG_COLOR5=/*,"COLOR5",*/2762,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color6,*/CG_COLOR6=/*,"COLOR6",*/2763,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color7,*/CG_COLOR7=/*,"COLOR7",*/2764,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color8,*/CG_COLOR8=/*,"COLOR8",*/2765,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color9,*/CG_COLOR9=/*,"COLOR9",*/2766,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color10,*/CG_COLOR10=/*,"COLOR10",*/2767,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color11,*/CG_COLOR11=/*,"COLOR11",*/2768,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color12,*/CG_COLOR12=/*,"COLOR12",*/2769,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color13,*/CG_COLOR13=/*,"COLOR13",*/2770,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color14,*/CG_COLOR14=/*,"COLOR14",*/2771,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Color15,*/CG_COLOR15=/*,"COLOR15",*/2772,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize0,*/CG_PSIZE0=/*,"PSIZE0",*/2821,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize1,*/CG_PSIZE1=/*,"PSIZE1",*/2822,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize2,*/CG_PSIZE2=/*,"PSIZE2",*/2823,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize3,*/CG_PSIZE3=/*,"PSIZE3",*/2824,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize4,*/CG_PSIZE4=/*,"PSIZE4",*/2825,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize5,*/CG_PSIZE5=/*,"PSIZE5",*/2826,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize6,*/CG_PSIZE6=/*,"PSIZE6",*/2827,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize7,*/CG_PSIZE7=/*,"PSIZE7",*/2828,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize8,*/CG_PSIZE8=/*,"PSIZE8",*/2829,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize9,*/CG_PSIZE9=/*,"PSIZE9",*/2830,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize10,*/CG_PSIZE10=/*,"PSIZE10",*/2831,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize11,*/CG_PSIZE11=/*,"PSIZE11",*/2832,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize12,*/CG_PSIZE12=/*,"PSIZE12",*/2833,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize13,*/CG_PSIZE13=/*,"PSIZE13",*/2834,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize14,*/CG_PSIZE14=/*,"PSIZE14",*/2835,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(PSize15,*/CG_PSIZE15=/*,"PSIZE15",*/2836,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal0,*/CG_BINORMAL0=/*,"BINORMAL0",*/2885,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal1,*/CG_BINORMAL1=/*,"BINORMAL1",*/2886,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal2,*/CG_BINORMAL2=/*,"BINORMAL2",*/2887,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal3,*/CG_BINORMAL3=/*,"BINORMAL3",*/2888,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal4,*/CG_BINORMAL4=/*,"BINORMAL4",*/2889,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal5,*/CG_BINORMAL5=/*,"BINORMAL5",*/2890,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal6,*/CG_BINORMAL6=/*,"BINORMAL6",*/2891,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal7,*/CG_BINORMAL7=/*,"BINORMAL7",*/2892,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal8,*/CG_BINORMAL8=/*,"BINORMAL8",*/2893,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal9,*/CG_BINORMAL9=/*,"BINORMAL9",*/2894,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal10,*/CG_BINORMAL10=/*,"BINORMAL10",*/2895,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal11,*/CG_BINORMAL11=/*,"BINORMAL11",*/2896,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal12,*/CG_BINORMAL12=/*,"BINORMAL12",*/2897,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal13,*/CG_BINORMAL13=/*,"BINORMAL13",*/2898,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal14,*/CG_BINORMAL14=/*,"BINORMAL14",*/2899,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BiNormal15,*/CG_BINORMAL15=/*,"BINORMAL15",*/2900,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG0,*/CG_FOG0=/*,"FOG0",*/2917,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG1,*/CG_FOG1=/*,"FOG1",*/2918,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG2,*/CG_FOG2=/*,"FOG2",*/2919,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG3,*/CG_FOG3=/*,"FOG3",*/2920,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG4,*/CG_FOG4=/*,"FOG4",*/2921,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG5,*/CG_FOG5=/*,"FOG5",*/2922,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG6,*/CG_FOG6=/*,"FOG6",*/2923,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG7,*/CG_FOG7=/*,"FOG7",*/2924,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG8,*/CG_FOG8=/*,"FOG8",*/2925,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG9,*/CG_FOG9=/*,"FOG9",*/2926,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG10,*/CG_FOG10=/*,"FOG10",*/2927,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG11,*/CG_FOG11=/*,"FOG11",*/2928,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG12,*/CG_FOG12=/*,"FOG12",*/2929,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG13,*/CG_FOG13=/*,"FOG13",*/2930,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG14,*/CG_FOG14=/*,"FOG14",*/2931,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FOG15,*/CG_FOG15=/*,"FOG15",*/2932,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH0,*/CG_DEPTH0=/*,"DEPTH0",*/2933,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH1,*/CG_DEPTH1=/*,"DEPTH1",*/2934,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH2,*/CG_DEPTH2=/*,"DEPTH2",*/2935,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH3,*/CG_DEPTH3=/*,"DEPTH3",*/2936,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH4,*/CG_DEPTH4=/*,"DEPTH4",*/2937,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH5,*/CG_DEPTH5=/*,"DEPTH5",*/2938,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH6,*/CG_DEPTH6=/*,"DEPTH6",*/2939,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH7,*/CG_DEPTH7=/*,"DEPTH7",*/2940,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH8,*/CG_DEPTH8=/*,"DEPTH8",*/2941,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH9,*/CG_DEPTH9=/*,"DEPTH9",*/29542,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH10,*/CG_DEPTH10=/*,"DEPTH10",*/2943,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH11,*/CG_DEPTH11=/*,"DEPTH11",*/2944,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH12,*/CG_DEPTH12=/*,"DEPTH12",*/2945,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH13,*/CG_DEPTH13=/*,"DEPTH13",*/2946,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH14,*/CG_DEPTH14=/*,"DEPTH14",*/2947,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(DEPTH15,*/CG_DEPTH15=/*,"DEPTH15",*/2948,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE0,*/CG_SAMPLE0=/*,"SAMPLE0",*/2949,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE1,*/CG_SAMPLE1=/*,"SAMPLE1",*/2950,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE2,*/CG_SAMPLE2=/*,"SAMPLE2",*/2951,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE3,*/CG_SAMPLE3=/*,"SAMPLE3",*/2952,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE4,*/CG_SAMPLE4=/*,"SAMPLE4",*/2953,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE5,*/CG_SAMPLE5=/*,"SAMPLE5",*/2954,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE6,*/CG_SAMPLE6=/*,"SAMPLE6",*/2955,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE7,*/CG_SAMPLE7=/*,"SAMPLE7",*/2956,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE8,*/CG_SAMPLE8=/*,"SAMPLE8",*/2957,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE9,*/CG_SAMPLE9=/*,"SAMPLE9",*/2958,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE10,*/CG_SAMPLE10=/*,"SAMPLE10",*/2959,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE11,*/CG_SAMPLE11=/*,"SAMPLE11",*/2960,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE12,*/CG_SAMPLE12=/*,"SAMPLE12",*/2961,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE13,*/CG_SAMPLE13=/*,"SAMPLE13",*/2962,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE14,*/CG_SAMPLE14=/*,"SAMPLE14",*/2963,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(SAMPLE15,*/CG_SAMPLE15=/*,"SAMPLE15",*/2964,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight0,*/CG_BLENDWEIGHT0=/*,"BLENDWEIGHT0",*/3028,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight1,*/CG_BLENDWEIGHT1=/*,"BLENDWEIGHT1",*/3029,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight2,*/CG_BLENDWEIGHT2=/*,"BLENDWEIGHT2",*/3030,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight3,*/CG_BLENDWEIGHT3=/*,"BLENDWEIGHT3",*/3031,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight4,*/CG_BLENDWEIGHT4=/*,"BLENDWEIGHT4",*/3032,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight5,*/CG_BLENDWEIGHT5=/*,"BLENDWEIGHT5",*/3033,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight6,*/CG_BLENDWEIGHT6=/*,"BLENDWEIGHT6",*/3034,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight7,*/CG_BLENDWEIGHT7=/*,"BLENDWEIGHT7",*/3035,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight8,*/CG_BLENDWEIGHT8=/*,"BLENDWEIGHT8",*/3036,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight9,*/CG_BLENDWEIGHT9=/*,"BLENDWEIGHT9",*/3037,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight10,*/CG_BLENDWEIGHT10=/*,"BLENDWEIGHT10",*/3038,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight11,*/CG_BLENDWEIGHT11=/*,"BLENDWEIGHT11",*/3039,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight12,*/CG_BLENDWEIGHT12=/*,"BLENDWEIGHT12",*/3040,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight13,*/CG_BLENDWEIGHT13=/*,"BLENDWEIGHT13",*/3041,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight14,*/CG_BLENDWEIGHT14=/*,"BLENDWEIGHT14",*/3042,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(BlendWeight15,*/CG_BLENDWEIGHT15=/*,"BLENDWEIGHT15",*/3043,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal0,*/CG_NORMAL0=/*,"NORMAL0",*/3092,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal1,*/CG_NORMAL1=/*,"NORMAL1",*/3093,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal2,*/CG_NORMAL2=/*,"NORMAL2",*/3094,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal3,*/CG_NORMAL3=/*,"NORMAL3",*/3095,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal4,*/CG_NORMAL4=/*,"NORMAL4",*/3096,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal5,*/CG_NORMAL5=/*,"NORMAL5",*/3097,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal6,*/CG_NORMAL6=/*,"NORMAL6",*/3098,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal7,*/CG_NORMAL7=/*,"NORMAL7",*/3099,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal8,*/CG_NORMAL8=/*,"NORMAL8",*/3100,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal9,*/CG_NORMAL9=/*,"NORMAL9",*/3101,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal10,*/CG_NORMAL10=/*,"NORMAL10",*/3102,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal11,*/CG_NORMAL11=/*,"NORMAL11",*/3103,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal12,*/CG_NORMAL12=/*,"NORMAL12",*/3104,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal13,*/CG_NORMAL13=/*,"NORMAL13",*/3105,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal14,*/CG_NORMAL14=/*,"NORMAL14",*/3106,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(Normal15,*/CG_NORMAL15=/*,"NORMAL15",*/3107,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(FogCoord,*/CG_FOGCOORD=/*,"FOGCOORD",*/3156,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord0,*/CG_TEXCOORD0=/*,"TEXCOORD0",*/3220,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord1,*/CG_TEXCOORD1=/*,"TEXCOORD1",*/3221,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord2,*/CG_TEXCOORD2=/*,"TEXCOORD2",*/3222,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord3,*/CG_TEXCOORD3=/*,"TEXCOORD3",*/3223,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord4,*/CG_TEXCOORD4=/*,"TEXCOORD4",*/3224,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord5,*/CG_TEXCOORD5=/*,"TEXCOORD5",*/3225,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord6,*/CG_TEXCOORD6=/*,"TEXCOORD6",*/3226,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord7,*/CG_TEXCOORD7=/*,"TEXCOORD7",*/3227,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord8,*/CG_TEXCOORD8=/*,"TEXCOORD8",*/3228,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord9,*/CG_TEXCOORD9=/*,"TEXCOORD9",*/3229,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord10,*/CG_TEXCOORD10=/*,"TEXCOORD10",*/3230,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord11,*/CG_TEXCOORD11=/*,"TEXCOORD11",*/3231,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord12,*/CG_TEXCOORD12=/*,"TEXCOORD12",*/3232,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord13,*/CG_TEXCOORD13=/*,"TEXCOORD13",*/3233,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord14,*/CG_TEXCOORD14=/*,"TEXCOORD14",*/3234,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(TexCoord15,*/CG_TEXCOORD15=/*,"TEXCOORD15",*/3235,//0,cgConnectorMemberParam)
+/*CG_BINDLOCATION_MACRO(CombinerConst0,*/CG_COMBINER_CONST0=/*,"COMBINER_CONST0",*/3284,//0,cgUniformParam)
+/*CG_BINDLOCATION_MACRO(CombinerConst1,*/CG_COMBINER_CONST1=/*,"COMBINER_CONST1",*/3285,//0,cgUniformParam)
+/*CG_BINDLOCATION_MACRO(CombinerStageConst0,*/CG_COMBINER_STAGE_CONST0=/*,"COMBINER_STAGE_CONST0",*/3286,//1,cgUniformParam)
+/*CG_BINDLOCATION_MACRO(CombinerStageConst1,*/CG_COMBINER_STAGE_CONST1=/*,"COMBINER_STAGE_CONST1",*/3287,//1,cgUniformParam)
+/*CG_BINDLOCATION_MACRO(OffsetTextureMatrix,*/CG_OFFSET_TEXTURE_MATRIX=/*,"OFFSET_TEXTURE_MATRIX",*/3288,//0,cgUniformParam)
+/*CG_BINDLOCATION_MACRO(OffsetTextureScale,*/CG_OFFSET_TEXTURE_SCALE=/*,"OFFSET_TEXTURE_SCALE",*/3289,//0,cgUniformParam)
+/*CG_BINDLOCATION_MACRO(OffsetTextureBias,*/CG_OFFSET_TEXTURE_BIAS=/*,"OFFSET_TEXTURE_BIAS",*/3290,//0,cgUniformParam)
+/*CG_BINDLOCATION_MACRO(ConstEye,*/CG_CONST_EYE=/*,"CONST_EYE",*/3291,//0,cgUniformParam)
+/*CG_BINDLOCATION_MACRO(TessFactor,*/CG_TESSFACTOR=/*,"TESSFACTOR",*/3255,//0,cgConnectorMemberParam)
+
+//#undef CG_BINDLOCATION_MACRO
diff --git a/make/stub_includes/cg/CG/cg_datatypes.h b/make/stub_includes/cg/CG/cg_datatypes.h
new file mode 100644
index 000000000..98241d2b3
--- /dev/null
+++ b/make/stub_includes/cg/CG/cg_datatypes.h
@@ -0,0 +1,150 @@
+/*
+ * This is a modified version of the original header as provided by
+ * NVidia; original copyright appears below.
+ *
+ * Modified by Christopher Kline, May 2003: Stripped down and hacked to get
+ * around macro interpretation problems.
+ */
+
+/*
+ *
+ * Copyright (c) 2002, 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, nrows, ncols)
+ *
+ * name : The name of the data type.
+ * compiler_name : The name of the data type within the compiler syntax.
+ * enum_name : The C enumerant.
+ * nrows : Number of rows for matrix types. Should be 0 other-wise.
+ * ncols : Number of columns for matrix types. Should be 0
+ * other-wise.
+ *
+ */
+
+
+
+/*CG_DATATYPE_MACRO(Half,half,*/CG_HALF,//0,0)
+/*CG_DATATYPE_MACRO(Half2,half2,*/CG_HALF2,//0,0)
+/*CG_DATATYPE_MACRO(Half3,half3,*/CG_HALF3,//0,0)
+/*CG_DATATYPE_MACRO(Half4,half4,*/CG_HALF4,//0,0)
+/*CG_DATATYPE_MACRO(Half1x1,half1x1,*/CG_HALF1x1,//1,1)
+/*CG_DATATYPE_MACRO(Half1x2,half1x2,*/CG_HALF1x2,//1,2)
+/*CG_DATATYPE_MACRO(Half1x3,half1x3,*/CG_HALF1x3,//1,3)
+/*CG_DATATYPE_MACRO(Half1x4,half1x4,*/CG_HALF1x4,//1,4)
+/*CG_DATATYPE_MACRO(Half2x1,half2x1,*/CG_HALF2x1,//2,1)
+/*CG_DATATYPE_MACRO(Half2x2,half2x2,*/CG_HALF2x2,//2,2)
+/*CG_DATATYPE_MACRO(Half2x3,half2x3,*/CG_HALF2x3,//2,3)
+/*CG_DATATYPE_MACRO(Half2x4,half2x4,*/CG_HALF2x4,//2,4)
+/*CG_DATATYPE_MACRO(Half3x1,half3x1,*/CG_HALF3x1,//3,1)
+/*CG_DATATYPE_MACRO(Half3x2,half3x2,*/CG_HALF3x2,//3,2)
+/*CG_DATATYPE_MACRO(Half3x3,half3x3,*/CG_HALF3x3,//3,3)
+/*CG_DATATYPE_MACRO(Half3x4,half3x4,*/CG_HALF3x4,//3,4)
+/*CG_DATATYPE_MACRO(Half4x1,half4x1,*/CG_HALF4x1,//4,1)
+/*CG_DATATYPE_MACRO(Half4x2,half4x2,*/CG_HALF4x2,//4,2)
+/*CG_DATATYPE_MACRO(Half4x3,half4x3,*/CG_HALF4x3,//4,3)
+/*CG_DATATYPE_MACRO(Half4x4,half4x4,*/CG_HALF4x4,//4,4)
+/*CG_DATATYPE_MACRO(Float,float,*/CG_FLOAT,//0,0)
+/*CG_DATATYPE_MACRO(Float2,float2,*/CG_FLOAT2,//0,0)
+/*CG_DATATYPE_MACRO(Float3,float3,*/CG_FLOAT3,//0,0)
+/*CG_DATATYPE_MACRO(Float4,float4,*/CG_FLOAT4,//0,0)
+/*CG_DATATYPE_MACRO(Float1x1,float1x1,*/CG_FLOAT1x1,//1,1)
+/*CG_DATATYPE_MACRO(Float1x2,float1x2,*/CG_FLOAT1x2,//1,2)
+/*CG_DATATYPE_MACRO(Float1x3,float1x3,*/CG_FLOAT1x3,//1,3)
+/*CG_DATATYPE_MACRO(Float1x4,float1x4,*/CG_FLOAT1x4,//1,4)
+/*CG_DATATYPE_MACRO(Float2x1,float2x1,*/CG_FLOAT2x1,//2,1)
+/*CG_DATATYPE_MACRO(Float2x2,float2x2,*/CG_FLOAT2x2,//2,2)
+/*CG_DATATYPE_MACRO(Float2x3,float2x3,*/CG_FLOAT2x3,//2,3)
+/*CG_DATATYPE_MACRO(Float2x4,float2x4,*/CG_FLOAT2x4,//2,4)
+/*CG_DATATYPE_MACRO(Float3x1,float3x1,*/CG_FLOAT3x1,//3,1)
+/*CG_DATATYPE_MACRO(Float3x2,float3x2,*/CG_FLOAT3x2,//3,2)
+/*CG_DATATYPE_MACRO(Float3x3,float3x3,*/CG_FLOAT3x3,//3,3)
+/*CG_DATATYPE_MACRO(Float3x4,float3x4,*/CG_FLOAT3x4,//3,4)
+/*CG_DATATYPE_MACRO(Float4x1,float4x1,*/CG_FLOAT4x1,//4,1)
+/*CG_DATATYPE_MACRO(Float4x2,float4x2,*/CG_FLOAT4x2,//4,2)
+/*CG_DATATYPE_MACRO(Float4x3,float4x3,*/CG_FLOAT4x3,//4,3)
+/*CG_DATATYPE_MACRO(Float4x4,float4x4,*/CG_FLOAT4x4,//4,4)
+/*CG_DATATYPE_MACRO(Sampler1D,sampler1D,*/CG_SAMPLER1D,//0,0)
+/*CG_DATATYPE_MACRO(Sampler2D,sampler2D,*/CG_SAMPLER2D,//0,0)
+/*CG_DATATYPE_MACRO(Sampler3D,sampler3D,*/CG_SAMPLER3D,//0,0)
+/*CG_DATATYPE_MACRO(SamplerRECT,samplerRECT,*/CG_SAMPLERRECT,//0,0)
+/*CG_DATATYPE_MACRO(SamplerCUBE,samplerCUBE,*/CG_SAMPLERCUBE,//0,0)
+/*CG_DATATYPE_MACRO(Fixed,fixed,*/CG_FIXED,//0,0)
+/*CG_DATATYPE_MACRO(Fixed2,fixed2,*/CG_FIXED2,//0,0)
+/*CG_DATATYPE_MACRO(Fixed3,fixed3,*/CG_FIXED3,//0,0)
+/*CG_DATATYPE_MACRO(Fixed4,fixed4,*/CG_FIXED4,//0,0)
+/*CG_DATATYPE_MACRO(Fixed1x1,fixed1x1,*/CG_FIXED1x1,//1,1)
+/*CG_DATATYPE_MACRO(Fixed1x2,fixed1x2,*/CG_FIXED1x2,//1,2)
+/*CG_DATATYPE_MACRO(Fixed1x3,fixed1x3,*/CG_FIXED1x3,//1,3)
+/*CG_DATATYPE_MACRO(Fixed1x4,fixed1x4,*/CG_FIXED1x4,//1,4)
+/*CG_DATATYPE_MACRO(Fixed2x1,fixed2x1,*/CG_FIXED2x1,//2,1)
+/*CG_DATATYPE_MACRO(Fixed2x2,fixed2x2,*/CG_FIXED2x2,//2,2)
+/*CG_DATATYPE_MACRO(Fixed2x3,fixed2x3,*/CG_FIXED2x3,//2,3)
+/*CG_DATATYPE_MACRO(Fixed2x4,fixed2x4,*/CG_FIXED2x4,//2,4)
+/*CG_DATATYPE_MACRO(Fixed3x1,fixed3x1,*/CG_FIXED3x1,//3,1)
+/*CG_DATATYPE_MACRO(Fixed3x2,fixed3x2,*/CG_FIXED3x2,//3,2)
+/*CG_DATATYPE_MACRO(Fixed3x3,fixed3x3,*/CG_FIXED3x3,//3,3)
+/*CG_DATATYPE_MACRO(Fixed3x4,fixed3x4,*/CG_FIXED3x4,//3,4)
+/*CG_DATATYPE_MACRO(Fixed4x1,fixed4x1,*/CG_FIXED4x1,//4,1)
+/*CG_DATATYPE_MACRO(Fixed4x2,fixed4x2,*/CG_FIXED4x2,//4,2)
+/*CG_DATATYPE_MACRO(Fixed4x3,fixed4x3,*/CG_FIXED4x3,//4,3)
+/*CG_DATATYPE_MACRO(Fixed4x4,fixed4x4,*/CG_FIXED4x4,//4,4)
+/*CG_DATATYPE_MACRO(Half1,half1,*/CG_HALF1,//0,0)
+/*CG_DATATYPE_MACRO(Float1,float1,*/CG_FLOAT1,//0,0)
+/*CG_DATATYPE_MACRO(Fixed1,fixed1,*/CG_FIXED1,//0,0)
+
+//#undef CG_DATATYPE_MACRO
+
+
diff --git a/make/stub_includes/cg/CG/cg_errors.h b/make/stub_includes/cg/CG/cg_errors.h
new file mode 100644
index 000000000..a198c23cb
--- /dev/null
+++ b/make/stub_includes/cg/CG/cg_errors.h
@@ -0,0 +1,223 @@
+/*
+ * This is a modified version of the original header as provided by
+ * NVidia; original copyright appears below.
+ *
+ * Modified by Christopher Kline, May 2003: Stripped down and hacked to get
+ * around macro interpretation problems.
+ */
+
+/*
+ *
+ * Copyright (c) 2002, 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.
+ * (Note : the prefix "cg" will be added to the name).
+ * new_enum_name : The name of enumerant of the error code in the new API.
+ * message : A description string associated with the error.
+ *
+ */
+
+CG_NO_ERROR=
+/*CG_ERROR_MACRO(*/0,/*
+ NoError,
+ CG_NO_ERROR,
+ "No error has occurred.")*/
+
+CG_COMPILER_ERROR=
+/*CG_ERROR_MACRO(*/1,/*
+ CompileError,
+ CG_COMPILER_ERROR,
+ "The compile returned an error.")*/
+
+CG_INVALID_PARAMETER_ERROR=
+/*CG_ERROR_MACRO(*/2,/*
+ InvalidParameterError,
+ CG_INVALID_PARAMETER_ERROR,
+ "The parameter used is invalid.")*/
+
+CG_INVALID_PROFILE_ERROR=
+/*CG_ERROR_MACRO(*/3,/*
+ InvalidProfileError,
+ CG_INVALID_PROFILE_ERROR,
+ "The profile is not supported.")*/
+
+CG_PROGRAM_LOAD_ERROR=
+/*CG_ERROR_MACRO(*/4,/*
+ ProgramLoadError,
+ CG_PROGRAM_LOAD_ERROR,
+ "The program could not load.")*/
+
+CG_PROGRAM_BIND_ERROR=
+/*CG_ERROR_MACRO(*/5,/*
+ ProgramBindError,
+ CG_PROGRAM_BIND_ERROR,
+ "The program could not bind.")*/
+
+CG_PROGRAM_NOT_LOADED_ERROR=
+/*CG_ERROR_MACRO(*/6,/*
+ ProgramNotLoadedError,
+ CG_PROGRAM_NOT_LOADED_ERROR,
+ "The program must be loaded before this operation may be used.")*/
+
+CG_UNSUPPORTED_GL_EXTENSION_ERROR=
+/*CG_ERROR_MACRO(*/7,/*
+ UnsupportedGLExtensionError,
+ CG_UNSUPPORTED_GL_EXTENSION_ERROR,
+ "An unsupported GL extension was required to perform this operation.")*/
+
+CG_INVALID_VALUE_TYPE_ERROR=
+/*CG_ERROR_MACRO(*/8,/*
+ InvalidValueTypeError,
+ CG_INVALID_VALUE_TYPE_ERROR,
+ "An unknown value type was assigned to a parameter.")*/
+
+CG_NOT_MATRIX_PARAM_ERROR=
+/*CG_ERROR_MACRO(*/9,/*
+ NotMatrixParamError,
+ CG_NOT_MATRIX_PARAM_ERROR,
+ "The parameter is not of matrix type.")*/
+
+CG_INVALID_ENUMERANT_ERROR=
+/*CG_ERROR_MACRO(*/10,/*
+ InvalidEnumerantError,
+ CG_INVALID_ENUMERANT_ERROR,
+ "The enumerant parameter has an invalid value.")*/
+
+CG_NOT_4x4_MATRIX_ERROR=
+/*CG_ERROR_MACRO(*/11,/*
+ Not4x4MatrixError,
+ CG_NOT_4x4_MATRIX_ERROR,
+ "The parameter must be a 4x4 matrix type.")*/
+
+CG_FILE_READ_ERROR=
+/*CG_ERROR_MACRO(*/12,/*
+ FileReadError,
+ CG_FILE_READ_ERROR,
+ "The file could not be read.")*/
+
+CG_FILE_WRITE_ERROR=
+/*CG_ERROR_MACRO(*/13,/*
+ FileWriteError,
+ CG_FILE_WRITE_ERROR,
+ "The file could not be written.")*/
+
+CG_NVPARSE_ERROR=
+/*CG_ERROR_MACRO(*/14,/*
+ NVParseError,
+ CG_NVPARSE_ERROR,
+ "nvparse could not successfully parse the output from the Cg "
+ "compiler backend.")*/
+
+CG_MEMORY_ALLOC_ERROR=
+/*CG_ERROR_MACRO(*/15,/*
+ MemoryAllocError,
+ CG_MEMORY_ALLOC_ERROR,
+ "Memory allocation failed.")*/
+
+CG_INVALID_CONTEXT_HANDLE_ERROR=
+/*CG_ERROR_MACRO(*/16,/*
+ InvalidContextHandleError,
+ CG_INVALID_CONTEXT_HANDLE_ERROR,
+ "Invalid context handle.")*/
+
+CG_INVALID_PROGRAM_HANDLE_ERROR=
+/*CG_ERROR_MACRO(*/17,/*
+ InvalidProgramHandleError,
+ CG_INVALID_PROGRAM_HANDLE_ERROR,
+ "Invalid program handle.")*/
+
+CG_INVALID_PARAM_HANDLE_ERROR=
+/*CG_ERROR_MACRO(*/18,/*
+ InvalidParamHandleError,
+ CG_INVALID_PARAM_HANDLE_ERROR,
+ "Invalid parameter handle.")*/
+
+CG_UNKNOWN_PROFILE_ERROR=
+/*CG_ERROR_MACRO(*/19,/*
+ UnknownProfileError,
+ CG_UNKNOWN_PROFILE_ERROR,
+ "The specified profile is unknown.")*/
+
+CG_VAR_ARG_ERROR=
+/*CG_ERROR_MACRO(*/20,/*
+ VarArgError,
+ CG_VAR_ARG_ERROR,
+ "The variable arguments were specified incorrectly.")*/
+
+CG_INVALID_DIMENSION_ERROR=
+/*CG_ERROR_MACRO(*/21,/*
+ InvalidDimensionError,
+ CG_INVALID_DIMENSION_ERROR,
+ "The dimension value is invalid.")*/
+
+CG_ARRAY_PARAM_ERROR=
+/*CG_ERROR_MACRO(*/22,/*
+ ArrayParamError,
+ CG_ARRAY_PARAM_ERROR,
+ "The parameter must be an array.")*/
+
+CG_OUT_OF_ARRAY_BOUNDS_ERROR=
+/*CG_ERROR_MACRO(*/23,/*
+ OutOfArrayBoundsError,
+ CG_OUT_OF_ARRAY_BOUNDS_ERROR,
+ "Index into the array is out of bounds.")*/
+
+
+//#undef CG_ERROR_MACRO
+
diff --git a/make/stub_includes/cg/CG/cg_profiles.h b/make/stub_includes/cg/CG/cg_profiles.h
new file mode 100644
index 000000000..38b171915
--- /dev/null
+++ b/make/stub_includes/cg/CG/cg_profiles.h
@@ -0,0 +1,96 @@
+/*
+ * This is a modified version of the original header as provided by
+ * NVidia; original copyright appears below.
+ *
+ * Modified by Christopher Kline, May 2003: Stripped down and hacked to get
+ * around macro interpretation problems.
+ */
+
+/*
+ *
+ * Copyright (c) 2002, 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_opt)
+ *
+ * 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
+
+#include <Cg/cgGL_profiles.h>
+
+
+/*CG_PROFILE_MACRO(DX9Vertex11,vs_1_1,*/CG_PROFILE_VS_1_1=/*,"vs_1_1",*/6153,//1)
+/*CG_PROFILE_MACRO(DX9Vertex20,vs_2_0,*/CG_PROFILE_VS_2_0=/*,"vs_2_0",*/6154,//1)
+/*CG_PROFILE_MACRO(DX9Vertex2x,vs_2_x,*/CG_PROFILE_VS_2_X=/*,"vs_2_x",*/6155,//1)
+
+/*CG_PROFILE_MACRO(DX9Pixel11,ps_1_1,*/CG_PROFILE_PS_1_1=/*,"ps_1_1",*/6159,//0)
+/*CG_PROFILE_MACRO(DX9Pixel12,ps_1_2,*/CG_PROFILE_PS_1_2=/*,"ps_1_2",*/6160,//0)
+/*CG_PROFILE_MACRO(DX9Pixel13,ps_1_3,*/CG_PROFILE_PS_1_3=/*,"ps_1_3",*/6161,//0)
+/*CG_PROFILE_MACRO(DX9Pixel20,ps_2_0,*/CG_PROFILE_PS_2_0=/*,"ps_2_0",*/6162,//0)
+/*CG_PROFILE_MACRO(DX9Pixel2x,ps_2_x,*/CG_PROFILE_PS_2_X=/*,"ps_2_x",*/6163,//0)
+
+
+//#undef CG_PROFILE_MACRO
+#undef CG_IN_PROFILES_INCLUDE
diff --git a/src/net/java/games/cg/CgException.java b/src/net/java/games/cg/CgException.java
new file mode 100644
index 000000000..68f281f55
--- /dev/null
+++ b/src/net/java/games/cg/CgException.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2003 Sun Microsystems, Inc. All Rights Reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * - Redistribution of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * - Redistribution in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * Neither the name of Sun Microsystems, Inc. or the names of
+ * contributors may be used to endorse or promote products derived from
+ * this software without specific prior written permission.
+ *
+ * This software is provided "AS IS," without a warranty of any kind. ALL
+ * EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES,
+ * INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ * PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN
+ * MIDROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR
+ * ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
+ * DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN OR
+ * ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR FOR
+ * DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE
+ * DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY,
+ * ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF
+ * SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+ *
+ * You acknowledge that this software is not designed or intended for use
+ * in the design, construction, operation or maintenance of any nuclear
+ * facility.
+ *
+ * Sun gratefully acknowledges that this software was originally authored
+ * and developed by Kenneth Bradley Russell and Christopher John Kline.
+ */
+
+package net.java.games.cg;
+
+/**
+ * A generic exception for errors that occur throughout the NVidia Cg
+ * binding, as a substitute for {@link RuntimeException}.
+ */
+public class CgException extends RuntimeException {
+ /** Constructs a CgException object. */
+ public CgException() {
+ super();
+ }
+
+ /** Constructs a CgException object with the specified detail message. */
+ public CgException(String message) {
+ super(message);
+ }
+
+ /** Constructs a CgException object with the specified detail message and
+ root cause. */
+ public CgException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ /** Constructs a CgException object with the specified root cause. */
+ public CgException(Throwable cause) {
+ super(cause);
+ }
+}