123
This commit is contained in:
274
RenderDll/XRenderD3D8/CG/cg.h
Normal file
274
RenderDll/XRenderD3D8/CG/cg.h
Normal file
@@ -0,0 +1,274 @@
|
||||
/*
|
||||
*
|
||||
* 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<49>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;
|
||||
|
||||
|
||||
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_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_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_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_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 cgCreateContext(void);
|
||||
CGDLL_API void cgDestroyContext(CGcontext ctx);
|
||||
CGDLL_API CGbool cgIsContext(CGcontext ctx);
|
||||
CGDLL_API const char *cgGetLastListing(CGcontext ctx);
|
||||
|
||||
/*** Program functions ***/
|
||||
CGDLL_API CGprogram cgCreateProgram(CGcontext ctx,
|
||||
CGenum program_type,
|
||||
const char *program,
|
||||
CGprofile profile,
|
||||
const char *entry,
|
||||
const char **args);
|
||||
CGDLL_API CGprogram cgCreateProgramFromFile(CGcontext ctx,
|
||||
CGenum program_type,
|
||||
const char *program_file,
|
||||
CGprofile profile,
|
||||
const char *entry,
|
||||
const char **args);
|
||||
CGDLL_API CGprogram cgCopyProgram(CGprogram program);
|
||||
CGDLL_API void cgDestroyProgram(CGprogram program);
|
||||
|
||||
CGDLL_API CGprogram cgGetFirstProgram(CGcontext ctx);
|
||||
CGDLL_API CGprogram cgGetNextProgram(CGprogram current);
|
||||
CGDLL_API CGcontext cgGetProgramContext(CGprogram prog);
|
||||
CGDLL_API CGbool cgIsProgram(CGprogram program);
|
||||
|
||||
CGDLL_API void cgCompileProgram(CGprogram program);
|
||||
CGDLL_API CGbool cgIsProgramCompiled(CGprogram program);
|
||||
CGDLL_API const char *cgGetProgramString(CGprogram prog, CGenum pname);
|
||||
CGDLL_API CGprofile cgGetProgramProfile(CGprogram prog);
|
||||
|
||||
/*** Parameter functions ***/
|
||||
CGDLL_API CGparameter cgGetNamedParameter(CGprogram prog, const char *name);
|
||||
CGDLL_API CGparameter cgGetFirstParameter(CGprogram prog, CGenum name_space);
|
||||
CGDLL_API CGparameter cgGetNextParameter(CGparameter current);
|
||||
CGDLL_API CGparameter cgGetFirstLeafParameter(CGprogram prog, CGenum name_space);
|
||||
CGDLL_API CGparameter cgGetNextLeafParameter(CGparameter current);
|
||||
|
||||
|
||||
CGDLL_API CGparameter cgGetFirstStructParameter(CGparameter param);
|
||||
CGDLL_API CGparameter cgGetFirstDependentParameter(CGparameter param);
|
||||
|
||||
CGDLL_API CGparameter cgGetArrayParameter(CGparameter aparam, int index);
|
||||
CGDLL_API int cgGetArrayDimension(CGparameter param);
|
||||
CGDLL_API int cgGetArraySize(CGparameter param, int dimension);
|
||||
|
||||
CGDLL_API CGprogram cgGetParameterProgram(CGparameter prog);
|
||||
CGDLL_API CGbool cgIsParameter(CGparameter param);
|
||||
CGDLL_API const char *cgGetParameterName(CGparameter param);
|
||||
CGDLL_API CGtype cgGetParameterType(CGparameter param);
|
||||
CGDLL_API const char *cgGetParameterSemantic(CGparameter param);
|
||||
CGDLL_API CGresource cgGetParameterResource(CGparameter param);
|
||||
CGDLL_API CGresource cgGetParameterBaseResource(CGparameter param);
|
||||
CGDLL_API unsigned long cgGetParameterResourceIndex(CGparameter param);
|
||||
CGDLL_API CGenum cgGetParameterVariability(CGparameter param);
|
||||
CGDLL_API CGenum cgGetParameterDirection(CGparameter param);
|
||||
CGDLL_API CGbool cgIsParameterReferenced(CGparameter param);
|
||||
CGDLL_API const double *cgGetParameterValues(CGparameter param,
|
||||
CGenum value_type,
|
||||
int *nvalues);
|
||||
CGDLL_API int cgGetParameterOrdinalNumber(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_deprecated_api.h"
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
200
RenderDll/XRenderD3D8/CG/cgContextManager.h
Normal file
200
RenderDll/XRenderD3D8/CG/cgContextManager.h
Normal file
@@ -0,0 +1,200 @@
|
||||
/*
|
||||
*
|
||||
* 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<49>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.
|
||||
*
|
||||
*/
|
||||
|
||||
/*********************************************************************NVMH2****
|
||||
File: cgContextManager.h
|
||||
|
||||
Copyright (C) 1999, 2000 NVIDIA Corporation
|
||||
This file is provided without support, instruction, or implied warranty of any
|
||||
kind. NVIDIA makes no guarantee of its fitness for a particular purpose and is
|
||||
not liable under any circumstances for any damages or loss whatsoever arising
|
||||
from the use or inability to use this file or items derived from it.
|
||||
|
||||
Comments:
|
||||
|
||||
cgContextManager - a class for loading various cg programs,
|
||||
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
|
||||
#ifndef __NV_CG_MANAGER_H
|
||||
#define __NV_CG_MANAGER_H
|
||||
|
||||
#if WIN32
|
||||
|
||||
#pragma warning (disable:4786) // identifier was truncated to '255' characters in the browser information
|
||||
|
||||
#include <windows.h>
|
||||
#include <d3d8.h>
|
||||
#include <d3dx8.h>
|
||||
|
||||
#include <Cg/cgTemplates.h>
|
||||
#include <Cg/cg.h>
|
||||
#include <Cg/cgProgramManager.h>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class cgContextManager;
|
||||
|
||||
|
||||
class cgContextContainer
|
||||
{
|
||||
public:
|
||||
|
||||
|
||||
// retrieve the listing file for the last compile
|
||||
const char *GetLastListing();
|
||||
|
||||
|
||||
// loads and compiles the cg program
|
||||
cgProgramContainer * LoadCGProgramFromFile(
|
||||
const char * filename, // filename of the Cg program
|
||||
const char * title, // title of the program
|
||||
cgProfileType type, // profile of the program
|
||||
cgVertexDefinition * va = 0, // optionally, set streams or allow different vetex definitions
|
||||
DWORD * outIndex = 0,
|
||||
const char * entry = 0);
|
||||
|
||||
cgProgramContainer * LoadCGProgramFromMemory(
|
||||
const char * memory, // memory location that contain the cg program
|
||||
const char * title, // name of the program
|
||||
cgProfileType type, // profile of the program
|
||||
cgVertexDefinition * va = 0, // optionally, set the streams for each vertex entry
|
||||
DWORD * outIndex = 0,
|
||||
const char * entry = 0);
|
||||
|
||||
|
||||
// use outIndex returned from LoadCGProgramFrom to retriece the program iterator
|
||||
cgProgramContainer * GetProgramIterator(DWORD index);
|
||||
|
||||
|
||||
// program operators (for multiple programs(vertex, pixel) in one cg
|
||||
// pass NULL to get first program
|
||||
cgProgramIter *GetNextProgram(cgProgramIter *iter);
|
||||
|
||||
// get a specific program
|
||||
cgProgramIter *ProgramByName(const char *name);
|
||||
|
||||
|
||||
// get the vertexshader or pixel shader handle that is passed to
|
||||
// SetVertexShader and SetPixelShader
|
||||
DWORD GetShaderHandle(cgProfileType type)
|
||||
{
|
||||
return pm.GetShaderHandle( type);
|
||||
}
|
||||
|
||||
~cgContextContainer( );
|
||||
|
||||
friend class cgContextManager;
|
||||
protected:
|
||||
|
||||
cgContextContainer( LPDIRECT3DDEVICE8 pd3dDevice, cgContext * context);
|
||||
|
||||
|
||||
private:
|
||||
|
||||
|
||||
cgProgramContainer * CreateProgramContainer(DWORD * outIndex = 0);
|
||||
|
||||
cgProgramContainer * CreateProgramContainer(
|
||||
cgProgramIter *ProgramIter,
|
||||
LPDIRECT3DDEVICE8 pd3dDevice,
|
||||
DWORD * outIndex = 0); // index of this
|
||||
|
||||
// loads and compiles the cg program
|
||||
HRESULT AddProgramFromFile(const char * filename, const char * name, cgProfileType type, const char * entry = 0);
|
||||
HRESULT AddProgramFromMemory(const char * memory, const char * name, cgProfileType type, const char * entry = 0);
|
||||
|
||||
|
||||
void Free();
|
||||
cgProgramManager pm; // manage the vertex or pixel shader that is derived from this
|
||||
cgContext * m_Context;
|
||||
cg_string m_ContextDefinition;
|
||||
LPDIRECT3DDEVICE8 m_pd3dDevice;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
class cgContextManager
|
||||
{
|
||||
private:
|
||||
|
||||
cg_vector < cgContextContainer *> m_ContextContainers;
|
||||
cg_vector < DWORD > m_ContextIndices; // indirection to m_Shaders
|
||||
// Programs hold an index to this array for
|
||||
// their shaders. The array int at that index
|
||||
// holds the index into the m_Shaders array.
|
||||
|
||||
// each context has a list of programs (up to one for each profile)
|
||||
|
||||
|
||||
public:
|
||||
cgContextManager();
|
||||
~cgContextManager();
|
||||
|
||||
cgError Free();
|
||||
|
||||
cgContextContainer *CreateContextContainer(LPDIRECT3DDEVICE8 pd3dDevice, DWORD * outIndex);
|
||||
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif // WIN32
|
||||
|
||||
#endif
|
||||
158
RenderDll/XRenderD3D8/CG/cgD3D.h
Normal file
158
RenderDll/XRenderD3D8/CG/cgD3D.h
Normal file
@@ -0,0 +1,158 @@
|
||||
/*
|
||||
*
|
||||
* 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<49>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 _cgD3D_h
|
||||
#define _cgD3D_h
|
||||
|
||||
#if WIN32
|
||||
|
||||
#include <Cg/cg.h>
|
||||
#include <assert.h>
|
||||
|
||||
|
||||
#ifndef STRICT
|
||||
#define STRICT
|
||||
#endif
|
||||
|
||||
#include <windows.h>
|
||||
#include <commdlg.h>
|
||||
#include <tchar.h>
|
||||
#include <stdio.h>
|
||||
#include <d3d8.h>
|
||||
#include <d3dx8.h>
|
||||
|
||||
|
||||
#define MAX_STREAMS 16
|
||||
|
||||
#include <Cg/cgProgramManager.h>
|
||||
#include <Cg/cgContextManager.h>
|
||||
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////
|
||||
//
|
||||
// cgDX8Vertex and cgDX8Pixel are defined with
|
||||
// macros:
|
||||
//
|
||||
// CG_PROFILE_MACRO(DX8Vertex,dx8vs,"dx8vs")
|
||||
// CG_PROFILE_MACRO(DX8Pixel,dx8ps,"dx8ps")
|
||||
//
|
||||
// cgDX8VertexProfile
|
||||
|
||||
|
||||
|
||||
|
||||
class cgDirect3D
|
||||
{
|
||||
public:
|
||||
|
||||
cgDirect3D();
|
||||
~cgDirect3D();
|
||||
|
||||
// add a path to locate the cg programs
|
||||
// do not add the trailing '\\'
|
||||
void AddFilePath(const char * dirpath);
|
||||
void AddFilePath(cg_string & path);
|
||||
|
||||
|
||||
void NotePad(const char * title, const char * listing )
|
||||
{
|
||||
|
||||
cg_string text;
|
||||
text = title;
|
||||
|
||||
if(listing != NULL)
|
||||
text += listing;
|
||||
else
|
||||
text += "*** NO LISTING ***\n";
|
||||
|
||||
char * TmpLstFile = tmpnam(0);
|
||||
|
||||
FILE * fpLst = fopen(TmpLstFile, "w");
|
||||
fputs(text.c_str(), fpLst);
|
||||
fclose(fpLst);
|
||||
|
||||
char Cmd[1000];
|
||||
sprintf(Cmd, "notepad %s", TmpLstFile);
|
||||
int Ret = system(Cmd);
|
||||
|
||||
unlink(TmpLstFile);
|
||||
|
||||
}
|
||||
|
||||
cgContextContainer * CreateContextContainer(LPDIRECT3DDEVICE8 pd3dDevice, DWORD * outIndex = 0)
|
||||
{
|
||||
return cm.CreateContextContainer(pd3dDevice, outIndex);
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
cgContextManager cm;
|
||||
LPDIRECT3DDEVICE8 m_pd3dDevice;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#define CGRTERR_ILLEGAL_PROFILE -1
|
||||
#define CGRTERR_VERTEX_ATTRIBUTES_NOT_SET -2
|
||||
|
||||
#endif // WIN32
|
||||
|
||||
#endif
|
||||
|
||||
275
RenderDll/XRenderD3D8/CG/cgD3D8.h
Normal file
275
RenderDll/XRenderD3D8/CG/cgD3D8.h
Normal file
@@ -0,0 +1,275 @@
|
||||
/*
|
||||
*
|
||||
* 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<49>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
|
||||
|
||||
#if WIN32
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "cg.h"
|
||||
#include <d3d8.h>
|
||||
#include <d3dx8.h>
|
||||
|
||||
// Set up for either Win32 import/export/lib.
|
||||
#if WIN32
|
||||
# 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
|
||||
#else
|
||||
#define CGD3D8DLL_API
|
||||
#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.
|
||||
---------------------------------------------------------------------------*/
|
||||
const HRESULT CGD3D8ERR_NOTLOADED = MAKE_HRESULT(1, 0x877, 1);
|
||||
const HRESULT CGD3D8ERR_NODEVICE = MAKE_HRESULT(1, 0x877, 2);
|
||||
const HRESULT CGD3D8ERR_NOTSAMPLER = MAKE_HRESULT(1, 0x877, 3);
|
||||
const HRESULT CGD3D8ERR_INVALIDPROFILE = MAKE_HRESULT(1, 0x877, 4);
|
||||
const HRESULT CGD3D8ERR_NULLVALUE = MAKE_HRESULT(1, 0x877, 5);
|
||||
const HRESULT CGD3D8ERR_OUTOFRANGE = MAKE_HRESULT(1, 0x877, 6);
|
||||
const HRESULT CGD3D8ERR_NOTUNIFORM = MAKE_HRESULT(1, 0x877, 7);
|
||||
const HRESULT CGD3D8ERR_NOTMATRIX = MAKE_HRESULT(1, 0x877, 8);
|
||||
const HRESULT CGD3D8ERR_INVALIDPARAM = MAKE_HRESULT(1, 0x877, 9);
|
||||
|
||||
const HRESULT CGD3D8ERR_INVALIDSAMPLERSTATE = MAKE_HRESULT(1, 0x877, 100);
|
||||
const HRESULT CGD3D8ERR_INVALIDVEREXDECL = MAKE_HRESULT(1, 0x877, 101);
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// Other error return values
|
||||
---------------------------------------------------------------------------*/
|
||||
const DWORD CGD3D8_INVALID_REG = 0xFFFFFFFF;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// Minimal Interface
|
||||
---------------------------------------------------------------------------*/
|
||||
|
||||
CGD3D8DLL_API
|
||||
DWORD cgD3D8TypeToSize(
|
||||
CGtype type
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
DWORD cgD3D8ResourceToInputRegister(
|
||||
CGresource resource
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
CGbool cgD3D8GetVertexDeclaration(
|
||||
CGprogram prog,
|
||||
DWORD decl[MAX_FVF_DECL_SIZE]
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
CGbool cgD3D8ValidateVertexDeclaration(
|
||||
CGprogram prog,
|
||||
const DWORD* decl
|
||||
);
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// Expanded Interface
|
||||
---------------------------------------------------------------------------*/
|
||||
|
||||
/* ----- D3D Device Control ----------- */
|
||||
CGD3D8DLL_API
|
||||
IDirect3DDevice8* cgD3D8GetDevice();
|
||||
|
||||
CGD3D8DLL_API
|
||||
HRESULT cgD3D8SetDevice(
|
||||
IDirect3DDevice8* pDevice
|
||||
);
|
||||
|
||||
/* ----- Shader Management ----------- */
|
||||
CGD3D8DLL_API
|
||||
HRESULT cgD3D8LoadProgram(
|
||||
CGprogram prog,
|
||||
CGbool paramShadowing,
|
||||
DWORD assemFlags,
|
||||
DWORD vshaderUsage,
|
||||
const DWORD* vertexDecl
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
HRESULT cgD3D8UnloadProgram(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
CGbool cgD3D8IsProgramLoaded(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
HRESULT cgD3D8BindProgram(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
/* ----- Parameter Management ----------- */
|
||||
CGD3D8DLL_API
|
||||
HRESULT cgD3D8SetUniform(
|
||||
CGparameter param,
|
||||
const void* floats
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
HRESULT cgD3D8SetUniformArray(
|
||||
CGparameter param,
|
||||
DWORD offset,
|
||||
DWORD numItems,
|
||||
const void* values
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
HRESULT cgD3D8SetUniformMatrix(
|
||||
CGparameter param,
|
||||
const D3DMATRIX* matrix
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
HRESULT cgD3D8SetUniformMatrixArray(
|
||||
CGparameter param,
|
||||
DWORD offset,
|
||||
DWORD numItems,
|
||||
const D3DMATRIX* matrices
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
HRESULT cgD3D8SetTexture(
|
||||
CGparameter param,
|
||||
IDirect3DBaseTexture8* tex
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
HRESULT cgD3D8SetTextureStageState(
|
||||
CGparameter param,
|
||||
D3DTEXTURESTAGESTATETYPE type,
|
||||
DWORD value
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
HRESULT cgD3D8SetTextureWrapMode(
|
||||
CGparameter param,
|
||||
DWORD value
|
||||
);
|
||||
|
||||
/* ----- Parameter Management (Shadowing) ----------- */
|
||||
CGD3D8DLL_API
|
||||
HRESULT cgD3D8EnableParameterShadowing(
|
||||
CGprogram prog,
|
||||
CGbool enable
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
CGbool cgD3D8IsParameterShadowingEnabled(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
/* --------- Profile Options ----------------- */
|
||||
CGD3D8DLL_API
|
||||
CGprofile cgD3D8GetLatestVertexProfile();
|
||||
|
||||
CGD3D8DLL_API
|
||||
CGprofile cgD3D8GetLatestPixelProfile();
|
||||
|
||||
CGD3D8DLL_API
|
||||
char const* cgD3D8GetOptimalOptions(
|
||||
CGprofile profile
|
||||
);
|
||||
|
||||
/* --------- Error reporting ----------------- */
|
||||
CGD3D8DLL_API
|
||||
HRESULT cgD3D8GetLastError();
|
||||
|
||||
CGD3D8DLL_API
|
||||
const char* cgD3D8TranslateCGerror(
|
||||
CGerror error
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
const char* cgD3D8TranslateHRESULT(
|
||||
HRESULT hr
|
||||
);
|
||||
|
||||
CGD3D8DLL_API
|
||||
void cgD3D8EnableDebugTracing(
|
||||
CGbool enable
|
||||
);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif // WIN32
|
||||
|
||||
#endif
|
||||
271
RenderDll/XRenderD3D8/CG/cgD3D9.h
Normal file
271
RenderDll/XRenderD3D8/CG/cgD3D9.h
Normal file
@@ -0,0 +1,271 @@
|
||||
/*
|
||||
*
|
||||
* 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<49>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
|
||||
|
||||
#if WIN32
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "cg.h"
|
||||
#include <d3d9.h>
|
||||
#include <d3dx9.h>
|
||||
|
||||
// Set up for either Win32 import/export/lib.
|
||||
#if WIN32
|
||||
# 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
|
||||
#else
|
||||
#define CGD3D9DLL_API
|
||||
#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.
|
||||
---------------------------------------------------------------------------*/
|
||||
const HRESULT CGD3D9ERR_NOTLOADED = MAKE_HRESULT(1, 0x877, 1);
|
||||
const HRESULT CGD3D9ERR_NODEVICE = MAKE_HRESULT(1, 0x877, 2);
|
||||
const HRESULT CGD3D9ERR_NOTSAMPLER = MAKE_HRESULT(1, 0x877, 3);
|
||||
const HRESULT CGD3D9ERR_INVALIDPROFILE = MAKE_HRESULT(1, 0x877, 4);
|
||||
const HRESULT CGD3D9ERR_NULLVALUE = MAKE_HRESULT(1, 0x877, 5);
|
||||
const HRESULT CGD3D9ERR_OUTOFRANGE = MAKE_HRESULT(1, 0x877, 6);
|
||||
const HRESULT CGD3D9ERR_NOTUNIFORM = MAKE_HRESULT(1, 0x877, 7);
|
||||
const HRESULT CGD3D9ERR_NOTMATRIX = MAKE_HRESULT(1, 0x877, 8);
|
||||
const HRESULT CGD3D9ERR_INVALIDPARAM = MAKE_HRESULT(1, 0x877, 9);
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// Other error return values
|
||||
---------------------------------------------------------------------------*/
|
||||
const DWORD CGD3D9_INVALID_USAGE = 0xFF;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// Minimal Interface
|
||||
---------------------------------------------------------------------------*/
|
||||
|
||||
CGD3D9DLL_API
|
||||
DWORD cgD3D9TypeToSize(
|
||||
CGtype type
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
BYTE cgD3D9ResourceToDeclUsage(
|
||||
CGresource resource
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
CGbool cgD3D9GetVertexDeclaration(
|
||||
CGprogram prog,
|
||||
D3DVERTEXELEMENT9 decl[MAXD3DDECLLENGTH]
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
CGbool cgD3D9ValidateVertexDeclaration(
|
||||
CGprogram prog,
|
||||
const D3DVERTEXELEMENT9* decl
|
||||
);
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// Expanded Interface
|
||||
---------------------------------------------------------------------------*/
|
||||
|
||||
/* ----- D3D Device Control ----------- */
|
||||
CGD3D9DLL_API
|
||||
IDirect3DDevice9* cgD3D9GetDevice();
|
||||
|
||||
CGD3D9DLL_API
|
||||
HRESULT cgD3D9SetDevice(
|
||||
IDirect3DDevice9* pDevice
|
||||
);
|
||||
|
||||
/* ----- Shader Management ----------- */
|
||||
|
||||
CGD3D9DLL_API
|
||||
HRESULT cgD3D9LoadProgram(
|
||||
CGprogram prog,
|
||||
CGbool paramShadowing,
|
||||
DWORD assemFlags
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
HRESULT cgD3D9UnloadProgram(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
CGbool cgD3D9IsProgramLoaded(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
HRESULT cgD3D9BindProgram(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
/* ----- Parameter Management ----------- */
|
||||
CGD3D9DLL_API
|
||||
HRESULT cgD3D9SetUniform(
|
||||
CGparameter param,
|
||||
const void* floats
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
HRESULT cgD3D9SetUniformArray(
|
||||
CGparameter param,
|
||||
DWORD offset,
|
||||
DWORD numItems,
|
||||
const void* values
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
HRESULT cgD3D9SetUniformMatrix(
|
||||
CGparameter param,
|
||||
const D3DMATRIX* matrix
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
HRESULT cgD3D9SetUniformMatrixArray(
|
||||
CGparameter param,
|
||||
DWORD offset,
|
||||
DWORD numItems,
|
||||
const D3DMATRIX* matrices
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
HRESULT cgD3D9SetTexture(
|
||||
CGparameter param,
|
||||
IDirect3DBaseTexture9* tex
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
HRESULT cgD3D9SetSamplerState(
|
||||
CGparameter param,
|
||||
D3DSAMPLERSTATETYPE type,
|
||||
DWORD value
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
HRESULT cgD3D9SetTextureWrapMode(
|
||||
CGparameter param,
|
||||
DWORD value
|
||||
);
|
||||
|
||||
/* ----- Parameter Management (Shadowing) ----------- */
|
||||
CGD3D9DLL_API
|
||||
HRESULT cgD3D9EnableParameterShadowing(
|
||||
CGprogram prog,
|
||||
CGbool enable
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
CGbool cgD3D9IsParameterShadowingEnabled(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
/* --------- Profile Options ----------------- */
|
||||
CGD3D9DLL_API
|
||||
CGprofile cgD3D9GetLatestVertexProfile();
|
||||
|
||||
CGD3D9DLL_API
|
||||
CGprofile cgD3D9GetLatestPixelProfile();
|
||||
|
||||
CGD3D9DLL_API
|
||||
char const* cgD3D9GetOptimalOptions(
|
||||
CGprofile profile
|
||||
);
|
||||
|
||||
/* --------- Error reporting ----------------- */
|
||||
CGD3D9DLL_API
|
||||
HRESULT cgD3D9GetLastError();
|
||||
|
||||
CGD3D9DLL_API
|
||||
const char* cgD3D9TranslateCGerror(
|
||||
CGerror error
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
const char* cgD3D9TranslateHRESULT(
|
||||
HRESULT hr
|
||||
);
|
||||
|
||||
CGD3D9DLL_API
|
||||
void cgD3D9EnableDebugTracing(
|
||||
CGbool enable
|
||||
);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif // WIN32
|
||||
|
||||
#endif
|
||||
62
RenderDll/XRenderD3D8/CG/cgGL_profiles.h
Normal file
62
RenderDll/XRenderD3D8/CG/cgGL_profiles.h
Normal file
@@ -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<49>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(ARBFragment,arbfp1,ARBFP1,"arbfp1",7000,0)
|
||||
|
||||
#ifndef CG_IN_PROFILES_INCLUDE
|
||||
# undef CG_PROFILE_MACRO
|
||||
#endif
|
||||
326
RenderDll/XRenderD3D8/CG/cgProgramManager.h
Normal file
326
RenderDll/XRenderD3D8/CG/cgProgramManager.h
Normal file
@@ -0,0 +1,326 @@
|
||||
/*
|
||||
*
|
||||
* 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<49>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.
|
||||
*
|
||||
*/
|
||||
|
||||
/*********************************************************************NVMH2****
|
||||
File: cgProgramManager.h
|
||||
|
||||
Copyright (C) 1999, 2000 NVIDIA Corporation
|
||||
This file is provided without support, instruction, or implied warranty of any
|
||||
kind. NVIDIA makes no guarantee of its fitness for a particular purpose and is
|
||||
not liable under any circumstances for any damages or loss whatsoever arising
|
||||
from the use or inability to use this file or items derived from it.
|
||||
|
||||
Comments:
|
||||
|
||||
cgProgramManager - a class for loading various pixel & vertex shaders
|
||||
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
#ifndef __NV_PROGRAM_MANAGER_H
|
||||
#define __NV_PROGRAM_MANAGER_H
|
||||
|
||||
#if WIN32
|
||||
|
||||
#pragma warning (disable:4786) // identifier was truncated to '255' characters in the browser information
|
||||
|
||||
#include <windows.h>
|
||||
#include <d3d8.h>
|
||||
#include <d3dx8.h>
|
||||
|
||||
#include <Cg/cgTemplates.h>
|
||||
#include <Cg/cg.h>
|
||||
|
||||
|
||||
|
||||
// to allow multiple streams and user specifed vertex type
|
||||
// D3DVSDT_FLOAT1 0x00 // 1D float expanded to (value, 0., 0., 1.)
|
||||
// D3DVSDT_FLOAT2 0x01 // 2D float expanded to (value, value, 0., 1.)
|
||||
// D3DVSDT_FLOAT3 0x02 // 3D float expanded to (value, value, value, 1.)
|
||||
// D3DVSDT_FLOAT4 0x03 // 4D float
|
||||
// D3DVSDT_D3DCOLOR 0x04 // 4D packed unsigned bytes mapped to 0. to 1. range
|
||||
// // Input is in D3DCOLOR format (ARGB) expanded to (R, G, B, A)
|
||||
// D3DVSDT_UBYTE4 0x05 // 4D unsigned byte
|
||||
// D3DVSDT_SHORT2 0x06 // 2D signed short expanded to (value, value, 0., 1.)
|
||||
// D3DVSDT_SHORT4 0x07 // 4D signed short
|
||||
|
||||
|
||||
// was cgVertexAttribute
|
||||
typedef struct cgVertexDefinition
|
||||
{
|
||||
int D3DVSDT_type; // one of D3DVSDT_*
|
||||
char * name; // name of the entry
|
||||
int stream; // stream to put the vertex in
|
||||
} cgVertexDefinition;
|
||||
|
||||
|
||||
#define CGVERTEXDEFINITIONEND {-1, 0, 0}
|
||||
|
||||
// internal cgDirect3D data structure
|
||||
typedef struct cgiVertexAttribute
|
||||
{
|
||||
char name[64];
|
||||
int D3DVSDT_type;
|
||||
int bind_location;
|
||||
cgBindIter * BindIter;
|
||||
} cgiVertexAttribute;
|
||||
|
||||
|
||||
|
||||
typedef cg_vector<cgiVertexAttribute> cgiVertexAttributeList;
|
||||
typedef cg_list<cgBindIter *> cgBindIterList;
|
||||
|
||||
|
||||
class cgProgramManager;
|
||||
class cgContextContainer;
|
||||
|
||||
class cgProgramContainer
|
||||
{
|
||||
|
||||
public:
|
||||
|
||||
// get a text definition of what the runtime expects for the vertex
|
||||
const char * GetVertexDeclaration();
|
||||
/*
|
||||
Example: returns string containing
|
||||
"struct stream0
|
||||
{
|
||||
D3DXVECTOR3 position;
|
||||
D3DXVECTOR2 tex0;
|
||||
};"
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
// convert D3DXMATRIX class to type specified in cg program
|
||||
// even if your cg program uses 3x3, you can use this to pass a matrix to it
|
||||
// upper left hand part of D3DXMATRIX is used to fill the cg matrix
|
||||
HRESULT SetShaderConstantD3DXMATRIX(cgBindIter * iter, const D3DXMATRIX *, int nArrayElements = 0, int ArrayOffset = 0);
|
||||
|
||||
|
||||
|
||||
// All other data formats use this interface
|
||||
// The D3D runtime records the size of your data and puts that in the constant fields
|
||||
HRESULT SetShaderConstant(cgBindIter * iter, void * data, int nArrayElements = 0, int ArrayOffset = 0);
|
||||
// for arrays:
|
||||
// if nArrayElements is specified, write this number of elements rather than the whole array
|
||||
// if ArrayOffset is specified, start writing at this array element
|
||||
// otherwise nArrayElements and ArrayOffset are not specified
|
||||
|
||||
|
||||
// returns texture position 0-8 for the iterator
|
||||
// -1 is failure
|
||||
int GetTexturePosition(cgBindIter * BindIter);
|
||||
int GetTexturePosition(const char * name);
|
||||
|
||||
// set the texture via name (needs to search bindings by name, so this is the slowest
|
||||
// not recommended
|
||||
HRESULT SetTexture(const char * name, LPDIRECT3DBASETEXTURE8 pTexture);
|
||||
|
||||
// does a GetTexturePosition, then settexture(n, nTexture)
|
||||
HRESULT SetTexture(cgBindIter * BindIter, LPDIRECT3DBASETEXTURE8 pTexture);
|
||||
|
||||
// does a GetTexturePosition, then SetTextureStageState(n, nTexture, Value)
|
||||
HRESULT SetTextureStageState(cgBindIter * BindIter, D3DTEXTURESTAGESTATETYPE Type,DWORD Value);
|
||||
|
||||
// Direct3D hardcodes wrap state, D3DRS_WRAP1, D3DWRAPCOORD_0 | D3DWRAPCOORD_1
|
||||
// WrapCoords : 0, D3DWRAPCOORD_0, D3DWRAPCOORD_1 or'd together
|
||||
HRESULT SetTextureWrapMode(cgBindIter * BindIter, DWORD WrapCoords);
|
||||
|
||||
|
||||
// activate this shader (SetVertexShader or SetPixelShader)
|
||||
HRESULT SetShaderActive();
|
||||
|
||||
|
||||
// locate a binding within a program by parameter name
|
||||
// it is recommended to do this once and use the cgBindIter to reference data
|
||||
cgBindIter *GetVertexBindByName(const char *vertex_attr_name);
|
||||
cgBindIter *GetTextureBindByName(const char *texture_name);
|
||||
cgBindIter *GetParameterBindByName(const char *parameter_name);
|
||||
|
||||
void FreeBindIter(cgBindIter *);
|
||||
|
||||
|
||||
|
||||
|
||||
// Get the type for this bind iterator
|
||||
cgValueType GetBindValueType(const cgBindIter *BindIter, int *array_size)
|
||||
{
|
||||
return cgGetBindValueType(BindIter, array_size);
|
||||
}
|
||||
|
||||
|
||||
// locate and bindinf iterator by full name
|
||||
// e.g. appdata.texcoord0
|
||||
cgBindIter *GetBindByFullName(const char *parameter_name);
|
||||
|
||||
// from the iterator, get the name of the program
|
||||
const char *GetProgramName();
|
||||
|
||||
const char *GetProgramObjectCode();
|
||||
|
||||
cgProfileType GetProgramProfile() { return m_ProfileType;}
|
||||
|
||||
// get the shader handle passed to Direct3D
|
||||
DWORD GetShaderHandle() {return m_dwShaderHandle;}
|
||||
|
||||
private:
|
||||
|
||||
cgBindIter *AllocBind();
|
||||
void SaveBind(cgBindIter * BindIter); // for deleting
|
||||
|
||||
cgBindIterList m_BindIterList;
|
||||
|
||||
void GetParameterConstantPosition(cgBindIter * iter, int * pos, int *width, int * num4vectors, int *nArrayElements);
|
||||
void GetParameterConstantPosition(const char * name, int * pos, int *width, int * num4vectors, int *nArrayElements);
|
||||
|
||||
|
||||
HRESULT CreateProgramShader();
|
||||
HRESULT CreateVertexShader();
|
||||
HRESULT CreatePixelShader();
|
||||
|
||||
// take asm code, assembles it and create a handle
|
||||
HRESULT CreateShaderHandleFromFile(
|
||||
const cg_string & strFilePath,
|
||||
const cg_string & strSourceFile,
|
||||
const DWORD * pDeclaration,
|
||||
DWORD Usage);
|
||||
|
||||
HRESULT CreateShaderHandleFromMemory(
|
||||
const char * pShaderText,
|
||||
const DWORD * pDeclaration,
|
||||
DWORD Usage);
|
||||
|
||||
|
||||
HRESULT Free();
|
||||
|
||||
|
||||
// cgDX8VertexProfile or cgDX8PixelProfile (cg_profiles.h)
|
||||
// These types are defined with macros:
|
||||
// CG_PROFILE_MACRO(DX8Vertex,dx8vs,"dx8vs")
|
||||
// CG_PROFILE_MACRO(DX8Pixel,dx8ps,"dx8ps")
|
||||
|
||||
|
||||
friend cgProgramManager;
|
||||
friend cgContextContainer;
|
||||
DWORD m_dwShaderHandle; // DWORD handle returned by DX8 runtime
|
||||
cgProfileType m_ProfileType; // profile for this program
|
||||
HRESULT SetVertexDefinition(cgVertexDefinition * streams);
|
||||
|
||||
|
||||
cgProgramContainer(LPDIRECT3DDEVICE8 pDev, cgProgramIter *m_ProgramIter,
|
||||
cgProfileType ProfileType);
|
||||
~cgProgramContainer();
|
||||
|
||||
|
||||
HRESULT LoadShaderConstants();
|
||||
cg_string m_ProgramSourceFile; // text file name
|
||||
cg_string m_ProgramObjectFile; // compiled shader object file (.vso, .pso)
|
||||
|
||||
// for declaration of vertex positions
|
||||
cgiVertexAttributeList m_VertexAttributes[MAX_STREAMS];
|
||||
|
||||
cgProgramIter *m_ProgramIter;
|
||||
|
||||
|
||||
LPDIRECT3DDEVICE8 m_pd3dDevice;
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
class cgProgramManager
|
||||
{
|
||||
private:
|
||||
cg_vector < cgProgramContainer * > m_ProgramContainers; // m_Shaders[0] is always = 0
|
||||
cg_vector < DWORD > m_ProgramIndices; // indirection to m_Shaders
|
||||
// Programs hold an index to this array for
|
||||
// their shaders. The array int at that index
|
||||
// holds the index into the m_Shaders array.
|
||||
|
||||
public:
|
||||
|
||||
|
||||
cgProgramManager(LPDIRECT3DDEVICE8 pDev);
|
||||
~cgProgramManager();
|
||||
|
||||
HRESULT Free();
|
||||
|
||||
|
||||
cgProgramContainer * CreateProgramContainer(LPDIRECT3DDEVICE8 pDev,
|
||||
cgProgramIter * ProgramIter,
|
||||
DWORD Usage,
|
||||
cgProfileType ProfileType,
|
||||
DWORD * outIndex );
|
||||
|
||||
|
||||
|
||||
DWORD GetShaderHandle( DWORD Index );
|
||||
DWORD GetShaderHandle( cgProfileType ProfileType );
|
||||
|
||||
//
|
||||
cgProgramContainer * GetProgramIterator(DWORD index);
|
||||
|
||||
|
||||
|
||||
private:
|
||||
// for creating programs
|
||||
LPDIRECT3DDEVICE8 m_pd3dDevice;
|
||||
|
||||
};
|
||||
|
||||
#endif // WIN32
|
||||
|
||||
#endif
|
||||
366
RenderDll/XRenderD3D8/CG/cgTemplates.h
Normal file
366
RenderDll/XRenderD3D8/CG/cgTemplates.h
Normal file
@@ -0,0 +1,366 @@
|
||||
/*
|
||||
*
|
||||
* 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<49>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.
|
||||
*
|
||||
*/
|
||||
|
||||
/*********************************************************************NVMH2****
|
||||
File: cgTemplates.h
|
||||
|
||||
Copyright (C) 1999, 2000 NVIDIA Corporation
|
||||
This file is provided without support, instruction, or implied warranty of any
|
||||
kind. NVIDIA makes no guarantee of its fitness for a particular purpose and is
|
||||
not liable under any circumstances for any damages or loss whatsoever arising
|
||||
from the use or inability to use this file or items derived from it.
|
||||
|
||||
Comments:
|
||||
|
||||
cgTemplates - cg utility templates
|
||||
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef CG_TEMPLATE_H
|
||||
#define CG_TEMPLATE_H
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
|
||||
//////////////////////////////////////////
|
||||
//
|
||||
// templated cg_vector class
|
||||
//
|
||||
//////////////////////////////////////////
|
||||
|
||||
|
||||
template <class T>
|
||||
class cg_vector{
|
||||
public:
|
||||
typedef int size_type;
|
||||
|
||||
cg_vector();
|
||||
cg_vector( cg_vector<T>& v );
|
||||
~cg_vector();
|
||||
|
||||
void clear();
|
||||
int size() const;
|
||||
T& operator [] ( int i );
|
||||
void push_back( const T& t );
|
||||
|
||||
private:
|
||||
T* data;
|
||||
int num;
|
||||
int capacity;
|
||||
const static int initSize;
|
||||
};
|
||||
|
||||
|
||||
//definitions of cg_vector methods
|
||||
|
||||
template <class T>
|
||||
const int cg_vector<T>::initSize = 16;
|
||||
|
||||
template <class T>
|
||||
cg_vector<T>::cg_vector(){
|
||||
data = NULL;
|
||||
clear();
|
||||
}
|
||||
|
||||
template <class T>
|
||||
cg_vector<T>::cg_vector( cg_vector<T>& v ){
|
||||
data = NULL;
|
||||
clear();
|
||||
for( int i=0; i<v.size(); i++ ){
|
||||
push_back( v[i] );
|
||||
}
|
||||
}
|
||||
|
||||
template <class T>
|
||||
cg_vector<T>::~cg_vector(){
|
||||
delete[] data;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void cg_vector<T>::clear(){
|
||||
if( data ){
|
||||
delete[] data;
|
||||
}
|
||||
data = (T*)new T[initSize];
|
||||
num = 0;
|
||||
capacity = initSize;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
int cg_vector<T>::size() const{
|
||||
return num;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void cg_vector<T>::push_back( const T& t ){
|
||||
if( num >= capacity ){
|
||||
T* temp = new T[ 2 * capacity ];
|
||||
for( int i = 0; i < num; i++ ){
|
||||
temp[i] = data[i];
|
||||
}
|
||||
delete[] data;
|
||||
data = temp;
|
||||
capacity *= 2;
|
||||
}
|
||||
data[num] = t;
|
||||
num++;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
T& cg_vector<T>::operator [] ( int i ){
|
||||
if( i>=0 && i < num ){
|
||||
return data[i];
|
||||
}else{
|
||||
return data[0];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////
|
||||
//
|
||||
// templated cg_list class
|
||||
//
|
||||
//////////////////////////////////////////
|
||||
|
||||
|
||||
template <class T>
|
||||
class cg_list{
|
||||
public:
|
||||
class Node{
|
||||
public:
|
||||
Node( const T& _data, Node* _next, Node* _prev ){
|
||||
data = _data;
|
||||
next = _next;
|
||||
prev = _prev;
|
||||
}
|
||||
|
||||
T data;
|
||||
Node* next;
|
||||
Node* prev;
|
||||
};
|
||||
|
||||
class iterator{
|
||||
public:
|
||||
iterator( Node* _node ){
|
||||
node = _node;
|
||||
}
|
||||
iterator(){
|
||||
node = NULL;
|
||||
}
|
||||
|
||||
bool operator == ( const iterator& it ) const{
|
||||
return node == it.node;
|
||||
}
|
||||
bool operator != ( const iterator& it ) const{
|
||||
return !( *this == it );
|
||||
}
|
||||
T& operator * (){
|
||||
return node -> data;
|
||||
}
|
||||
void operator ++ (){
|
||||
node = node -> next;
|
||||
}
|
||||
void operator ++ (int){
|
||||
node = node -> next;
|
||||
}
|
||||
|
||||
Node* node;
|
||||
};
|
||||
|
||||
cg_list();
|
||||
cg_list( const cg_list<T>& l );
|
||||
~cg_list();
|
||||
iterator begin();
|
||||
iterator end();
|
||||
void push_back( const T& t );
|
||||
void clear();
|
||||
void remove( const T& value );
|
||||
|
||||
private:
|
||||
Node* head;
|
||||
Node* tail;
|
||||
|
||||
void insert( const T& t, Node* node );
|
||||
void remove( Node* node );
|
||||
};
|
||||
|
||||
|
||||
// definitions of cg_list methods
|
||||
|
||||
template <class T>
|
||||
cg_list<T>::cg_list(){
|
||||
head = tail = new Node( T(), NULL, NULL );
|
||||
}
|
||||
|
||||
template <class T>
|
||||
cg_list<T>::~cg_list(){
|
||||
clear();
|
||||
delete head;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
cg_list<T>::cg_list( const cg_list<T>& l ){
|
||||
head = tail = new Node( T(), NULL, NULL );
|
||||
cg_list<T>::iterator it = l.begin();
|
||||
while( it != l.end() ){
|
||||
push_back( *it );
|
||||
it++;
|
||||
}
|
||||
}
|
||||
|
||||
template <class T>
|
||||
cg_list<T>::iterator cg_list<T>::begin(){
|
||||
return head;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
cg_list<T>::iterator cg_list<T>::end(){
|
||||
return tail;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void cg_list<T>::push_back( const T& t ){
|
||||
insert( t, tail );
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void cg_list<T>::clear(){
|
||||
while( head != tail ){
|
||||
remove( head );
|
||||
}
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void cg_list<T>::remove( const T& value ){
|
||||
Node* curr = head;
|
||||
Node* temp;
|
||||
while( curr != tail ){
|
||||
temp = curr;
|
||||
curr = curr -> next;
|
||||
if( temp -> data == value ){
|
||||
remove( temp );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void cg_list<T>::insert( const T& t, cg_list<T>::Node* node ){
|
||||
Node* newNode = new Node( t, node, node -> prev );
|
||||
if( node -> prev == NULL ){
|
||||
head = newNode;
|
||||
}else{
|
||||
node -> prev -> next = newNode;
|
||||
}
|
||||
node -> prev = newNode;
|
||||
}
|
||||
|
||||
template <class T>
|
||||
void cg_list<T>::remove( cg_list<T>::Node* node ){
|
||||
if( node == tail ){
|
||||
return;
|
||||
}
|
||||
node -> next -> prev = node -> prev;
|
||||
if( node -> prev == NULL ){
|
||||
head = node -> next;
|
||||
}else{
|
||||
node -> prev -> next = node -> next;
|
||||
}
|
||||
delete node;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////
|
||||
//
|
||||
// cg_string class
|
||||
//
|
||||
//////////////////////////////////////////
|
||||
|
||||
|
||||
class cg_string{
|
||||
public:
|
||||
typedef int size_type;
|
||||
cg_string();
|
||||
cg_string( const char* s);
|
||||
cg_string( const cg_string& s );
|
||||
~cg_string();
|
||||
|
||||
int size() const;
|
||||
const char* c_str() const;
|
||||
void resize( int n, char c = '\0' );
|
||||
cg_string& erase( int pos = 0, int n = npos );
|
||||
int find_last_of( const cg_string& s, int pos = npos ) const;
|
||||
cg_string substr( int pos = 0, int len = npos ) const;
|
||||
|
||||
char& operator [] ( int i );
|
||||
const char& operator [] ( int i ) const;
|
||||
cg_string& operator = ( const cg_string& s );
|
||||
cg_string& operator += ( const cg_string& s );
|
||||
cg_string operator + ( const cg_string& s ) const;
|
||||
|
||||
const static int npos;
|
||||
|
||||
private:
|
||||
char* data;
|
||||
int num; //length of the string, not counting the trailing '\0'.
|
||||
int capacity;
|
||||
const static int initSize;
|
||||
|
||||
void set( const char* s, int n );
|
||||
};
|
||||
|
||||
#endif
|
||||
332
RenderDll/XRenderD3D8/CG/cg_bindlocations.h
Normal file
332
RenderDll/XRenderD3D8/CG/cg_bindlocations.h
Normal file
@@ -0,0 +1,332 @@
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* 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<49>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
|
||||
142
RenderDll/XRenderD3D8/CG/cg_datatypes.h
Normal file
142
RenderDll/XRenderD3D8/CG/cg_datatypes.h
Normal file
@@ -0,0 +1,142 @@
|
||||
/*
|
||||
*
|
||||
* 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<49>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
|
||||
|
||||
|
||||
273
RenderDll/XRenderD3D8/CG/cg_deprecated_api.h
Normal file
273
RenderDll/XRenderD3D8/CG/cg_deprecated_api.h
Normal file
@@ -0,0 +1,273 @@
|
||||
|
||||
/*
|
||||
*
|
||||
* 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<49>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_deprecated_api_h
|
||||
#define _cg_deprecated_api_h
|
||||
|
||||
|
||||
// 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 structures ***/
|
||||
/*************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef enum
|
||||
{
|
||||
# define CG_ERROR_MACRO(code, enum_name, new_enum_name, message) \
|
||||
cg##enum_name = code,
|
||||
# include <Cg/cg_errors.h>
|
||||
} cgError;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/* Opaque structure */
|
||||
void *Data;
|
||||
} cgContext;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/* Opaque structure */
|
||||
void *Data;
|
||||
} cgProgramIter;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
/* Opaque structure */
|
||||
void *Data;
|
||||
} cgBindIter;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
cgUnknownValueType,
|
||||
|
||||
cgTypeStartEnum = 1024,
|
||||
# define CG_DATATYPE_MACRO(name, compiler_name, enum_name, ncols, nrows) \
|
||||
cg##name##ValueType,
|
||||
|
||||
#include <Cg/cg_datatypes.h>
|
||||
} cgValueType;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
cgConstParam,
|
||||
cgUniformParam,
|
||||
cgConnectorMemberParam,
|
||||
cgVaryingParam = cgConnectorMemberParam,
|
||||
cgTexObjParam,
|
||||
cgAnyParam,
|
||||
cgUndefinedParam,
|
||||
} cgParamType;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
|
||||
# define CG_BINDLOCATION_MACRO(name,enum_name,compiler_name,\
|
||||
enum_int,addressable,param_type) \
|
||||
cgBind##name = enum_int,
|
||||
#include <Cg/cg_bindlocations.h>
|
||||
|
||||
cgBindUndefined
|
||||
} cgBindLocation;
|
||||
|
||||
|
||||
typedef enum
|
||||
{
|
||||
cgProfileStart = 6144,
|
||||
|
||||
CG_PROFILE_UNKNOWN,
|
||||
cgUnknownProfile = CG_PROFILE_UNKNOWN,
|
||||
|
||||
# define CG_PROFILE_MACRO(name, compiler_id, compiler_id_caps, compiler_opt,int_id,vertex_profile) \
|
||||
cg##name##Profile = int_id,
|
||||
# include "Cg/cg_profiles.h"
|
||||
|
||||
cgNProfiles,
|
||||
} cgProfileType;
|
||||
|
||||
|
||||
|
||||
/*************************************************************************/
|
||||
/*** Function Prototypes ***/
|
||||
/*************************************************************************/
|
||||
|
||||
|
||||
/*******************************************************************/
|
||||
/*** cg Misc Functions ****/
|
||||
/*******************************************************************/
|
||||
|
||||
CGDLL_API void cgCleanup(void);
|
||||
|
||||
/* This will probably be deprecated in future releases */
|
||||
CGDLL_API void cgSetCompilerExe(const char *exe);
|
||||
|
||||
CGDLL_API const char *cgErrorMsg(cgError error);
|
||||
|
||||
/*******************************************************************/
|
||||
/*** cgContext Functions ****/
|
||||
/*******************************************************************/
|
||||
|
||||
CGDLL_API cgContext *cgCreateContext(void);
|
||||
|
||||
CGDLL_API void cgFreeContext(cgContext *context);
|
||||
|
||||
CGDLL_API cgError cgAddProgram(cgContext *context,
|
||||
const char *text,
|
||||
cgProfileType profile,
|
||||
const char *entry);
|
||||
|
||||
CGDLL_API cgError cgAddProgramFromFile(cgContext *context,
|
||||
const char *filename,
|
||||
cgProfileType profile,
|
||||
const char *entry);
|
||||
|
||||
CGDLL_API cgError cgAddProgramArgs(cgContext *context,
|
||||
const char *text,
|
||||
cgProfileType profile,
|
||||
const char *entry,
|
||||
int nargs,
|
||||
const char **args);
|
||||
|
||||
CGDLL_API cgError cgAddProgramFromFileArgs(cgContext *context,
|
||||
const char *filename,
|
||||
cgProfileType profile,
|
||||
const char *entry,
|
||||
int nargs,
|
||||
const char **args);
|
||||
|
||||
CGDLL_API cgError cgAddPrecompiledProgram(cgContext *context,
|
||||
const char *text,
|
||||
cgProfileType profile,
|
||||
const char *entry);
|
||||
|
||||
CGDLL_API cgError cgAddPrecompiledProgramFromFile(cgContext *context,
|
||||
const char *filename,
|
||||
cgProfileType profile,
|
||||
const char *entry);
|
||||
|
||||
CGDLL_API const char *cgGetLastListing(cgContext *context);
|
||||
|
||||
/*******************************************************************/
|
||||
/*** cgProgram Functions ***/
|
||||
/*******************************************************************/
|
||||
|
||||
CGDLL_API cgProgramIter *cgGetNextProgram(cgContext *context,
|
||||
cgProgramIter *iter);
|
||||
|
||||
CGDLL_API cgProgramIter *cgProgramByName(cgContext *context,
|
||||
const char *name);
|
||||
|
||||
|
||||
CGDLL_API cgProgramIter *cgGetLastProgram(cgContext *context);
|
||||
|
||||
CGDLL_API void cgFreeProgramIter(cgProgramIter *program);
|
||||
|
||||
CGDLL_API const char *cgGetProgramName(const cgProgramIter *program);
|
||||
|
||||
CGDLL_API cgProfileType cgGetProgramProfile(const cgProgramIter *program);
|
||||
|
||||
CGDLL_API const char *cgGetProgramObjectCode(const cgProgramIter *program);
|
||||
|
||||
|
||||
|
||||
/*******************************************************************/
|
||||
/*** Parameter and Binding Functions ****/
|
||||
/*******************************************************************/
|
||||
|
||||
CGDLL_API cgBindIter *cgGetNextBind(cgProgramIter *program,
|
||||
cgBindIter *iter);
|
||||
|
||||
CGDLL_API cgBindIter *cgGetBindByName(cgProgramIter *program,
|
||||
const char *parameter_name);
|
||||
|
||||
CGDLL_API cgBindIter *cgDuplicateBindIter(cgBindIter *bind);
|
||||
|
||||
CGDLL_API void cgFreeBindIter(cgBindIter *iter);
|
||||
|
||||
CGDLL_API const char *cgGetBindParamName(const cgBindIter *bind);
|
||||
|
||||
CGDLL_API cgParamType cgGetBindParamType(const cgBindIter *bind);
|
||||
|
||||
CGDLL_API cgBindLocation cgGetBindLocation(const cgBindIter *bind);
|
||||
|
||||
CGDLL_API unsigned long cgGetBindAddress(const cgBindIter *bind);
|
||||
|
||||
CGDLL_API cgValueType cgGetBindValueType(const cgBindIter *bind,
|
||||
int *array_size);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
193
RenderDll/XRenderD3D8/CG/cg_errors.h
Normal file
193
RenderDll/XRenderD3D8/CG/cg_errors.h
Normal file
@@ -0,0 +1,193 @@
|
||||
/*
|
||||
*
|
||||
* 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<49>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_ERROR_MACRO(0,
|
||||
NoError,
|
||||
CG_NO_ERROR,
|
||||
"No error has occurred.")
|
||||
|
||||
CG_ERROR_MACRO(1,
|
||||
CompileError,
|
||||
CG_COMPILER_ERROR,
|
||||
"The compile returned an error.")
|
||||
|
||||
CG_ERROR_MACRO(2,
|
||||
InvalidParameterError,
|
||||
CG_INVALID_PARAMETER_ERROR,
|
||||
"The parameter used is invalid.")
|
||||
|
||||
CG_ERROR_MACRO(3,
|
||||
InvalidProfileError,
|
||||
CG_INVALID_PROFILE_ERROR,
|
||||
"The profile is not supported.")
|
||||
|
||||
CG_ERROR_MACRO(4,
|
||||
ProgramLoadError,
|
||||
CG_PROGRAM_LOAD_ERROR,
|
||||
"The program could not load.")
|
||||
|
||||
CG_ERROR_MACRO(5,
|
||||
ProgramBindError,
|
||||
CG_PROGRAM_BIND_ERROR,
|
||||
"The program could not bind.")
|
||||
|
||||
CG_ERROR_MACRO(6,
|
||||
ProgramNotLoadedError,
|
||||
CG_PROGRAM_NOT_LOADED_ERROR,
|
||||
"The program must be loaded before this operation may be used.")
|
||||
|
||||
CG_ERROR_MACRO(7,
|
||||
UnsupportedGLExtensionError,
|
||||
CG_UNSUPPORTED_GL_EXTENSION_ERROR,
|
||||
"An unsupported GL extension was required to perform this operation.")
|
||||
|
||||
CG_ERROR_MACRO(8,
|
||||
InvalidValueTypeError,
|
||||
CG_INVALID_VALUE_TYPE_ERROR,
|
||||
"An unknown value type was assigned to a parameter.")
|
||||
|
||||
CG_ERROR_MACRO(9,
|
||||
NotMatrixParamError,
|
||||
CG_NOT_MATRIX_PARAM_ERROR,
|
||||
"The parameter is not of matrix type.")
|
||||
|
||||
CG_ERROR_MACRO(10,
|
||||
InvalidEnumerantError,
|
||||
CG_INVALID_ENUMERANT_ERROR,
|
||||
"The enumerant parameter has an invalid value.")
|
||||
|
||||
CG_ERROR_MACRO(11,
|
||||
Not4x4MatrixError,
|
||||
CG_NOT_4x4_MATRIX_ERROR,
|
||||
"The parameter must be a 4x4 matrix type.")
|
||||
|
||||
CG_ERROR_MACRO(12,
|
||||
FileReadError,
|
||||
CG_FILE_READ_ERROR,
|
||||
"The file could not be read.")
|
||||
|
||||
CG_ERROR_MACRO(13,
|
||||
FileWriteError,
|
||||
CG_FILE_WRITE_ERROR,
|
||||
"The file could not be written.")
|
||||
|
||||
CG_ERROR_MACRO(14,
|
||||
NVParseError,
|
||||
CG_NVPARSE_ERROR,
|
||||
"nvparse could not successfully parse the output from the Cg "
|
||||
"compiler backend.")
|
||||
|
||||
CG_ERROR_MACRO(15,
|
||||
MemoryAllocError,
|
||||
CG_MEMORY_ALLOC_ERROR,
|
||||
"Memory allocation failed.")
|
||||
|
||||
CG_ERROR_MACRO(16,
|
||||
InvalidContextHandleError,
|
||||
CG_INVALID_CONTEXT_HANDLE_ERROR,
|
||||
"Invalid context handle.")
|
||||
|
||||
CG_ERROR_MACRO(17,
|
||||
InvalidProgramHandleError,
|
||||
CG_INVALID_PROGRAM_HANDLE_ERROR,
|
||||
"Invalid program handle.")
|
||||
|
||||
CG_ERROR_MACRO(18,
|
||||
InvalidParamHandleError,
|
||||
CG_INVALID_PARAM_HANDLE_ERROR,
|
||||
"Invalid parameter handle.")
|
||||
|
||||
CG_ERROR_MACRO(19,
|
||||
UnknownProfileError,
|
||||
CG_UNKNOWN_PROFILE_ERROR,
|
||||
"The specified profile is unknown.")
|
||||
|
||||
CG_ERROR_MACRO(20,
|
||||
VarArgError,
|
||||
CG_VAR_ARG_ERROR,
|
||||
"The variable arguments were specified incorrectly.")
|
||||
|
||||
CG_ERROR_MACRO(21,
|
||||
InvalidDimensionError,
|
||||
CG_INVALID_DIMENSION_ERROR,
|
||||
"The dimension value is invalid.")
|
||||
|
||||
CG_ERROR_MACRO(22,
|
||||
ArrayParamError,
|
||||
CG_ARRAY_PARAM_ERROR,
|
||||
"The parameter must be an array.")
|
||||
|
||||
CG_ERROR_MACRO(23,
|
||||
OutOfArrayBoundsError,
|
||||
CG_OUT_OF_ARRAY_BOUNDS_ERROR,
|
||||
"Index into the array is out of bounds.")
|
||||
|
||||
|
||||
|
||||
#undef CG_ERROR_MACRO
|
||||
|
||||
88
RenderDll/XRenderD3D8/CG/cg_profiles.h
Normal file
88
RenderDll/XRenderD3D8/CG/cg_profiles.h
Normal file
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
*
|
||||
* 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<49>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 "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(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)
|
||||
|
||||
|
||||
#undef CG_PROFILE_MACRO
|
||||
#undef CG_IN_PROFILES_INCLUDE
|
||||
Reference in New Issue
Block a user