Init
BIN
kaplademo/externals/cg/2.2/bin.x64/cg.dll
vendored
Normal file
BIN
kaplademo/externals/cg/2.2/bin.x64/cgGL.dll
vendored
Normal file
BIN
kaplademo/externals/cg/2.2/bin.x64/cgc.exe
vendored
Normal file
BIN
kaplademo/externals/cg/2.2/bin/cg.dll
vendored
Normal file
BIN
kaplademo/externals/cg/2.2/bin/cgGL.dll
vendored
Normal file
BIN
kaplademo/externals/cg/2.2/bin/cgc.exe
vendored
Normal file
BIN
kaplademo/externals/cg/2.2/bin/cgfxcat.exe
vendored
Normal file
BIN
kaplademo/externals/cg/2.2/bin/cginfo.exe
vendored
Normal file
BIN
kaplademo/externals/cg/2.2/docs/license.pdf
vendored
Normal file
138
kaplademo/externals/cg/2.2/docs/license.txt
vendored
Normal file
@ -0,0 +1,138 @@
|
||||
License For Customer Use of NVIDIA Software
|
||||
|
||||
IMPORTANT NOTICE -- READ CAREFULLY: This License For Customer Use of
|
||||
NVIDIA Software ("LICENSE") is the agreement which governs use of the
|
||||
software of NVIDIA Corporation and its subsidiaries ("NVIDIA") downloadable
|
||||
herefrom, including computer software and associated printed materials
|
||||
("SOFTWARE"). By downloading, installing, copying, or otherwise using the
|
||||
SOFTWARE, you agree to be bound by the terms of this LICENSE. If you do
|
||||
not agree to the terms of this LICENSE, do not download the SOFTWARE.
|
||||
|
||||
RECITALS
|
||||
|
||||
Use of NVIDIA's products requires three elements: the SOFTWARE, the hardware
|
||||
on a graphics controller board, and a personal computer. The SOFTWARE is
|
||||
protected by copyright laws and international copyright treaties, as well as
|
||||
other intellectual property laws and treaties. The SOFTWARE is not sold, and
|
||||
instead is only licensed for use, strictly in accordance with this document.
|
||||
The hardware is protected by various patents, and is sold, but this agreement
|
||||
does not cover that sale, since it may not necessarily be sold as a package
|
||||
with the SOFTWARE. This agreement sets forth the terms and conditions of the
|
||||
SOFTWARE LICENSE only.
|
||||
|
||||
1. DEFINITIONS
|
||||
|
||||
1.1 Customer. Customer means the entity or individual that downloads the
|
||||
SOFTWARE.
|
||||
|
||||
2. GRANT OF LICENSE
|
||||
|
||||
2.1 Rights and Limitations of Grant. NVIDIA hereby grants Customer the
|
||||
following non-exclusive, worldwide, royalty-free, non-transferable right
|
||||
to use the SOFTWARE, with the following limitations:
|
||||
|
||||
2.1.1 Rights. Customer may use, reproduce, distribute, publicly display
|
||||
and publicly perform the SOFTWARE.
|
||||
|
||||
2.1.2 Limitations.
|
||||
|
||||
No Reverse Engineering. Customer may not reverse engineer, decompile, or
|
||||
disassemble the SOFTWARE, nor attempt in any other manner to obtain the
|
||||
source code.
|
||||
|
||||
No Modification. The SOFTWARE may be redistributed providing that distributed
|
||||
Cg compiler and runtime binaries are unmodified, except for decompression and
|
||||
compression.
|
||||
|
||||
No Rental. Customer may not rent or lease the SOFTWARE to someone else.
|
||||
|
||||
No Support. NVIDIA will not be responsible for providing maintenance and
|
||||
support to Customer or any other end users for the Software distributed by
|
||||
Customer or others.
|
||||
|
||||
3. TERMINATION
|
||||
|
||||
This LICENSE will automatically terminate if Customer fails to comply with
|
||||
any of the terms and conditions hereof. In such event, Customer must destroy
|
||||
all copies of the SOFTWARE and all of its component parts.
|
||||
|
||||
4. COPYRIGHT
|
||||
|
||||
All title and copyrights in and to the SOFTWARE (including but not limited to
|
||||
all images, photographs, animations, video, audio, music, text, and other
|
||||
information incorporated into the SOFTWARE), the accompanying printed
|
||||
materials, and any copies of the SOFTWARE, are owned by NVIDIA, or its
|
||||
suppliers. The SOFTWARE is protected by copyright laws and international
|
||||
treaty provisions. Accordingly, Customer is required to treat the SOFTWARE
|
||||
like any other copyrighted material.
|
||||
|
||||
Customer agrees that the Software is proprietary information of NVIDIA and
|
||||
that NVIDIA owns all right, title and interest therein. There are no implied
|
||||
licenses under this License, and any rights not expressly granted are reserved
|
||||
by NVIDIA. The Software is not sold, and instead is only licensed for use,
|
||||
strictly in accordance with this License. All copies of the Software shall
|
||||
contain NVIDIA<49>s proprietary rights notices as provided therein. Customer
|
||||
shall not remove or modify any such proprietary rights notices of NVIDIA. This
|
||||
License will automatically terminate if Customer fails to comply with any of
|
||||
the terms and conditions hereof. In such event, Customer must cease
|
||||
reproducing, distributing, or otherwise using the Software and destroy all
|
||||
copies thereof.
|
||||
|
||||
5. APPLICABLE LAW
|
||||
|
||||
This agreement shall be deemed to have been made in, and shall be construed
|
||||
pursuant to, the laws of the State of Delaware. Any suit or controversy
|
||||
arising hereunder shall be brought in the federal or state courts located in
|
||||
Santa Clara County, California, and each party submits to the venue and
|
||||
jurisdiction thereof.
|
||||
|
||||
6. DISCLAIMER OF WARRANTIES AND LIMITATION ON LIABILITY
|
||||
|
||||
6.1 No Warranties. TO THE MAXIMUM EXTENT PERMITTED BY
|
||||
APPLICABLE LAW, THE SOFTWARE IS PROVIDED "AS IS" AND NVIDIA
|
||||
AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
PURPOSE AND NONINFRINGEMENT.
|
||||
|
||||
6.2 No Liability for Consequential Damages. TO THE MAXIMUM
|
||||
EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL
|
||||
NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY SPECIAL,
|
||||
INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER
|
||||
(INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
|
||||
BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS
|
||||
INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF
|
||||
THE USE OF OR INABILITY TO USE THE SOFTWARE, EVEN IF NVIDIA
|
||||
HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THESE
|
||||
LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF
|
||||
ESSENTIAL PURPOSE OF ANY LIMITED REMEDY. NVIDIA SHALL HAVE
|
||||
NO CONTRACTUAL OBLIGATION TO INDEMNIFY CUSTOMER UNDER
|
||||
THIS LICENSE. CUSTOMER AND/OR END-USERS OF THE SOFTWARE
|
||||
DISTRIBUTED BY CUSTOMER ASSUME THE ENTIRE COST OF ANY
|
||||
DAMAGE, LOSS, OR EXPENSE RESULTING FROM THEIR USE OR
|
||||
EXPLOITATION OF THE SOFTWARE.
|
||||
|
||||
7. MISCELLANEOUS
|
||||
|
||||
The United Nations Convention on Contracts for the International Sale of
|
||||
Goods is specifically disclaimed. This agreement is the final, complete
|
||||
and exclusive agreement between the parties relating to the subject matter
|
||||
hereof, and supersedes all prior or contemporaneous understandings and
|
||||
agreements relating to such subject matter, whether oral or written.
|
||||
Customer agrees that it will not ship, transfer or export the SOFTWARE
|
||||
into any country, or use the SOFTWARE in any manner, prohibited by the
|
||||
United States Bureau of Export Administration or any export laws,
|
||||
restrictions or regulations.
|
||||
|
||||
If any provision of this License is held to be invalid or unenforceable
|
||||
for any reason, the remaining provisions will continue in full force
|
||||
without being impaired or invalidated in any way.
|
||||
|
||||
No term or provisions hereof shall be deemed waived, and no breach excused,
|
||||
unless such waiver or consent is in writing and signed by the party claimed
|
||||
to have waived or consented. The waiver by either party of a breach of any
|
||||
provision of this License will not operate or be interpreted as a waiver of
|
||||
any other or subsequent breach.
|
||||
|
||||
This License may be changed only by mutual agreement in writing of the
|
||||
authorized representatives of the parties.
|
||||
758
kaplademo/externals/cg/2.2/include/Cg/cg.h
vendored
Normal file
@ -0,0 +1,758 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002-2010, NVIDIA Corporation.
|
||||
*
|
||||
*
|
||||
*
|
||||
* NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
|
||||
* of your agreement to the following terms, and your use, installation,
|
||||
* modification or redistribution of this NVIDIA software constitutes
|
||||
* acceptance of these terms. If you do not agree with these terms, please do
|
||||
* not use, install, modify or redistribute this NVIDIA software.
|
||||
*
|
||||
*
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and
|
||||
* subject to these terms, NVIDIA grants you a personal, non-exclusive license,
|
||||
* under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
|
||||
* Software"), to use, reproduce, modify and redistribute the NVIDIA
|
||||
* Software, with or without modifications, in source and/or binary forms;
|
||||
* provided that if you redistribute the NVIDIA Software, you must retain the
|
||||
* copyright notice of NVIDIA, this notice and the following text and
|
||||
* disclaimers in all such redistributions of the NVIDIA Software. Neither the
|
||||
* name, trademarks, service marks nor logos of NVIDIA Corporation may be used
|
||||
* to endorse or promote products derived from the NVIDIA Software without
|
||||
* specific prior written permission from NVIDIA. Except as expressly stated
|
||||
* in this notice, no other rights or licenses express or implied, are granted
|
||||
* by NVIDIA herein, including but not limited to any patent rights that may be
|
||||
* infringed by your derivative works or by other works in which the NVIDIA
|
||||
* Software may be incorporated. No hardware is licensed hereunder.
|
||||
*
|
||||
*
|
||||
*
|
||||
* THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
|
||||
* WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
|
||||
* EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
|
||||
*
|
||||
*
|
||||
*
|
||||
* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
|
||||
* EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
|
||||
* PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
|
||||
* HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
|
||||
* NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _cg_h
|
||||
#define _cg_h
|
||||
|
||||
/*************************************************************************/
|
||||
/*** CG Run-Time Library API ***/
|
||||
/*************************************************************************/
|
||||
|
||||
#define CG_VERSION_NUM 2200
|
||||
|
||||
#ifdef _WIN32
|
||||
# ifndef APIENTRY /* From Win32's <windef.h> */
|
||||
# define CG_APIENTRY_DEFINED
|
||||
# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) || defined(__LCC__)
|
||||
# define APIENTRY __stdcall
|
||||
# else
|
||||
# define APIENTRY
|
||||
# endif
|
||||
# endif
|
||||
# ifndef WINGDIAPI /* From Win32's <wingdi.h> and <winnt.h> */
|
||||
# define CG_WINGDIAPI_DEFINED
|
||||
# define WINGDIAPI __declspec(dllimport)
|
||||
# endif
|
||||
#endif /* _WIN32 */
|
||||
|
||||
/* Set up CG_API for Win32 dllexport or gcc visibility */
|
||||
|
||||
#ifndef CG_API
|
||||
# ifdef CG_EXPORTS
|
||||
# ifdef _WIN32
|
||||
# define CG_API __declspec(dllexport)
|
||||
# elif defined(__GNUC__) && __GNUC__>=4
|
||||
# define CG_API __attribute__ ((visibility("default")))
|
||||
# elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
|
||||
# define CG_API __global
|
||||
# else
|
||||
# define CG_API
|
||||
# endif
|
||||
# else
|
||||
# define CG_API
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CGENTRY
|
||||
# ifdef _WIN32
|
||||
# define CGENTRY __cdecl
|
||||
# else
|
||||
# define CGENTRY
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*************************************************************************/
|
||||
/*** Data types and enumerants ***/
|
||||
/*************************************************************************/
|
||||
|
||||
typedef int CGbool;
|
||||
|
||||
#define CG_FALSE ((CGbool)0)
|
||||
#define CG_TRUE ((CGbool)1)
|
||||
|
||||
typedef struct _CGcontext *CGcontext;
|
||||
typedef struct _CGprogram *CGprogram;
|
||||
typedef struct _CGparameter *CGparameter;
|
||||
typedef struct _CGobj *CGobj;
|
||||
typedef struct _CGbuffer *CGbuffer;
|
||||
typedef struct _CGeffect *CGeffect;
|
||||
typedef struct _CGtechnique *CGtechnique;
|
||||
typedef struct _CGpass *CGpass;
|
||||
typedef struct _CGstate *CGstate;
|
||||
typedef struct _CGstateassignment *CGstateassignment;
|
||||
typedef struct _CGannotation *CGannotation;
|
||||
typedef void *CGhandle;
|
||||
|
||||
|
||||
/*!!! PREPROCESS BEGIN */
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CG_UNKNOWN_TYPE,
|
||||
CG_STRUCT,
|
||||
CG_ARRAY,
|
||||
CG_TYPELESS_STRUCT,
|
||||
|
||||
CG_TYPE_START_ENUM = 1024,
|
||||
#define CG_DATATYPE_MACRO(name, compiler_name, enum_name, base_name, ncols, nrows, pc) \
|
||||
enum_name ,
|
||||
|
||||
#include <Cg/cg_datatypes.h>
|
||||
#undef CG_DATATYPE_MACRO
|
||||
|
||||
CG_TYPE_MAX
|
||||
} CGtype;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
# define CG_BINDLOCATION_MACRO(name,enum_name,compiler_name,\
|
||||
enum_int,addressable,param_type) \
|
||||
enum_name = enum_int,
|
||||
|
||||
#include <Cg/cg_bindlocations.h>
|
||||
|
||||
CG_UNDEFINED = 3256
|
||||
} CGresource;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CG_PROFILE_START = 6144,
|
||||
CG_PROFILE_UNKNOWN,
|
||||
|
||||
#define CG_PROFILE_MACRO(name, compiler_id, compiler_id_caps, compiler_opt,int_id,vertex_profile) \
|
||||
CG_PROFILE_##compiler_id_caps = int_id,
|
||||
#define CG_PROFILE_ALIAS(name, compiler_id, compiler_id_caps, compiler_opt,int_id,vertex_profile) \
|
||||
CG_PROFILE_MACRO(name, compiler_id, compiler_id_caps, compiler_opt,int_id,vertex_profile)
|
||||
|
||||
#include <Cg/cg_profiles.h>
|
||||
|
||||
CG_PROFILE_MAX = 7100
|
||||
} CGprofile;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
#define CG_ERROR_MACRO(code, enum_name, message) \
|
||||
enum_name = code,
|
||||
#include <Cg/cg_errors.h>
|
||||
|
||||
CG_ERROR_MAX
|
||||
} CGerror;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
#define CG_ENUM_MACRO(enum_name, enum_val) \
|
||||
enum_name = enum_val,
|
||||
#include <Cg/cg_enums.h>
|
||||
|
||||
CG_ENUM_MAX
|
||||
} CGenum;
|
||||
|
||||
/*!!! PREPROCESS END */
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CG_PARAMETERCLASS_UNKNOWN = 0,
|
||||
CG_PARAMETERCLASS_SCALAR,
|
||||
CG_PARAMETERCLASS_VECTOR,
|
||||
CG_PARAMETERCLASS_MATRIX,
|
||||
CG_PARAMETERCLASS_STRUCT,
|
||||
CG_PARAMETERCLASS_ARRAY,
|
||||
CG_PARAMETERCLASS_SAMPLER,
|
||||
CG_PARAMETERCLASS_OBJECT,
|
||||
|
||||
CG_PARAMETERCLASS_MAX
|
||||
} CGparameterclass;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CG_UNKNOWN_DOMAIN = 0,
|
||||
CG_FIRST_DOMAIN = 1,
|
||||
CG_VERTEX_DOMAIN = 1,
|
||||
CG_FRAGMENT_DOMAIN,
|
||||
CG_GEOMETRY_DOMAIN,
|
||||
CG_NUMBER_OF_DOMAINS,
|
||||
|
||||
CG_DOMAIN_MAX
|
||||
} CGdomain;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CG_MAP_READ = 0,
|
||||
CG_MAP_WRITE,
|
||||
CG_MAP_READ_WRITE,
|
||||
CG_MAP_WRITE_DISCARD,
|
||||
CG_MAP_WRITE_NO_OVERWRITE,
|
||||
|
||||
CG_MAP_MAX
|
||||
} CGbufferaccess;
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CG_BUFFER_USAGE_STREAM_DRAW = 0,
|
||||
CG_BUFFER_USAGE_STREAM_READ,
|
||||
CG_BUFFER_USAGE_STREAM_COPY,
|
||||
CG_BUFFER_USAGE_STATIC_DRAW,
|
||||
CG_BUFFER_USAGE_STATIC_READ,
|
||||
CG_BUFFER_USAGE_STATIC_COPY,
|
||||
CG_BUFFER_USAGE_DYNAMIC_DRAW,
|
||||
CG_BUFFER_USAGE_DYNAMIC_READ,
|
||||
CG_BUFFER_USAGE_DYNAMIC_COPY,
|
||||
|
||||
CG_BUFFER_USAGE_MAX
|
||||
} CGbufferusage;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef CGbool (CGENTRY * CGstatecallback)(CGstateassignment);
|
||||
typedef void (CGENTRY * CGerrorCallbackFunc)(void);
|
||||
typedef void (CGENTRY * CGerrorHandlerFunc)(CGcontext ctx, CGerror err, void *data);
|
||||
typedef void (CGENTRY * CGIncludeCallbackFunc)(CGcontext ctx, const char *filename);
|
||||
|
||||
/*************************************************************************/
|
||||
/*** Functions ***/
|
||||
/*************************************************************************/
|
||||
|
||||
#ifndef CG_EXPLICIT
|
||||
|
||||
/*** Library policy functions ***/
|
||||
|
||||
CG_API CGenum CGENTRY cgSetLockingPolicy(CGenum lockingPolicy);
|
||||
CG_API CGenum CGENTRY cgGetLockingPolicy(void);
|
||||
CG_API CGenum CGENTRY cgSetSemanticCasePolicy(CGenum casePolicy);
|
||||
CG_API CGenum CGENTRY cgGetSemanticCasePolicy(void);
|
||||
|
||||
/*** Context functions ***/
|
||||
|
||||
CG_API CGcontext CGENTRY cgCreateContext(void);
|
||||
CG_API void CGENTRY cgDestroyContext(CGcontext ctx);
|
||||
CG_API CGbool CGENTRY cgIsContext(CGcontext ctx);
|
||||
CG_API const char * CGENTRY cgGetLastListing(CGcontext ctx);
|
||||
CG_API void CGENTRY cgSetLastListing(CGhandle handle, const char *listing);
|
||||
CG_API void CGENTRY cgSetAutoCompile(CGcontext ctx, CGenum flag);
|
||||
CG_API CGenum CGENTRY cgGetAutoCompile(CGcontext ctx);
|
||||
CG_API void CGENTRY cgSetParameterSettingMode(CGcontext ctx, CGenum parameterSettingMode);
|
||||
CG_API CGenum CGENTRY cgGetParameterSettingMode(CGcontext ctx);
|
||||
|
||||
/*** Inclusion ***/
|
||||
|
||||
CG_API void CGENTRY cgSetCompilerIncludeString(CGcontext ctx, const char *name, const char *source);
|
||||
CG_API void CGENTRY cgSetCompilerIncludeFile(CGcontext ctx, const char *name, const char *filename);
|
||||
CG_API void CGENTRY cgSetCompilerIncludeCallback(CGcontext ctx, CGIncludeCallbackFunc func);
|
||||
CG_API CGIncludeCallbackFunc CGENTRY cgGetCompilerIncludeCallback(CGcontext ctx);
|
||||
|
||||
/*** Program functions ***/
|
||||
|
||||
CG_API CGprogram CGENTRY cgCreateProgram(CGcontext ctx,
|
||||
CGenum program_type,
|
||||
const char *program,
|
||||
CGprofile profile,
|
||||
const char *entry,
|
||||
const char **args);
|
||||
CG_API CGprogram CGENTRY cgCreateProgramFromFile(CGcontext ctx,
|
||||
CGenum program_type,
|
||||
const char *program_file,
|
||||
CGprofile profile,
|
||||
const char *entry,
|
||||
const char **args);
|
||||
CG_API CGprogram CGENTRY cgCopyProgram(CGprogram program);
|
||||
CG_API void CGENTRY cgDestroyProgram(CGprogram program);
|
||||
|
||||
CG_API CGprogram CGENTRY cgGetFirstProgram(CGcontext ctx);
|
||||
CG_API CGprogram CGENTRY cgGetNextProgram(CGprogram current);
|
||||
CG_API CGcontext CGENTRY cgGetProgramContext(CGprogram prog);
|
||||
CG_API CGbool CGENTRY cgIsProgram(CGprogram program);
|
||||
|
||||
CG_API void CGENTRY cgCompileProgram(CGprogram program);
|
||||
CG_API CGbool CGENTRY cgIsProgramCompiled(CGprogram program);
|
||||
CG_API const char * CGENTRY cgGetProgramString(CGprogram prog, CGenum pname);
|
||||
CG_API CGprofile CGENTRY cgGetProgramProfile(CGprogram prog);
|
||||
CG_API char const * const * CGENTRY cgGetProgramOptions(CGprogram prog);
|
||||
CG_API void CGENTRY cgSetProgramProfile(CGprogram prog, CGprofile profile);
|
||||
CG_API CGenum CGENTRY cgGetProgramInput(CGprogram program);
|
||||
CG_API CGenum CGENTRY cgGetProgramOutput(CGprogram program);
|
||||
CG_API void CGENTRY cgSetPassProgramParameters(CGprogram);
|
||||
CG_API void CGENTRY cgUpdateProgramParameters(CGprogram program);
|
||||
CG_API void CGENTRY cgUpdatePassParameters(CGpass pass);
|
||||
|
||||
/*** Parameter functions ***/
|
||||
|
||||
CG_API CGparameter CGENTRY cgCreateParameter(CGcontext ctx, CGtype type);
|
||||
CG_API CGparameter CGENTRY cgCreateParameterArray(CGcontext ctx,
|
||||
CGtype type,
|
||||
int length);
|
||||
CG_API CGparameter CGENTRY cgCreateParameterMultiDimArray(CGcontext ctx,
|
||||
CGtype type,
|
||||
int dim,
|
||||
const int *lengths);
|
||||
CG_API void CGENTRY cgDestroyParameter(CGparameter param);
|
||||
CG_API void CGENTRY cgConnectParameter(CGparameter from, CGparameter to);
|
||||
CG_API void CGENTRY cgDisconnectParameter(CGparameter param);
|
||||
CG_API CGparameter CGENTRY cgGetConnectedParameter(CGparameter param);
|
||||
|
||||
CG_API int CGENTRY cgGetNumConnectedToParameters(CGparameter param);
|
||||
CG_API CGparameter CGENTRY cgGetConnectedToParameter(CGparameter param, int index);
|
||||
|
||||
CG_API CGparameter CGENTRY cgGetNamedParameter(CGprogram prog, const char *name);
|
||||
CG_API CGparameter CGENTRY cgGetNamedProgramParameter(CGprogram prog,
|
||||
CGenum name_space,
|
||||
const char *name);
|
||||
|
||||
CG_API CGparameter CGENTRY cgGetFirstParameter(CGprogram prog, CGenum name_space);
|
||||
CG_API CGparameter CGENTRY cgGetNextParameter(CGparameter current);
|
||||
CG_API CGparameter CGENTRY cgGetFirstLeafParameter(CGprogram prog, CGenum name_space);
|
||||
CG_API CGparameter CGENTRY cgGetNextLeafParameter(CGparameter current);
|
||||
|
||||
CG_API CGparameter CGENTRY cgGetFirstStructParameter(CGparameter param);
|
||||
CG_API CGparameter CGENTRY cgGetNamedStructParameter(CGparameter param,
|
||||
const char *name);
|
||||
|
||||
CG_API CGparameter CGENTRY cgGetFirstDependentParameter(CGparameter param);
|
||||
|
||||
CG_API CGparameter CGENTRY cgGetArrayParameter(CGparameter aparam, int index);
|
||||
CG_API int CGENTRY cgGetArrayDimension(CGparameter param);
|
||||
CG_API CGtype CGENTRY cgGetArrayType(CGparameter param);
|
||||
CG_API int CGENTRY cgGetArraySize(CGparameter param, int dimension);
|
||||
CG_API int CGENTRY cgGetArrayTotalSize(CGparameter param);
|
||||
CG_API void CGENTRY cgSetArraySize(CGparameter param, int size);
|
||||
CG_API void CGENTRY cgSetMultiDimArraySize(CGparameter param, const int *sizes);
|
||||
|
||||
CG_API CGprogram CGENTRY cgGetParameterProgram(CGparameter param);
|
||||
CG_API CGcontext CGENTRY cgGetParameterContext(CGparameter param);
|
||||
CG_API CGbool CGENTRY cgIsParameter(CGparameter param);
|
||||
CG_API const char * CGENTRY cgGetParameterName(CGparameter param);
|
||||
CG_API CGtype CGENTRY cgGetParameterType(CGparameter param);
|
||||
CG_API CGtype CGENTRY cgGetParameterBaseType(CGparameter param);
|
||||
CG_API CGparameterclass CGENTRY cgGetParameterClass(CGparameter param);
|
||||
CG_API int CGENTRY cgGetParameterRows(CGparameter param);
|
||||
CG_API int CGENTRY cgGetParameterColumns(CGparameter param);
|
||||
CG_API CGtype CGENTRY cgGetParameterNamedType(CGparameter param);
|
||||
CG_API const char * CGENTRY cgGetParameterSemantic(CGparameter param);
|
||||
CG_API CGresource CGENTRY cgGetParameterResource(CGparameter param);
|
||||
CG_API CGresource CGENTRY cgGetParameterBaseResource(CGparameter param);
|
||||
CG_API unsigned long CGENTRY cgGetParameterResourceIndex(CGparameter param);
|
||||
CG_API CGenum CGENTRY cgGetParameterVariability(CGparameter param);
|
||||
CG_API CGenum CGENTRY cgGetParameterDirection(CGparameter param);
|
||||
CG_API CGbool CGENTRY cgIsParameterReferenced(CGparameter param);
|
||||
CG_API CGbool CGENTRY cgIsParameterUsed(CGparameter param, CGhandle handle);
|
||||
CG_API const double * CGENTRY cgGetParameterValues(CGparameter param,
|
||||
CGenum value_type,
|
||||
int *nvalues);
|
||||
CG_API void CGENTRY cgSetParameterValuedr(CGparameter param, int n, const double *vals);
|
||||
CG_API void CGENTRY cgSetParameterValuedc(CGparameter param, int n, const double *vals);
|
||||
CG_API void CGENTRY cgSetParameterValuefr(CGparameter param, int n, const float *vals);
|
||||
CG_API void CGENTRY cgSetParameterValuefc(CGparameter param, int n, const float *vals);
|
||||
CG_API void CGENTRY cgSetParameterValueir(CGparameter param, int n, const int *vals);
|
||||
CG_API void CGENTRY cgSetParameterValueic(CGparameter param, int n, const int *vals);
|
||||
CG_API int CGENTRY cgGetParameterValuedr(CGparameter param, int n, double *vals);
|
||||
CG_API int CGENTRY cgGetParameterValuedc(CGparameter param, int n, double *vals);
|
||||
CG_API int CGENTRY cgGetParameterValuefr(CGparameter param, int n, float *vals);
|
||||
CG_API int CGENTRY cgGetParameterValuefc(CGparameter param, int n, float *vals);
|
||||
CG_API int CGENTRY cgGetParameterValueir(CGparameter param, int n, int *vals);
|
||||
CG_API int CGENTRY cgGetParameterValueic(CGparameter param, int n, int *vals);
|
||||
CG_API int CGENTRY cgGetParameterDefaultValuedr(CGparameter param, int n, double *vals);
|
||||
CG_API int CGENTRY cgGetParameterDefaultValuedc(CGparameter param, int n, double *vals);
|
||||
CG_API int CGENTRY cgGetParameterDefaultValuefr(CGparameter param, int n, float *vals);
|
||||
CG_API int CGENTRY cgGetParameterDefaultValuefc(CGparameter param, int n, float *vals);
|
||||
CG_API int CGENTRY cgGetParameterDefaultValueir(CGparameter param, int n, int *vals);
|
||||
CG_API int CGENTRY cgGetParameterDefaultValueic(CGparameter param, int n, int *vals);
|
||||
CG_API const char * CGENTRY cgGetStringParameterValue(CGparameter param);
|
||||
CG_API void CGENTRY cgSetStringParameterValue(CGparameter param, const char *str);
|
||||
|
||||
CG_API int CGENTRY cgGetParameterOrdinalNumber(CGparameter param);
|
||||
CG_API CGbool CGENTRY cgIsParameterGlobal(CGparameter param);
|
||||
CG_API int CGENTRY cgGetParameterIndex(CGparameter param);
|
||||
|
||||
CG_API void CGENTRY cgSetParameterVariability(CGparameter param, CGenum vary);
|
||||
CG_API void CGENTRY cgSetParameterSemantic(CGparameter param, const char *semantic);
|
||||
|
||||
CG_API void CGENTRY cgSetParameter1f(CGparameter param, float x);
|
||||
CG_API void CGENTRY cgSetParameter2f(CGparameter param, float x, float y);
|
||||
CG_API void CGENTRY cgSetParameter3f(CGparameter param, float x, float y, float z);
|
||||
CG_API void CGENTRY cgSetParameter4f(CGparameter param,
|
||||
float x,
|
||||
float y,
|
||||
float z,
|
||||
float w);
|
||||
CG_API void CGENTRY cgSetParameter1d(CGparameter param, double x);
|
||||
CG_API void CGENTRY cgSetParameter2d(CGparameter param, double x, double y);
|
||||
CG_API void CGENTRY cgSetParameter3d(CGparameter param,
|
||||
double x,
|
||||
double y,
|
||||
double z);
|
||||
CG_API void CGENTRY cgSetParameter4d(CGparameter param,
|
||||
double x,
|
||||
double y,
|
||||
double z,
|
||||
double w);
|
||||
CG_API void CGENTRY cgSetParameter1i(CGparameter param, int x);
|
||||
CG_API void CGENTRY cgSetParameter2i(CGparameter param, int x, int y);
|
||||
CG_API void CGENTRY cgSetParameter3i(CGparameter param, int x, int y, int z);
|
||||
CG_API void CGENTRY cgSetParameter4i(CGparameter param,
|
||||
int x,
|
||||
int y,
|
||||
int z,
|
||||
int w);
|
||||
|
||||
CG_API void CGENTRY cgSetParameter1iv(CGparameter param, const int *v);
|
||||
CG_API void CGENTRY cgSetParameter2iv(CGparameter param, const int *v);
|
||||
CG_API void CGENTRY cgSetParameter3iv(CGparameter param, const int *v);
|
||||
CG_API void CGENTRY cgSetParameter4iv(CGparameter param, const int *v);
|
||||
CG_API void CGENTRY cgSetParameter1fv(CGparameter param, const float *v);
|
||||
CG_API void CGENTRY cgSetParameter2fv(CGparameter param, const float *v);
|
||||
CG_API void CGENTRY cgSetParameter3fv(CGparameter param, const float *v);
|
||||
CG_API void CGENTRY cgSetParameter4fv(CGparameter param, const float *v);
|
||||
CG_API void CGENTRY cgSetParameter1dv(CGparameter param, const double *v);
|
||||
CG_API void CGENTRY cgSetParameter2dv(CGparameter param, const double *v);
|
||||
CG_API void CGENTRY cgSetParameter3dv(CGparameter param, const double *v);
|
||||
CG_API void CGENTRY cgSetParameter4dv(CGparameter param, const double *v);
|
||||
|
||||
CG_API void CGENTRY cgSetMatrixParameterir(CGparameter param, const int *matrix);
|
||||
CG_API void CGENTRY cgSetMatrixParameterdr(CGparameter param, const double *matrix);
|
||||
CG_API void CGENTRY cgSetMatrixParameterfr(CGparameter param, const float *matrix);
|
||||
CG_API void CGENTRY cgSetMatrixParameteric(CGparameter param, const int *matrix);
|
||||
CG_API void CGENTRY cgSetMatrixParameterdc(CGparameter param, const double *matrix);
|
||||
CG_API void CGENTRY cgSetMatrixParameterfc(CGparameter param, const float *matrix);
|
||||
|
||||
CG_API void CGENTRY cgGetMatrixParameterir(CGparameter param, int *matrix);
|
||||
CG_API void CGENTRY cgGetMatrixParameterdr(CGparameter param, double *matrix);
|
||||
CG_API void CGENTRY cgGetMatrixParameterfr(CGparameter param, float *matrix);
|
||||
CG_API void CGENTRY cgGetMatrixParameteric(CGparameter param, int *matrix);
|
||||
CG_API void CGENTRY cgGetMatrixParameterdc(CGparameter param, double *matrix);
|
||||
CG_API void CGENTRY cgGetMatrixParameterfc(CGparameter param, float *matrix);
|
||||
|
||||
CG_API CGenum CGENTRY cgGetMatrixParameterOrder(CGparameter param);
|
||||
|
||||
CG_API CGparameter CGENTRY cgGetNamedSubParameter(CGparameter param, const char *name);
|
||||
|
||||
/*** Type Functions ***/
|
||||
|
||||
CG_API const char * CGENTRY cgGetTypeString(CGtype type);
|
||||
CG_API CGtype CGENTRY cgGetType(const char *type_string);
|
||||
|
||||
CG_API CGtype CGENTRY cgGetNamedUserType(CGhandle handle, const char *name);
|
||||
|
||||
CG_API int CGENTRY cgGetNumUserTypes(CGhandle handle);
|
||||
CG_API CGtype CGENTRY cgGetUserType(CGhandle handle, int index);
|
||||
|
||||
CG_API int CGENTRY cgGetNumParentTypes(CGtype type);
|
||||
CG_API CGtype CGENTRY cgGetParentType(CGtype type, int index);
|
||||
|
||||
CG_API CGbool CGENTRY cgIsParentType(CGtype parent, CGtype child);
|
||||
CG_API CGbool CGENTRY cgIsInterfaceType(CGtype type);
|
||||
|
||||
/*** Resource Functions ***/
|
||||
|
||||
CG_API const char * CGENTRY cgGetResourceString(CGresource resource);
|
||||
CG_API CGresource CGENTRY cgGetResource(const char *resource_string);
|
||||
|
||||
/*** Enum Functions ***/
|
||||
|
||||
CG_API const char * CGENTRY cgGetEnumString(CGenum en);
|
||||
CG_API CGenum CGENTRY cgGetEnum(const char *enum_string);
|
||||
|
||||
/*** Profile Functions ***/
|
||||
|
||||
CG_API const char * CGENTRY cgGetProfileString(CGprofile profile);
|
||||
CG_API CGprofile CGENTRY cgGetProfile(const char *profile_string);
|
||||
CG_API int CGENTRY cgGetNumSupportedProfiles(void);
|
||||
CG_API CGprofile CGENTRY cgGetSupportedProfile(int index);
|
||||
CG_API CGbool CGENTRY cgIsProfileSupported(CGprofile profile);
|
||||
CG_API CGbool CGENTRY cgGetProfileProperty(CGprofile profile, CGenum query);
|
||||
|
||||
/*** ParameterClass Functions ***/
|
||||
|
||||
CG_API const char * CGENTRY cgGetParameterClassString(CGparameterclass pc);
|
||||
CG_API CGparameterclass CGENTRY cgGetParameterClassEnum(const char * pString);
|
||||
|
||||
/*** Domain Functions ***/
|
||||
|
||||
CG_API const char * CGENTRY cgGetDomainString(CGdomain domain);
|
||||
CG_API CGdomain CGENTRY cgGetDomain(const char *domain_string);
|
||||
CG_API CGdomain CGENTRY cgGetProgramDomain(CGprogram program);
|
||||
|
||||
/*** Error Functions ***/
|
||||
|
||||
CG_API CGerror CGENTRY cgGetError(void);
|
||||
CG_API CGerror CGENTRY cgGetFirstError(void);
|
||||
CG_API const char * CGENTRY cgGetErrorString(CGerror error);
|
||||
CG_API const char * CGENTRY cgGetLastErrorString(CGerror *error);
|
||||
CG_API void CGENTRY cgSetErrorCallback(CGerrorCallbackFunc func);
|
||||
CG_API CGerrorCallbackFunc CGENTRY cgGetErrorCallback(void);
|
||||
CG_API void CGENTRY cgSetErrorHandler(CGerrorHandlerFunc func, void *data);
|
||||
CG_API CGerrorHandlerFunc CGENTRY cgGetErrorHandler(void **data);
|
||||
|
||||
/*** Misc Functions ***/
|
||||
|
||||
CG_API const char * CGENTRY cgGetString(CGenum sname);
|
||||
|
||||
|
||||
/*** CgFX Functions ***/
|
||||
|
||||
CG_API CGeffect CGENTRY cgCreateEffect(CGcontext, const char *code, const char **args);
|
||||
CG_API CGeffect CGENTRY cgCreateEffectFromFile(CGcontext, const char *filename,
|
||||
const char **args);
|
||||
CG_API CGeffect CGENTRY cgCopyEffect(CGeffect effect);
|
||||
CG_API void CGENTRY cgDestroyEffect(CGeffect);
|
||||
CG_API CGcontext CGENTRY cgGetEffectContext(CGeffect);
|
||||
CG_API CGbool CGENTRY cgIsEffect(CGeffect effect);
|
||||
|
||||
CG_API CGeffect CGENTRY cgGetFirstEffect(CGcontext);
|
||||
CG_API CGeffect CGENTRY cgGetNextEffect(CGeffect);
|
||||
|
||||
CG_API CGprogram CGENTRY cgCreateProgramFromEffect(CGeffect effect,
|
||||
CGprofile profile,
|
||||
const char *entry,
|
||||
const char **args);
|
||||
|
||||
CG_API CGtechnique CGENTRY cgGetFirstTechnique(CGeffect);
|
||||
CG_API CGtechnique CGENTRY cgGetNextTechnique(CGtechnique);
|
||||
CG_API CGtechnique CGENTRY cgGetNamedTechnique(CGeffect, const char *name);
|
||||
CG_API const char * CGENTRY cgGetTechniqueName(CGtechnique);
|
||||
CG_API CGbool CGENTRY cgIsTechnique(CGtechnique);
|
||||
CG_API CGbool CGENTRY cgValidateTechnique(CGtechnique);
|
||||
CG_API CGbool CGENTRY cgIsTechniqueValidated(CGtechnique);
|
||||
CG_API CGeffect CGENTRY cgGetTechniqueEffect(CGtechnique);
|
||||
|
||||
CG_API CGpass CGENTRY cgGetFirstPass(CGtechnique);
|
||||
CG_API CGpass CGENTRY cgGetNamedPass(CGtechnique, const char *name);
|
||||
CG_API CGpass CGENTRY cgGetNextPass(CGpass);
|
||||
CG_API CGbool CGENTRY cgIsPass(CGpass);
|
||||
CG_API const char * CGENTRY cgGetPassName(CGpass);
|
||||
CG_API CGtechnique CGENTRY cgGetPassTechnique(CGpass);
|
||||
CG_API CGprogram CGENTRY cgGetPassProgram(CGpass pass, CGdomain domain);
|
||||
|
||||
CG_API void CGENTRY cgSetPassState(CGpass);
|
||||
CG_API void CGENTRY cgResetPassState(CGpass);
|
||||
|
||||
CG_API CGstateassignment CGENTRY cgGetFirstStateAssignment(CGpass);
|
||||
CG_API CGstateassignment CGENTRY cgGetNamedStateAssignment(CGpass, const char *name);
|
||||
CG_API CGstateassignment CGENTRY cgGetNextStateAssignment(CGstateassignment);
|
||||
CG_API CGbool CGENTRY cgIsStateAssignment(CGstateassignment);
|
||||
CG_API CGbool CGENTRY cgCallStateSetCallback(CGstateassignment);
|
||||
CG_API CGbool CGENTRY cgCallStateValidateCallback(CGstateassignment);
|
||||
CG_API CGbool CGENTRY cgCallStateResetCallback(CGstateassignment);
|
||||
CG_API CGpass CGENTRY cgGetStateAssignmentPass(CGstateassignment);
|
||||
CG_API CGparameter CGENTRY cgGetSamplerStateAssignmentParameter(CGstateassignment);
|
||||
|
||||
CG_API const float * CGENTRY cgGetFloatStateAssignmentValues(CGstateassignment, int *nVals);
|
||||
CG_API const int * CGENTRY cgGetIntStateAssignmentValues(CGstateassignment, int *nVals);
|
||||
CG_API const CGbool * CGENTRY cgGetBoolStateAssignmentValues(CGstateassignment, int *nVals);
|
||||
CG_API const char * CGENTRY cgGetStringStateAssignmentValue(CGstateassignment);
|
||||
CG_API CGprogram CGENTRY cgGetProgramStateAssignmentValue(CGstateassignment);
|
||||
CG_API CGparameter CGENTRY cgGetTextureStateAssignmentValue(CGstateassignment);
|
||||
CG_API CGparameter CGENTRY cgGetSamplerStateAssignmentValue(CGstateassignment);
|
||||
CG_API int CGENTRY cgGetStateAssignmentIndex(CGstateassignment);
|
||||
|
||||
CG_API int CGENTRY cgGetNumDependentStateAssignmentParameters(CGstateassignment);
|
||||
CG_API CGparameter CGENTRY cgGetDependentStateAssignmentParameter(CGstateassignment, int index);
|
||||
|
||||
CG_API CGparameter CGENTRY cgGetConnectedStateAssignmentParameter(CGstateassignment);
|
||||
|
||||
CG_API CGstate CGENTRY cgGetStateAssignmentState(CGstateassignment);
|
||||
CG_API CGstate CGENTRY cgGetSamplerStateAssignmentState(CGstateassignment);
|
||||
|
||||
CG_API CGstate CGENTRY cgCreateState(CGcontext, const char *name, CGtype);
|
||||
CG_API CGstate CGENTRY cgCreateArrayState(CGcontext, const char *name, CGtype, int nelems);
|
||||
CG_API void CGENTRY cgSetStateCallbacks(CGstate, CGstatecallback set, CGstatecallback reset,
|
||||
CGstatecallback validate);
|
||||
CG_API void CGENTRY cgSetStateLatestProfile(CGstate, CGprofile);
|
||||
CG_API CGstatecallback CGENTRY cgGetStateSetCallback(CGstate);
|
||||
CG_API CGstatecallback CGENTRY cgGetStateResetCallback(CGstate);
|
||||
CG_API CGstatecallback CGENTRY cgGetStateValidateCallback(CGstate);
|
||||
CG_API CGprofile CGENTRY cgGetStateLatestProfile(CGstate);
|
||||
CG_API CGcontext CGENTRY cgGetStateContext(CGstate);
|
||||
CG_API CGtype CGENTRY cgGetStateType(CGstate);
|
||||
CG_API const char * CGENTRY cgGetStateName(CGstate);
|
||||
CG_API CGstate CGENTRY cgGetNamedState(CGcontext, const char *name);
|
||||
CG_API CGstate CGENTRY cgGetFirstState(CGcontext);
|
||||
CG_API CGstate CGENTRY cgGetNextState(CGstate);
|
||||
CG_API CGbool CGENTRY cgIsState(CGstate);
|
||||
CG_API void CGENTRY cgAddStateEnumerant(CGstate, const char *name, int value);
|
||||
|
||||
CG_API CGstate CGENTRY cgCreateSamplerState(CGcontext, const char *name, CGtype);
|
||||
CG_API CGstate CGENTRY cgCreateArraySamplerState(CGcontext, const char *name, CGtype, int nelems);
|
||||
CG_API CGstate CGENTRY cgGetNamedSamplerState(CGcontext, const char *name);
|
||||
CG_API CGstate CGENTRY cgGetFirstSamplerState(CGcontext);
|
||||
|
||||
CG_API CGstateassignment CGENTRY cgGetFirstSamplerStateAssignment(CGparameter);
|
||||
CG_API CGstateassignment CGENTRY cgGetNamedSamplerStateAssignment(CGparameter, const char *);
|
||||
CG_API void CGENTRY cgSetSamplerState(CGparameter);
|
||||
|
||||
CG_API CGparameter CGENTRY cgGetNamedEffectParameter(CGeffect, const char *);
|
||||
CG_API CGparameter CGENTRY cgGetFirstLeafEffectParameter(CGeffect);
|
||||
CG_API CGparameter CGENTRY cgGetFirstEffectParameter(CGeffect);
|
||||
CG_API CGparameter CGENTRY cgGetEffectParameterBySemantic(CGeffect, const char *);
|
||||
|
||||
CG_API CGannotation CGENTRY cgGetFirstTechniqueAnnotation(CGtechnique);
|
||||
CG_API CGannotation CGENTRY cgGetFirstPassAnnotation(CGpass);
|
||||
CG_API CGannotation CGENTRY cgGetFirstParameterAnnotation(CGparameter);
|
||||
CG_API CGannotation CGENTRY cgGetFirstProgramAnnotation(CGprogram);
|
||||
CG_API CGannotation CGENTRY cgGetFirstEffectAnnotation(CGeffect);
|
||||
CG_API CGannotation CGENTRY cgGetNextAnnotation(CGannotation);
|
||||
|
||||
CG_API CGannotation CGENTRY cgGetNamedTechniqueAnnotation(CGtechnique, const char *);
|
||||
CG_API CGannotation CGENTRY cgGetNamedPassAnnotation(CGpass, const char *);
|
||||
CG_API CGannotation CGENTRY cgGetNamedParameterAnnotation(CGparameter, const char *);
|
||||
CG_API CGannotation CGENTRY cgGetNamedProgramAnnotation(CGprogram, const char *);
|
||||
CG_API CGannotation CGENTRY cgGetNamedEffectAnnotation(CGeffect, const char *);
|
||||
|
||||
CG_API CGbool CGENTRY cgIsAnnotation(CGannotation);
|
||||
|
||||
CG_API const char * CGENTRY cgGetAnnotationName(CGannotation);
|
||||
CG_API CGtype CGENTRY cgGetAnnotationType(CGannotation);
|
||||
|
||||
CG_API const float * CGENTRY cgGetFloatAnnotationValues(CGannotation, int *nvalues);
|
||||
CG_API const int * CGENTRY cgGetIntAnnotationValues(CGannotation, int *nvalues);
|
||||
CG_API const char * CGENTRY cgGetStringAnnotationValue(CGannotation);
|
||||
CG_API const char * const * CGENTRY cgGetStringAnnotationValues(CGannotation, int *nvalues);
|
||||
CG_API const CGbool * CGENTRY cgGetBoolAnnotationValues(CGannotation, int *nvalues);
|
||||
CG_API const int * CGENTRY cgGetBooleanAnnotationValues(CGannotation, int *nvalues);
|
||||
|
||||
CG_API int CGENTRY cgGetNumDependentAnnotationParameters(CGannotation);
|
||||
CG_API CGparameter CGENTRY cgGetDependentAnnotationParameter(CGannotation, int index);
|
||||
|
||||
CG_API void CGENTRY cgEvaluateProgram(CGprogram, float *, int ncomps, int nx, int ny, int nz);
|
||||
|
||||
/*** Cg 1.5 Additions ***/
|
||||
|
||||
CG_API CGbool CGENTRY cgSetEffectName(CGeffect, const char *name);
|
||||
CG_API const char * CGENTRY cgGetEffectName(CGeffect);
|
||||
CG_API CGeffect CGENTRY cgGetNamedEffect(CGcontext, const char *name);
|
||||
CG_API CGparameter CGENTRY cgCreateEffectParameter(CGeffect, const char *name, CGtype);
|
||||
|
||||
CG_API CGtechnique CGENTRY cgCreateTechnique(CGeffect, const char *name);
|
||||
|
||||
CG_API CGparameter CGENTRY cgCreateEffectParameterArray(CGeffect, const char *name, CGtype type, int length);
|
||||
CG_API CGparameter CGENTRY cgCreateEffectParameterMultiDimArray(CGeffect, const char *name, CGtype type, int dim, const int *lengths);
|
||||
|
||||
CG_API CGpass CGENTRY cgCreatePass(CGtechnique, const char *name);
|
||||
|
||||
CG_API CGstateassignment CGENTRY cgCreateStateAssignment(CGpass, CGstate);
|
||||
CG_API CGstateassignment CGENTRY cgCreateStateAssignmentIndex(CGpass, CGstate, int index);
|
||||
CG_API CGstateassignment CGENTRY cgCreateSamplerStateAssignment(CGparameter, CGstate);
|
||||
|
||||
CG_API CGbool CGENTRY cgSetFloatStateAssignment(CGstateassignment, float);
|
||||
CG_API CGbool CGENTRY cgSetIntStateAssignment(CGstateassignment, int);
|
||||
CG_API CGbool CGENTRY cgSetBoolStateAssignment(CGstateassignment, CGbool);
|
||||
CG_API CGbool CGENTRY cgSetStringStateAssignment(CGstateassignment, const char *);
|
||||
CG_API CGbool CGENTRY cgSetProgramStateAssignment(CGstateassignment, CGprogram);
|
||||
CG_API CGbool CGENTRY cgSetSamplerStateAssignment(CGstateassignment, CGparameter);
|
||||
CG_API CGbool CGENTRY cgSetTextureStateAssignment(CGstateassignment, CGparameter);
|
||||
|
||||
CG_API CGbool CGENTRY cgSetFloatArrayStateAssignment(CGstateassignment, const float *vals);
|
||||
CG_API CGbool CGENTRY cgSetIntArrayStateAssignment(CGstateassignment, const int *vals);
|
||||
CG_API CGbool CGENTRY cgSetBoolArrayStateAssignment(CGstateassignment, const CGbool *vals);
|
||||
|
||||
CG_API CGannotation CGENTRY cgCreateTechniqueAnnotation(CGtechnique, const char *name, CGtype);
|
||||
CG_API CGannotation CGENTRY cgCreatePassAnnotation(CGpass, const char *name, CGtype);
|
||||
CG_API CGannotation CGENTRY cgCreateParameterAnnotation(CGparameter, const char *name, CGtype);
|
||||
CG_API CGannotation CGENTRY cgCreateProgramAnnotation(CGprogram, const char *name, CGtype);
|
||||
CG_API CGannotation CGENTRY cgCreateEffectAnnotation(CGeffect, const char *name, CGtype);
|
||||
|
||||
CG_API CGbool CGENTRY cgSetIntAnnotation(CGannotation, int value);
|
||||
CG_API CGbool CGENTRY cgSetFloatAnnotation(CGannotation, float value);
|
||||
CG_API CGbool CGENTRY cgSetBoolAnnotation(CGannotation, CGbool value);
|
||||
CG_API CGbool CGENTRY cgSetStringAnnotation(CGannotation, const char *value);
|
||||
|
||||
CG_API int CGENTRY cgGetNumStateEnumerants(CGstate);
|
||||
CG_API const char * CGENTRY cgGetStateEnumerant(CGstate, int index, int* value);
|
||||
CG_API const char * CGENTRY cgGetStateEnumerantName(CGstate, int value);
|
||||
CG_API int CGENTRY cgGetStateEnumerantValue(CGstate, const char *name);
|
||||
|
||||
CG_API CGeffect CGENTRY cgGetParameterEffect(CGparameter param);
|
||||
|
||||
CG_API CGparameterclass CGENTRY cgGetTypeClass(CGtype type);
|
||||
CG_API CGtype CGENTRY cgGetTypeBase(CGtype type);
|
||||
CG_API CGbool CGENTRY cgGetTypeSizes(CGtype type, int *nrows, int *ncols);
|
||||
CG_API void CGENTRY cgGetMatrixSize(CGtype type, int *nrows, int *ncols);
|
||||
|
||||
CG_API int CGENTRY cgGetNumProgramDomains( CGprogram program );
|
||||
CG_API CGdomain CGENTRY cgGetProfileDomain( CGprofile profile );
|
||||
CG_API CGprogram CGENTRY cgCombinePrograms( int n, const CGprogram *exeList );
|
||||
CG_API CGprogram CGENTRY cgCombinePrograms2( const CGprogram exe1, const CGprogram exe2 );
|
||||
CG_API CGprogram CGENTRY cgCombinePrograms3( const CGprogram exe1, const CGprogram exe2, const CGprogram exe3 );
|
||||
CG_API CGprofile CGENTRY cgGetProgramDomainProfile(CGprogram program, int index);
|
||||
CG_API CGprogram CGENTRY cgGetProgramDomainProgram(CGprogram program, int index);
|
||||
|
||||
/*** CGobj Functions ***/
|
||||
CG_API CGobj CGENTRY cgCreateObj( CGcontext context, CGenum program_type, const char *source, CGprofile profile, const char **args );
|
||||
CG_API CGobj CGENTRY cgCreateObjFromFile( CGcontext context, CGenum program_type, const char *source_file, CGprofile profile, const char **args );
|
||||
CG_API void CGENTRY cgDestroyObj( CGobj obj );
|
||||
|
||||
CG_API long CGENTRY cgGetParameterResourceSize(CGparameter);
|
||||
CG_API CGtype CGENTRY cgGetParameterResourceType(CGparameter);
|
||||
CG_API const char* CGENTRY cgGetParameterResourceName(CGparameter param);
|
||||
CG_API int CGENTRY cgGetParameterBufferIndex(CGparameter);
|
||||
CG_API int CGENTRY cgGetParameterBufferOffset(CGparameter);
|
||||
|
||||
CG_API CGbuffer CGENTRY cgCreateBuffer(CGcontext, int size, const void *data, CGbufferusage bufferUsage);
|
||||
CG_API void CGENTRY cgSetBufferData(CGbuffer, int size, const void *data);
|
||||
CG_API void CGENTRY cgSetBufferSubData(CGbuffer, int offset, int size, const void *data);
|
||||
CG_API void CGENTRY cgSetProgramBuffer(CGprogram program, int bufferIndex, CGbuffer buffer);
|
||||
|
||||
CG_API void * CGENTRY cgMapBuffer(CGbuffer buffer, CGbufferaccess access);
|
||||
CG_API void CGENTRY cgUnmapBuffer(CGbuffer buffer);
|
||||
CG_API void CGENTRY cgDestroyBuffer(CGbuffer buffer);
|
||||
CG_API CGbuffer CGENTRY cgGetProgramBuffer(CGprogram, int bufferIndex);
|
||||
CG_API int CGENTRY cgGetBufferSize(CGbuffer);
|
||||
CG_API int CGENTRY cgGetProgramBufferMaxSize(CGprofile profile);
|
||||
CG_API int CGENTRY cgGetProgramBufferMaxIndex(CGprofile profile);
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CG_APIENTRY_DEFINED
|
||||
# undef CG_APIENTRY_DEFINED
|
||||
# undef APIENTRY
|
||||
#endif
|
||||
|
||||
#ifdef CG_WINGDIAPI_DEFINED
|
||||
# undef CG_WINGDIAPI_DEFINED
|
||||
# undef WINGDIAPI
|
||||
#endif
|
||||
|
||||
#endif
|
||||
238
kaplademo/externals/cg/2.2/include/Cg/cgD3D10.h
vendored
Normal file
@ -0,0 +1,238 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2008-2010, NVIDIA Corporation.
|
||||
*
|
||||
*
|
||||
*
|
||||
* NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
|
||||
* of your agreement to the following terms, and your use, installation,
|
||||
* modification or redistribution of this NVIDIA software constitutes
|
||||
* acceptance of these terms. If you do not agree with these terms, please do
|
||||
* not use, install, modify or redistribute this NVIDIA software.
|
||||
*
|
||||
*
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and
|
||||
* subject to these terms, NVIDIA grants you a personal, non-exclusive license,
|
||||
* under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
|
||||
* Software"), to use, reproduce, modify and redistribute the NVIDIA
|
||||
* Software, with or without modifications, in source and/or binary forms;
|
||||
* provided that if you redistribute the NVIDIA Software, you must retain the
|
||||
* copyright notice of NVIDIA, this notice and the following text and
|
||||
* disclaimers in all such redistributions of the NVIDIA Software. Neither the
|
||||
* name, trademarks, service marks nor logos of NVIDIA Corporation may be used
|
||||
* to endorse or promote products derived from the NVIDIA Software without
|
||||
* specific prior written permission from NVIDIA. Except as expressly stated
|
||||
* in this notice, no other rights or licenses express or implied, are granted
|
||||
* by NVIDIA herein, including but not limited to any patent rights that may be
|
||||
* infringed by your derivative works or by other works in which the NVIDIA
|
||||
* Software may be incorporated. No hardware is licensed hereunder.
|
||||
*
|
||||
*
|
||||
*
|
||||
* THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
|
||||
* WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
|
||||
* EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
|
||||
*
|
||||
*
|
||||
*
|
||||
* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
|
||||
* EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
|
||||
* PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
|
||||
* HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
|
||||
* NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __CGD3D10_H__
|
||||
#define __CGD3D10_H__
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <windows.h>
|
||||
#include <d3d10.h>
|
||||
|
||||
#include "Cg/cg.h"
|
||||
|
||||
|
||||
|
||||
// Set up for either Win32 import/export/lib.
|
||||
#ifdef CGD3D10DLL_EXPORTS
|
||||
#define CGD3D10DLL_API __declspec(dllexport)
|
||||
#elif defined (CG_LIB)
|
||||
#define CGD3D10DLL_API
|
||||
#else
|
||||
#define CGD3D10DLL_API __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
#ifndef CGD3D10ENTRY
|
||||
# ifdef _WIN32
|
||||
# define CGD3D10ENTRY __cdecl
|
||||
# else
|
||||
# define CGD3D10ENTRY
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#ifndef CGD3D10_EXPLICIT
|
||||
|
||||
/* ----- D3D Device Control ----- */
|
||||
|
||||
CGD3D10DLL_API ID3D10Device * CGD3D10ENTRY
|
||||
cgD3D10GetDevice(
|
||||
CGcontext Context
|
||||
);
|
||||
|
||||
CGD3D10DLL_API HRESULT CGD3D10ENTRY
|
||||
cgD3D10SetDevice(
|
||||
CGcontext Context,
|
||||
ID3D10Device * pDevice
|
||||
);
|
||||
|
||||
/* ----- Texture Functions ----- */
|
||||
|
||||
CGD3D10DLL_API void CGD3D10ENTRY
|
||||
cgD3D10SetTextureParameter(
|
||||
CGparameter Parameter,
|
||||
ID3D10Resource * pTexture
|
||||
);
|
||||
|
||||
CGD3D10DLL_API void CGD3D10ENTRY
|
||||
cgD3D10SetSamplerStateParameter(
|
||||
CGparameter Parameter,
|
||||
ID3D10SamplerState * pSamplerState
|
||||
);
|
||||
|
||||
CGD3D10DLL_API void CGD3D10ENTRY
|
||||
cgD3D10SetTextureSamplerStateParameter(
|
||||
CGparameter Parameter,
|
||||
ID3D10Resource * pTexture,
|
||||
ID3D10SamplerState * pSamplerState
|
||||
);
|
||||
|
||||
/* ----- Shader Management ----- */
|
||||
|
||||
CGD3D10DLL_API HRESULT CGD3D10ENTRY
|
||||
cgD3D10LoadProgram(
|
||||
CGprogram Program,
|
||||
UINT Flags
|
||||
);
|
||||
|
||||
CGD3D10DLL_API ID3D10Blob * CGD3D10ENTRY
|
||||
cgD3D10GetCompiledProgram(
|
||||
CGprogram Program
|
||||
);
|
||||
|
||||
CGD3D10DLL_API ID3D10Blob * CGD3D10ENTRY
|
||||
cgD3D10GetProgramErrors(
|
||||
CGprogram Program
|
||||
);
|
||||
|
||||
CGD3D10DLL_API CGbool CGD3D10ENTRY
|
||||
cgD3D10IsProgramLoaded(
|
||||
CGprogram Program
|
||||
);
|
||||
|
||||
CGD3D10DLL_API HRESULT CGD3D10ENTRY
|
||||
cgD3D10BindProgram(
|
||||
CGprogram Program
|
||||
);
|
||||
|
||||
CGD3D10DLL_API void CGD3D10ENTRY
|
||||
cgD3D10UnloadProgram(
|
||||
CGprogram Program
|
||||
);
|
||||
|
||||
/* ----- Buffer Management ----- */
|
||||
|
||||
CGD3D10DLL_API ID3D10Buffer * CGD3D10ENTRY
|
||||
cgD3D10GetBufferByIndex(
|
||||
CGprogram Program,
|
||||
UINT Index
|
||||
);
|
||||
|
||||
/* ----- CgFX ----- */
|
||||
|
||||
CGD3D10DLL_API void CGD3D10ENTRY
|
||||
cgD3D10RegisterStates(
|
||||
CGcontext Context
|
||||
);
|
||||
|
||||
CGD3D10DLL_API void CGD3D10ENTRY
|
||||
cgD3D10SetManageTextureParameters(
|
||||
CGcontext Context,
|
||||
CGbool Flag
|
||||
);
|
||||
|
||||
CGD3D10DLL_API CGbool CGD3D10ENTRY
|
||||
cgD3D10GetManageTextureParameters(
|
||||
CGcontext Context
|
||||
);
|
||||
|
||||
CGD3D10DLL_API ID3D10Blob * CGD3D10ENTRY
|
||||
cgD3D10GetIASignatureByPass(
|
||||
CGpass Pass
|
||||
);
|
||||
|
||||
/* ----- Profile Options ----- */
|
||||
|
||||
CGD3D10DLL_API CGprofile CGD3D10ENTRY
|
||||
cgD3D10GetLatestVertexProfile();
|
||||
|
||||
CGD3D10DLL_API CGprofile CGD3D10ENTRY
|
||||
cgD3D10GetLatestGeometryProfile();
|
||||
|
||||
CGD3D10DLL_API CGprofile CGD3D10ENTRY
|
||||
cgD3D10GetLatestPixelProfile();
|
||||
|
||||
CGD3D10DLL_API CGbool CGD3D10ENTRY
|
||||
cgD3D10IsProfileSupported(
|
||||
CGprofile Profile
|
||||
);
|
||||
|
||||
/* ----- Utility Functions ----- */
|
||||
|
||||
CGD3D10DLL_API DWORD CGD3D10ENTRY
|
||||
cgD3D10TypeToSize(
|
||||
CGtype Type
|
||||
);
|
||||
|
||||
CGD3D10DLL_API HRESULT CGD3D10ENTRY
|
||||
cgD3D10GetLastError();
|
||||
|
||||
CGD3D10DLL_API const char ** CGD3D10ENTRY
|
||||
cgD3D10GetOptimalOptions(
|
||||
CGprofile Profile
|
||||
);
|
||||
|
||||
CGD3D10DLL_API const char * CGD3D10ENTRY
|
||||
cgD3D10TranslateCGerror(
|
||||
CGerror Error
|
||||
);
|
||||
|
||||
CGD3D10DLL_API const char * CGD3D10ENTRY
|
||||
cgD3D10TranslateHRESULT(
|
||||
HRESULT hr
|
||||
);
|
||||
|
||||
#endif // #ifndef CGD3D10_EXPLICIT
|
||||
|
||||
#ifdef __cplusplus
|
||||
}; // extern "C"
|
||||
#endif
|
||||
|
||||
#endif // #ifdef _WIN32
|
||||
|
||||
#endif // #ifndef __CGD3D10_H__
|
||||
279
kaplademo/externals/cg/2.2/include/Cg/cgD3D8.h
vendored
Normal file
@ -0,0 +1,279 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002-2010, NVIDIA Corporation.
|
||||
*
|
||||
*
|
||||
*
|
||||
* NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
|
||||
* of your agreement to the following terms, and your use, installation,
|
||||
* modification or redistribution of this NVIDIA software constitutes
|
||||
* acceptance of these terms. If you do not agree with these terms, please do
|
||||
* not use, install, modify or redistribute this NVIDIA software.
|
||||
*
|
||||
*
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and
|
||||
* subject to these terms, NVIDIA grants you a personal, non-exclusive license,
|
||||
* under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
|
||||
* Software"), to use, reproduce, modify and redistribute the NVIDIA
|
||||
* Software, with or without modifications, in source and/or binary forms;
|
||||
* provided that if you redistribute the NVIDIA Software, you must retain the
|
||||
* copyright notice of NVIDIA, this notice and the following text and
|
||||
* disclaimers in all such redistributions of the NVIDIA Software. Neither the
|
||||
* name, trademarks, service marks nor logos of NVIDIA Corporation may be used
|
||||
* to endorse or promote products derived from the NVIDIA Software without
|
||||
* specific prior written permission from NVIDIA. Except as expressly stated
|
||||
* in this notice, no other rights or licenses express or implied, are granted
|
||||
* by NVIDIA herein, including but not limited to any patent rights that may be
|
||||
* infringed by your derivative works or by other works in which the NVIDIA
|
||||
* Software may be incorporated. No hardware is licensed hereunder.
|
||||
*
|
||||
*
|
||||
*
|
||||
* THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
|
||||
* WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
|
||||
* EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
|
||||
*
|
||||
*
|
||||
*
|
||||
* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
|
||||
* EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
|
||||
* PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
|
||||
* HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
|
||||
* NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
#ifndef CGD3D8_INCLUDED
|
||||
#define CGD3D8_INCLUDED
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "cg.h"
|
||||
#include <d3d8.h>
|
||||
#include <d3dx8.h>
|
||||
|
||||
// Set up for either Win32 import/export/lib.
|
||||
#include <windows.h>
|
||||
#ifdef CGD3D8DLL_EXPORTS
|
||||
#define CGD3D8DLL_API __declspec(dllexport)
|
||||
#elif defined (CG_LIB)
|
||||
#define CGD3D8DLL_API
|
||||
#else
|
||||
#define CGD3D8DLL_API __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
#ifndef CGD3D8ENTRY
|
||||
# ifdef _WIN32
|
||||
# define CGD3D8ENTRY __cdecl
|
||||
# else
|
||||
# define CGD3D8ENTRY
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// CGerrors that will be fed to cgSetError
|
||||
// Use cgD3D8TranslateCGerror() to translate these errors into strings.
|
||||
---------------------------------------------------------------------------*/
|
||||
enum cgD3D8Errors
|
||||
{
|
||||
cgD3D8Failed = 1000,
|
||||
cgD3D8DebugTrace = 1001,
|
||||
};
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// HRESULTs specific to cgD3D8. When the CGerror is set to cgD3D8Failed
|
||||
// cgD3D8GetLastError will return an HRESULT that could be one these.
|
||||
// Use cgD3D8TranslateHRESULT() to translate these errors into strings.
|
||||
---------------------------------------------------------------------------*/
|
||||
static const HRESULT CGD3D8ERR_NOTLOADED = MAKE_HRESULT(1, 0x877, 1);
|
||||
static const HRESULT CGD3D8ERR_NODEVICE = MAKE_HRESULT(1, 0x877, 2);
|
||||
static const HRESULT CGD3D8ERR_NOTSAMPLER = MAKE_HRESULT(1, 0x877, 3);
|
||||
static const HRESULT CGD3D8ERR_INVALIDPROFILE = MAKE_HRESULT(1, 0x877, 4);
|
||||
static const HRESULT CGD3D8ERR_NULLVALUE = MAKE_HRESULT(1, 0x877, 5);
|
||||
static const HRESULT CGD3D8ERR_OUTOFRANGE = MAKE_HRESULT(1, 0x877, 6);
|
||||
static const HRESULT CGD3D8ERR_NOTUNIFORM = MAKE_HRESULT(1, 0x877, 7);
|
||||
static const HRESULT CGD3D8ERR_NOTMATRIX = MAKE_HRESULT(1, 0x877, 8);
|
||||
static const HRESULT CGD3D8ERR_INVALIDPARAM = MAKE_HRESULT(1, 0x877, 9);
|
||||
|
||||
static const HRESULT CGD3D8ERR_INVALIDSAMPLERSTATE = MAKE_HRESULT(1, 0x877, 100);
|
||||
static const HRESULT CGD3D8ERR_INVALIDVEREXDECL = MAKE_HRESULT(1, 0x877, 101);
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// Other error return values
|
||||
---------------------------------------------------------------------------*/
|
||||
static const DWORD CGD3D8_INVALID_REG = 0xFFFFFFFF;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// Minimal Interface
|
||||
---------------------------------------------------------------------------*/
|
||||
|
||||
CGD3D8DLL_API DWORD CGD3D8ENTRY
|
||||
cgD3D8TypeToSize(
|
||||
CGtype type
|
||||
);
|
||||
|
||||
CGD3D8DLL_API DWORD CGD3D8ENTRY
|
||||
cgD3D8ResourceToInputRegister(
|
||||
CGresource resource
|
||||
);
|
||||
|
||||
CGD3D8DLL_API CGbool CGD3D8ENTRY
|
||||
cgD3D8GetVertexDeclaration(
|
||||
CGprogram prog,
|
||||
DWORD decl[MAX_FVF_DECL_SIZE]
|
||||
);
|
||||
|
||||
CGD3D8DLL_API CGbool CGD3D8ENTRY
|
||||
cgD3D8ValidateVertexDeclaration(
|
||||
CGprogram prog,
|
||||
const DWORD* decl
|
||||
);
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// Expanded Interface
|
||||
---------------------------------------------------------------------------*/
|
||||
|
||||
/* ----- D3D Device Control ----------- */
|
||||
CGD3D8DLL_API IDirect3DDevice8 * CGD3D8ENTRY
|
||||
cgD3D8GetDevice();
|
||||
|
||||
CGD3D8DLL_API HRESULT CGD3D8ENTRY
|
||||
cgD3D8SetDevice(
|
||||
IDirect3DDevice8* pDevice
|
||||
);
|
||||
|
||||
/* ----- Shader Management ----------- */
|
||||
CGD3D8DLL_API HRESULT CGD3D8ENTRY
|
||||
cgD3D8LoadProgram(
|
||||
CGprogram prog,
|
||||
CGbool paramShadowing,
|
||||
DWORD assemFlags,
|
||||
DWORD vshaderUsage,
|
||||
const DWORD* vertexDecl
|
||||
);
|
||||
|
||||
CGD3D8DLL_API HRESULT CGD3D8ENTRY
|
||||
cgD3D8UnloadProgram(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
CGD3D8DLL_API CGbool CGD3D8ENTRY
|
||||
cgD3D8IsProgramLoaded(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
CGD3D8DLL_API HRESULT CGD3D8ENTRY
|
||||
cgD3D8BindProgram(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
/* ----- Parameter Management ----------- */
|
||||
CGD3D8DLL_API HRESULT CGD3D8ENTRY
|
||||
cgD3D8SetUniform(
|
||||
CGparameter param,
|
||||
const void* floats
|
||||
);
|
||||
|
||||
CGD3D8DLL_API HRESULT CGD3D8ENTRY
|
||||
cgD3D8SetUniformArray(
|
||||
CGparameter param,
|
||||
DWORD offset,
|
||||
DWORD numItems,
|
||||
const void* values
|
||||
);
|
||||
|
||||
CGD3D8DLL_API HRESULT CGD3D8ENTRY
|
||||
cgD3D8SetUniformMatrix(
|
||||
CGparameter param,
|
||||
const D3DMATRIX* matrix
|
||||
);
|
||||
|
||||
CGD3D8DLL_API HRESULT CGD3D8ENTRY
|
||||
cgD3D8SetUniformMatrixArray(
|
||||
CGparameter param,
|
||||
DWORD offset,
|
||||
DWORD numItems,
|
||||
const D3DMATRIX* matrices
|
||||
);
|
||||
|
||||
CGD3D8DLL_API HRESULT CGD3D8ENTRY
|
||||
cgD3D8SetTexture(
|
||||
CGparameter param,
|
||||
IDirect3DBaseTexture8* tex
|
||||
);
|
||||
|
||||
CGD3D8DLL_API HRESULT CGD3D8ENTRY
|
||||
cgD3D8SetTextureStageState(
|
||||
CGparameter param,
|
||||
D3DTEXTURESTAGESTATETYPE type,
|
||||
DWORD value
|
||||
);
|
||||
|
||||
CGD3D8DLL_API HRESULT CGD3D8ENTRY
|
||||
cgD3D8SetTextureWrapMode(
|
||||
CGparameter param,
|
||||
DWORD value
|
||||
);
|
||||
|
||||
/* ----- Parameter Management (Shadowing) ----------- */
|
||||
CGD3D8DLL_API HRESULT CGD3D8ENTRY
|
||||
cgD3D8EnableParameterShadowing(
|
||||
CGprogram prog,
|
||||
CGbool enable
|
||||
);
|
||||
|
||||
CGD3D8DLL_API CGbool CGD3D8ENTRY
|
||||
cgD3D8IsParameterShadowingEnabled(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
/* --------- Profile Options ----------------- */
|
||||
CGD3D8DLL_API CGprofile CGD3D8ENTRY
|
||||
cgD3D8GetLatestVertexProfile();
|
||||
|
||||
CGD3D8DLL_API CGprofile CGD3D8ENTRY
|
||||
cgD3D8GetLatestPixelProfile();
|
||||
|
||||
CGD3D8DLL_API const char * CGD3D8ENTRY
|
||||
cgD3D8GetOptimalOptions(
|
||||
CGprofile profile
|
||||
);
|
||||
|
||||
/* --------- Error reporting ----------------- */
|
||||
CGD3D8DLL_API HRESULT CGD3D8ENTRY
|
||||
cgD3D8GetLastError();
|
||||
|
||||
CGD3D8DLL_API const char * CGD3D8ENTRY
|
||||
cgD3D8TranslateCGerror(
|
||||
CGerror error
|
||||
);
|
||||
|
||||
CGD3D8DLL_API const char * CGD3D8ENTRY
|
||||
cgD3D8TranslateHRESULT(
|
||||
HRESULT hr
|
||||
);
|
||||
|
||||
CGD3D8DLL_API void CGD3D8ENTRY
|
||||
cgD3D8EnableDebugTracing(
|
||||
CGbool enable
|
||||
);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif // _WIN32
|
||||
|
||||
#endif
|
||||
317
kaplademo/externals/cg/2.2/include/Cg/cgD3D9.h
vendored
Normal file
@ -0,0 +1,317 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002-2010, NVIDIA Corporation.
|
||||
*
|
||||
*
|
||||
*
|
||||
* NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
|
||||
* of your agreement to the following terms, and your use, installation,
|
||||
* modification or redistribution of this NVIDIA software constitutes
|
||||
* acceptance of these terms. If you do not agree with these terms, please do
|
||||
* not use, install, modify or redistribute this NVIDIA software.
|
||||
*
|
||||
*
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and
|
||||
* subject to these terms, NVIDIA grants you a personal, non-exclusive license,
|
||||
* under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
|
||||
* Software"), to use, reproduce, modify and redistribute the NVIDIA
|
||||
* Software, with or without modifications, in source and/or binary forms;
|
||||
* provided that if you redistribute the NVIDIA Software, you must retain the
|
||||
* copyright notice of NVIDIA, this notice and the following text and
|
||||
* disclaimers in all such redistributions of the NVIDIA Software. Neither the
|
||||
* name, trademarks, service marks nor logos of NVIDIA Corporation may be used
|
||||
* to endorse or promote products derived from the NVIDIA Software without
|
||||
* specific prior written permission from NVIDIA. Except as expressly stated
|
||||
* in this notice, no other rights or licenses express or implied, are granted
|
||||
* by NVIDIA herein, including but not limited to any patent rights that may be
|
||||
* infringed by your derivative works or by other works in which the NVIDIA
|
||||
* Software may be incorporated. No hardware is licensed hereunder.
|
||||
*
|
||||
*
|
||||
*
|
||||
* THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
|
||||
* WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
|
||||
* EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
|
||||
*
|
||||
*
|
||||
*
|
||||
* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
|
||||
* EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
|
||||
* PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
|
||||
* HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
|
||||
* NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
#ifndef CGD3D9_INCLUDED
|
||||
#define CGD3D9_INCLUDED
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "cg.h"
|
||||
#include <d3d9.h>
|
||||
#include <d3dx9.h>
|
||||
|
||||
// Set up for either Win32 import/export/lib.
|
||||
#include <windows.h>
|
||||
#ifdef CGD3D9DLL_EXPORTS
|
||||
#define CGD3D9DLL_API __declspec(dllexport)
|
||||
#elif defined (CG_LIB)
|
||||
#define CGD3D9DLL_API
|
||||
#else
|
||||
#define CGD3D9DLL_API __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
#ifndef CGD3D9ENTRY
|
||||
# ifdef _WIN32
|
||||
# define CGD3D9ENTRY __cdecl
|
||||
# else
|
||||
# define CGD3D9ENTRY
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// CGerrors that will be fed to cgSetError
|
||||
// Use cgD3D9TranslateCGerror() to translate these errors into strings.
|
||||
---------------------------------------------------------------------------*/
|
||||
enum cgD3D9Errors
|
||||
{
|
||||
cgD3D9Failed = 1000,
|
||||
cgD3D9DebugTrace = 1001,
|
||||
};
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// HRESULTs specific to cgD3D9. When the CGerror is set to cgD3D9Failed
|
||||
// cgD3D9GetLastError will return an HRESULT that could be one these.
|
||||
// Use cgD3D9TranslateHRESULT() to translate these errors into strings.
|
||||
---------------------------------------------------------------------------*/
|
||||
static const HRESULT CGD3D9ERR_NOTLOADED = MAKE_HRESULT(1, 0x877, 1);
|
||||
static const HRESULT CGD3D9ERR_NODEVICE = MAKE_HRESULT(1, 0x877, 2);
|
||||
static const HRESULT CGD3D9ERR_NOTSAMPLER = MAKE_HRESULT(1, 0x877, 3);
|
||||
static const HRESULT CGD3D9ERR_INVALIDPROFILE = MAKE_HRESULT(1, 0x877, 4);
|
||||
static const HRESULT CGD3D9ERR_NULLVALUE = MAKE_HRESULT(1, 0x877, 5);
|
||||
static const HRESULT CGD3D9ERR_OUTOFRANGE = MAKE_HRESULT(1, 0x877, 6);
|
||||
static const HRESULT CGD3D9ERR_NOTUNIFORM = MAKE_HRESULT(1, 0x877, 7);
|
||||
static const HRESULT CGD3D9ERR_NOTMATRIX = MAKE_HRESULT(1, 0x877, 8);
|
||||
static const HRESULT CGD3D9ERR_INVALIDPARAM = MAKE_HRESULT(1, 0x877, 9);
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// Other error return values
|
||||
---------------------------------------------------------------------------*/
|
||||
static const DWORD CGD3D9_INVALID_USAGE = 0xFF;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#ifndef CGD3D9_EXPLICIT
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// Minimal Interface
|
||||
---------------------------------------------------------------------------*/
|
||||
|
||||
CGD3D9DLL_API DWORD CGD3D9ENTRY
|
||||
cgD3D9TypeToSize(
|
||||
CGtype type
|
||||
);
|
||||
|
||||
CGD3D9DLL_API BYTE CGD3D9ENTRY
|
||||
cgD3D9ResourceToDeclUsage(
|
||||
CGresource resource
|
||||
);
|
||||
|
||||
CGD3D9DLL_API CGbool CGD3D9ENTRY
|
||||
cgD3D9GetVertexDeclaration(
|
||||
CGprogram prog,
|
||||
D3DVERTEXELEMENT9 decl[MAXD3DDECLLENGTH]
|
||||
);
|
||||
|
||||
CGD3D9DLL_API CGbool CGD3D9ENTRY
|
||||
cgD3D9ValidateVertexDeclaration(
|
||||
CGprogram prog,
|
||||
const D3DVERTEXELEMENT9* decl
|
||||
);
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
// Expanded Interface
|
||||
---------------------------------------------------------------------------*/
|
||||
|
||||
/* ----- D3D Device Control ----------- */
|
||||
CGD3D9DLL_API IDirect3DDevice9 * CGD3D9ENTRY
|
||||
cgD3D9GetDevice();
|
||||
|
||||
CGD3D9DLL_API HRESULT CGD3D9ENTRY
|
||||
cgD3D9SetDevice(
|
||||
IDirect3DDevice9* pDevice
|
||||
);
|
||||
|
||||
/* ----- Shader Management ----------- */
|
||||
|
||||
CGD3D9DLL_API HRESULT CGD3D9ENTRY
|
||||
cgD3D9LoadProgram(
|
||||
CGprogram prog,
|
||||
CGbool paramShadowing,
|
||||
DWORD assemFlags
|
||||
);
|
||||
|
||||
CGD3D9DLL_API HRESULT CGD3D9ENTRY
|
||||
cgD3D9UnloadProgram(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
CGD3D9DLL_API CGbool CGD3D9ENTRY
|
||||
cgD3D9IsProgramLoaded(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
CGD3D9DLL_API HRESULT CGD3D9ENTRY
|
||||
cgD3D9BindProgram(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
/* ----- Parameter Management ----------- */
|
||||
CGD3D9DLL_API HRESULT CGD3D9ENTRY
|
||||
cgD3D9SetUniform(
|
||||
CGparameter param,
|
||||
const void* floats
|
||||
);
|
||||
|
||||
CGD3D9DLL_API HRESULT CGD3D9ENTRY
|
||||
cgD3D9SetUniformArray(
|
||||
CGparameter param,
|
||||
DWORD offset,
|
||||
DWORD numItems,
|
||||
const void* values
|
||||
);
|
||||
|
||||
CGD3D9DLL_API HRESULT CGD3D9ENTRY
|
||||
cgD3D9SetUniformMatrix(
|
||||
CGparameter param,
|
||||
const D3DMATRIX* matrix
|
||||
);
|
||||
|
||||
CGD3D9DLL_API HRESULT CGD3D9ENTRY
|
||||
cgD3D9SetUniformMatrixArray(
|
||||
CGparameter param,
|
||||
DWORD offset,
|
||||
DWORD numItems,
|
||||
const D3DMATRIX* matrices
|
||||
);
|
||||
|
||||
CGD3D9DLL_API HRESULT CGD3D9ENTRY
|
||||
cgD3D9SetTexture(
|
||||
CGparameter param,
|
||||
IDirect3DBaseTexture9* tex
|
||||
);
|
||||
|
||||
CGD3D9DLL_API HRESULT CGD3D9ENTRY
|
||||
cgD3D9SetSamplerState(
|
||||
CGparameter param,
|
||||
D3DSAMPLERSTATETYPE type,
|
||||
DWORD value
|
||||
);
|
||||
|
||||
CGD3D9DLL_API HRESULT CGD3D9ENTRY
|
||||
cgD3D9SetTextureWrapMode(
|
||||
CGparameter param,
|
||||
DWORD value
|
||||
);
|
||||
|
||||
/* ----- Parameter Management (Shadowing) ----------- */
|
||||
CGD3D9DLL_API HRESULT CGD3D9ENTRY
|
||||
cgD3D9EnableParameterShadowing(
|
||||
CGprogram prog,
|
||||
CGbool enable
|
||||
);
|
||||
|
||||
CGD3D9DLL_API CGbool CGD3D9ENTRY
|
||||
cgD3D9IsParameterShadowingEnabled(
|
||||
CGprogram prog
|
||||
);
|
||||
|
||||
/* --------- Profile Options ----------------- */
|
||||
CGD3D9DLL_API CGprofile CGD3D9ENTRY
|
||||
cgD3D9GetLatestVertexProfile();
|
||||
|
||||
CGD3D9DLL_API CGprofile CGD3D9ENTRY
|
||||
cgD3D9GetLatestPixelProfile();
|
||||
|
||||
CGD3D9DLL_API const char * * CGD3D9ENTRY
|
||||
cgD3D9GetOptimalOptions(
|
||||
CGprofile profile
|
||||
);
|
||||
|
||||
CGD3D9DLL_API CGbool CGD3D9ENTRY
|
||||
cgD3D9IsProfileSupported(
|
||||
CGprofile profile
|
||||
);
|
||||
|
||||
/* --------- Error reporting ----------------- */
|
||||
CGD3D9DLL_API HRESULT CGD3D9ENTRY
|
||||
cgD3D9GetLastError();
|
||||
|
||||
CGD3D9DLL_API const char * CGD3D9ENTRY
|
||||
cgD3D9TranslateCGerror(
|
||||
CGerror error
|
||||
);
|
||||
|
||||
CGD3D9DLL_API const char * CGD3D9ENTRY
|
||||
cgD3D9TranslateHRESULT(
|
||||
HRESULT hr
|
||||
);
|
||||
|
||||
CGD3D9DLL_API void CGD3D9ENTRY
|
||||
cgD3D9EnableDebugTracing(
|
||||
CGbool enable
|
||||
);
|
||||
|
||||
/* --------- CgFX support -------------------- */
|
||||
|
||||
CGD3D9DLL_API void CGD3D9ENTRY
|
||||
cgD3D9RegisterStates(
|
||||
CGcontext ctx
|
||||
);
|
||||
|
||||
CGD3D9DLL_API void CGD3D9ENTRY
|
||||
cgD3D9SetManageTextureParameters(
|
||||
CGcontext ctx,
|
||||
CGbool flag
|
||||
);
|
||||
|
||||
CGD3D9DLL_API CGbool CGD3D9ENTRY
|
||||
cgD3D9GetManageTextureParameters(
|
||||
CGcontext ctx
|
||||
);
|
||||
|
||||
CGD3D9DLL_API IDirect3DBaseTexture9 * CGD3D9ENTRY
|
||||
cgD3D9GetTextureParameter(
|
||||
CGparameter param
|
||||
);
|
||||
|
||||
CGD3D9DLL_API void CGD3D9ENTRY
|
||||
cgD3D9SetTextureParameter(
|
||||
CGparameter param,
|
||||
IDirect3DBaseTexture9 *tex
|
||||
);
|
||||
|
||||
CGD3D9DLL_API void CGD3D9ENTRY
|
||||
cgD3D9UnloadAllPrograms( void );
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif // _WIN32
|
||||
|
||||
#endif
|
||||
427
kaplademo/externals/cg/2.2/include/Cg/cgGL.h
vendored
Normal file
@ -0,0 +1,427 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002-2010, NVIDIA Corporation.
|
||||
*
|
||||
*
|
||||
*
|
||||
* NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
|
||||
* of your agreement to the following terms, and your use, installation,
|
||||
* modification or redistribution of this NVIDIA software constitutes
|
||||
* acceptance of these terms. If you do not agree with these terms, please do
|
||||
* not use, install, modify or redistribute this NVIDIA software.
|
||||
*
|
||||
*
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and
|
||||
* subject to these terms, NVIDIA grants you a personal, non-exclusive license,
|
||||
* under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
|
||||
* Software"), to use, reproduce, modify and redistribute the NVIDIA
|
||||
* Software, with or without modifications, in source and/or binary forms;
|
||||
* provided that if you redistribute the NVIDIA Software, you must retain the
|
||||
* copyright notice of NVIDIA, this notice and the following text and
|
||||
* disclaimers in all such redistributions of the NVIDIA Software. Neither the
|
||||
* name, trademarks, service marks nor logos of NVIDIA Corporation may be used
|
||||
* to endorse or promote products derived from the NVIDIA Software without
|
||||
* specific prior written permission from NVIDIA. Except as expressly stated
|
||||
* in this notice, no other rights or licenses express or implied, are granted
|
||||
* by NVIDIA herein, including but not limited to any patent rights that may be
|
||||
* infringed by your derivative works or by other works in which the NVIDIA
|
||||
* Software may be incorporated. No hardware is licensed hereunder.
|
||||
*
|
||||
*
|
||||
*
|
||||
* THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
|
||||
* WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
|
||||
* EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
|
||||
*
|
||||
*
|
||||
*
|
||||
* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
|
||||
* EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
|
||||
* PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
|
||||
* HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
|
||||
* NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef _cggl_h
|
||||
#define _cggl_h
|
||||
|
||||
#include <Cg/cg.h>
|
||||
|
||||
#ifdef _WIN32
|
||||
# ifndef APIENTRY /* From Win32's <windef.h> */
|
||||
# define CGGL_APIENTRY_DEFINED
|
||||
# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) || defined(__LCC__)
|
||||
# define APIENTRY __stdcall
|
||||
# else
|
||||
# define APIENTRY
|
||||
# endif
|
||||
# endif
|
||||
# ifndef WINGDIAPI /* From Win32's <wingdi.h> and <winnt.h> */
|
||||
# define CGGL_WINGDIAPI_DEFINED
|
||||
# define WINGDIAPI __declspec(dllimport)
|
||||
# endif
|
||||
#endif /* _WIN32 */
|
||||
|
||||
/* Set up for either Win32 import/export/lib. */
|
||||
#ifndef CGGL_API
|
||||
# ifdef CGGL_EXPORTS
|
||||
# ifdef _WIN32
|
||||
# define CGGL_API __declspec(dllexport)
|
||||
# elif defined(__GNUC__) && __GNUC__>=4
|
||||
# define CGGL_API __attribute__ ((visibility("default")))
|
||||
# elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
|
||||
# define CGGL_API __global
|
||||
# else
|
||||
# define CGGL_API
|
||||
# endif
|
||||
# else
|
||||
# define CGGL_API
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef CGGLENTRY
|
||||
# ifdef _WIN32
|
||||
# define CGGLENTRY __cdecl
|
||||
# else
|
||||
# define CGGLENTRY
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __APPLE__
|
||||
#include <OpenGL/gl.h>
|
||||
#else
|
||||
#include <GL/gl.h>
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*****************************************************************************/
|
||||
/*** cgGL Type Definitions ***/
|
||||
/*****************************************************************************/
|
||||
|
||||
typedef enum
|
||||
{
|
||||
CG_GL_MATRIX_IDENTITY = 0,
|
||||
CG_GL_MATRIX_TRANSPOSE = 1,
|
||||
CG_GL_MATRIX_INVERSE = 2,
|
||||
CG_GL_MATRIX_INVERSE_TRANSPOSE = 3,
|
||||
|
||||
CG_GL_MODELVIEW_MATRIX,
|
||||
CG_GL_PROJECTION_MATRIX,
|
||||
CG_GL_TEXTURE_MATRIX,
|
||||
CG_GL_MODELVIEW_PROJECTION_MATRIX,
|
||||
|
||||
CG_GL_VERTEX,
|
||||
CG_GL_FRAGMENT,
|
||||
CG_GL_GEOMETRY
|
||||
|
||||
} CGGLenum;
|
||||
|
||||
|
||||
#ifndef CGGL_EXPLICIT
|
||||
|
||||
/******************************************************************************
|
||||
*** Profile Functions
|
||||
*****************************************************************************/
|
||||
|
||||
CGGL_API CGbool CGGLENTRY cgGLIsProfileSupported(CGprofile profile);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLEnableProfile(CGprofile profile);
|
||||
CGGL_API void CGGLENTRY cgGLDisableProfile(CGprofile profile);
|
||||
|
||||
CGGL_API CGprofile CGGLENTRY cgGLGetLatestProfile(CGGLenum profile_type);
|
||||
CGGL_API void CGGLENTRY cgGLSetOptimalOptions(CGprofile profile);
|
||||
CGGL_API char const ** CGGLENTRY cgGLGetOptimalOptions(CGprofile profile);
|
||||
|
||||
/******************************************************************************
|
||||
*** Program Managment Functions
|
||||
*****************************************************************************/
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLLoadProgram(CGprogram program);
|
||||
CGGL_API void CGGLENTRY cgGLUnloadProgram(CGprogram program);
|
||||
CGGL_API CGbool CGGLENTRY cgGLIsProgramLoaded(CGprogram program);
|
||||
CGGL_API void CGGLENTRY cgGLBindProgram(CGprogram program);
|
||||
CGGL_API void CGGLENTRY cgGLUnbindProgram(CGprofile profile);
|
||||
CGGL_API GLuint CGGLENTRY cgGLGetProgramID(CGprogram program);
|
||||
|
||||
/******************************************************************************
|
||||
*** Parameter Managment Functions
|
||||
*****************************************************************************/
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter1f(CGparameter param,
|
||||
float x);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter2f(CGparameter param,
|
||||
float x,
|
||||
float y);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter3f(CGparameter param,
|
||||
float x,
|
||||
float y,
|
||||
float z);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter4f(CGparameter param,
|
||||
float x,
|
||||
float y,
|
||||
float z,
|
||||
float w);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter1fv(CGparameter param, const float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter2fv(CGparameter param, const float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter3fv(CGparameter param, const float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter4fv(CGparameter param, const float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter1d(CGparameter param,
|
||||
double x);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter2d(CGparameter param,
|
||||
double x,
|
||||
double y);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter3d(CGparameter param,
|
||||
double x,
|
||||
double y,
|
||||
double z);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter4d(CGparameter param,
|
||||
double x,
|
||||
double y,
|
||||
double z,
|
||||
double w);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter1dv(CGparameter param, const double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter2dv(CGparameter param, const double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter3dv(CGparameter param, const double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameter4dv(CGparameter param, const double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameter1f(CGparameter param, float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameter2f(CGparameter param, float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameter3f(CGparameter param, float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameter4f(CGparameter param, float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameter1d(CGparameter param, double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameter2d(CGparameter param, double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameter3d(CGparameter param, double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameter4d(CGparameter param, double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameterArray1f(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
const float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameterArray2f(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
const float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameterArray3f(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
const float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameterArray4f(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
const float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameterArray1d(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
const double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameterArray2d(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
const double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameterArray3d(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
const double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameterArray4d(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
const double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameterArray1f(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameterArray2f(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameterArray3f(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameterArray4f(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
float *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameterArray1d(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameterArray2d(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameterArray3d(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetParameterArray4d(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
double *v);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetParameterPointer(CGparameter param,
|
||||
GLint fsize,
|
||||
GLenum type,
|
||||
GLsizei stride,
|
||||
const GLvoid *pointer);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLEnableClientState(CGparameter param);
|
||||
CGGL_API void CGGLENTRY cgGLDisableClientState(CGparameter param);
|
||||
|
||||
/******************************************************************************
|
||||
*** Matrix Parameter Managment Functions
|
||||
*****************************************************************************/
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetMatrixParameterdr(CGparameter param,
|
||||
const double *matrix);
|
||||
CGGL_API void CGGLENTRY cgGLSetMatrixParameterfr(CGparameter param,
|
||||
const float *matrix);
|
||||
CGGL_API void CGGLENTRY cgGLSetMatrixParameterdc(CGparameter param,
|
||||
const double *matrix);
|
||||
CGGL_API void CGGLENTRY cgGLSetMatrixParameterfc(CGparameter param,
|
||||
const float *matrix);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetMatrixParameterdr(CGparameter param, double *matrix);
|
||||
CGGL_API void CGGLENTRY cgGLGetMatrixParameterfr(CGparameter param, float *matrix);
|
||||
CGGL_API void CGGLENTRY cgGLGetMatrixParameterdc(CGparameter param, double *matrix);
|
||||
CGGL_API void CGGLENTRY cgGLGetMatrixParameterfc(CGparameter param, float *matrix);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetStateMatrixParameter(CGparameter param,
|
||||
CGGLenum matrix,
|
||||
CGGLenum transform);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetMatrixParameterArrayfc(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
const float *matrices);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetMatrixParameterArrayfr(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
const float *matrices);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetMatrixParameterArraydc(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
const double *matrices);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetMatrixParameterArraydr(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
const double *matrices);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetMatrixParameterArrayfc(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
float *matrices);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetMatrixParameterArrayfr(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
float *matrices);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetMatrixParameterArraydc(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
double *matrices);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLGetMatrixParameterArraydr(CGparameter param,
|
||||
long offset,
|
||||
long nelements,
|
||||
double *matrices);
|
||||
|
||||
/******************************************************************************
|
||||
*** Texture Parameter Managment Functions
|
||||
*****************************************************************************/
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetTextureParameter(CGparameter param, GLuint texobj);
|
||||
CGGL_API GLuint CGGLENTRY cgGLGetTextureParameter(CGparameter param);
|
||||
CGGL_API void CGGLENTRY cgGLEnableTextureParameter(CGparameter param);
|
||||
CGGL_API void CGGLENTRY cgGLDisableTextureParameter(CGparameter param);
|
||||
CGGL_API GLenum CGGLENTRY cgGLGetTextureEnum(CGparameter param);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetManageTextureParameters(CGcontext ctx, CGbool flag);
|
||||
CGGL_API CGbool CGGLENTRY cgGLGetManageTextureParameters(CGcontext ctx);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetupSampler(CGparameter param, GLuint texobj);
|
||||
CGGL_API void CGGLENTRY cgGLRegisterStates(CGcontext);
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLEnableProgramProfiles( CGprogram program );
|
||||
CGGL_API void CGGLENTRY cgGLDisableProgramProfiles( CGprogram program );
|
||||
|
||||
/******************************************************************************
|
||||
*** Misc Functions
|
||||
*****************************************************************************/
|
||||
|
||||
CGGL_API void CGGLENTRY cgGLSetDebugMode( CGbool debug );
|
||||
|
||||
/******************************************************************************
|
||||
*** Buffer Functions
|
||||
*****************************************************************************/
|
||||
|
||||
CGGL_API CGbuffer CGGLENTRY cgGLCreateBuffer(CGcontext context, int size, const void *data, GLenum bufferUsage);
|
||||
CGGL_API GLuint CGGLENTRY cgGLGetBufferObject(CGbuffer buffer);
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CGGL_APIENTRY_DEFINED
|
||||
# undef CGGL_APIENTRY_DEFINED
|
||||
# undef APIENTRY
|
||||
#endif
|
||||
|
||||
#ifdef CGGL_WINGDIAPI_DEFINED
|
||||
# undef CGGL_WINGDIAPI_DEFINED
|
||||
# undef WINGDIAPI
|
||||
#endif
|
||||
|
||||
#endif
|
||||
75
kaplademo/externals/cg/2.2/include/Cg/cgGL_profiles.h
vendored
Normal file
@ -0,0 +1,75 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002-2010, NVIDIA Corporation.
|
||||
*
|
||||
*
|
||||
*
|
||||
* NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
|
||||
* of your agreement to the following terms, and your use, installation,
|
||||
* modification or redistribution of this NVIDIA software constitutes
|
||||
* acceptance of these terms. If you do not agree with these terms, please do
|
||||
* not use, install, modify or redistribute this NVIDIA software.
|
||||
*
|
||||
*
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and
|
||||
* subject to these terms, NVIDIA grants you a personal, non-exclusive license,
|
||||
* under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
|
||||
* Software"), to use, reproduce, modify and redistribute the NVIDIA
|
||||
* Software, with or without modifications, in source and/or binary forms;
|
||||
* provided that if you redistribute the NVIDIA Software, you must retain the
|
||||
* copyright notice of NVIDIA, this notice and the following text and
|
||||
* disclaimers in all such redistributions of the NVIDIA Software. Neither the
|
||||
* name, trademarks, service marks nor logos of NVIDIA Corporation may be used
|
||||
* to endorse or promote products derived from the NVIDIA Software without
|
||||
* specific prior written permission from NVIDIA. Except as expressly stated
|
||||
* in this notice, no other rights or licenses express or implied, are granted
|
||||
* by NVIDIA herein, including but not limited to any patent rights that may be
|
||||
* infringed by your derivative works or by other works in which the NVIDIA
|
||||
* Software may be incorporated. No hardware is licensed hereunder.
|
||||
*
|
||||
*
|
||||
*
|
||||
* THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
|
||||
* WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
|
||||
* EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
|
||||
*
|
||||
*
|
||||
*
|
||||
* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
|
||||
* EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
|
||||
* PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
|
||||
* HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
|
||||
* NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
CG_PROFILE_MACRO(Vertex,vp20,VP20,"vp20",6146,1)
|
||||
CG_PROFILE_MACRO(Fragment20,fp20,FP20,"fp20",6147,0)
|
||||
CG_PROFILE_MACRO(Vertex30,vp30,VP30,"vp30",6148,1)
|
||||
CG_PROFILE_MACRO(Fragment,fp30,FP30,"fp30",6149,0)
|
||||
CG_PROFILE_MACRO(ARBVertex,arbvp1,ARBVP1,"arbvp1",6150,1)
|
||||
CG_PROFILE_MACRO(Fragment40,fp40,FP40,"fp40",6151,0)
|
||||
CG_PROFILE_MACRO(ARBFragment,arbfp1,ARBFP1,"arbfp1",7000,0)
|
||||
CG_PROFILE_MACRO(Vertex40,vp40,VP40,"vp40",7001,1)
|
||||
CG_PROFILE_MACRO(GLSLVertex,glslv,GLSLV,"glslv",7007,1)
|
||||
CG_PROFILE_MACRO(GLSLFragment,glslf,GLSLF,"glslf",7008,0)
|
||||
CG_PROFILE_MACRO(GLSLGeometry,glslg,GLSLG,"glslg",7016,0)
|
||||
CG_PROFILE_MACRO(GLSLCombined, glslc, GLSLC, "glslc", 7009, 0)
|
||||
CG_PROFILE_MACRO(GPUFragment,gpu_fp,GPU_FP,"gp4fp",7010,0)
|
||||
CG_PROFILE_MACRO(GPUVertex,gpu_vp,GPU_VP,"gp4vp",7011,1)
|
||||
CG_PROFILE_MACRO(GPUGeometry,gpu_gp,GPU_GP,"gp4gp",7012,0)
|
||||
|
||||
CG_PROFILE_ALIAS(GPUFragment,gp4fp,GP4FP,"gp4fp",7010,0)
|
||||
CG_PROFILE_ALIAS(GPUVertex,gp4vp,GP4VP,"gp4vp",7011,1)
|
||||
CG_PROFILE_ALIAS(GPUGeometry,gp4gp,GP4GP,"gp4gp",7012,0)
|
||||
|
||||
#ifndef CG_IN_PROFILES_INCLUDE
|
||||
# undef CG_PROFILE_MACRO
|
||||
#endif
|
||||
382
kaplademo/externals/cg/2.2/include/Cg/cg_bindlocations.h
vendored
Normal file
@ -0,0 +1,382 @@
|
||||
|
||||
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002-2010, NVIDIA Corporation.
|
||||
*
|
||||
*
|
||||
*
|
||||
* NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
|
||||
* of your agreement to the following terms, and your use, installation,
|
||||
* modification or redistribution of this NVIDIA software constitutes
|
||||
* acceptance of these terms. If you do not agree with these terms, please do
|
||||
* not use, install, modify or redistribute this NVIDIA software.
|
||||
*
|
||||
*
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and
|
||||
* subject to these terms, NVIDIA grants you a personal, non-exclusive license,
|
||||
* under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
|
||||
* Software"), to use, reproduce, modify and redistribute the NVIDIA
|
||||
* Software, with or without modifications, in source and/or binary forms;
|
||||
* provided that if you redistribute the NVIDIA Software, you must retain the
|
||||
* copyright notice of NVIDIA, this notice and the following text and
|
||||
* disclaimers in all such redistributions of the NVIDIA Software. Neither the
|
||||
* name, trademarks, service marks nor logos of NVIDIA Corporation may be used
|
||||
* to endorse or promote products derived from the NVIDIA Software without
|
||||
* specific prior written permission from NVIDIA. Except as expressly stated
|
||||
* in this notice, no other rights or licenses express or implied, are granted
|
||||
* by NVIDIA herein, including but not limited to any patent rights that may be
|
||||
* infringed by your derivative works or by other works in which the NVIDIA
|
||||
* Software may be incorporated. No hardware is licensed hereunder.
|
||||
*
|
||||
*
|
||||
*
|
||||
* THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
|
||||
* WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
|
||||
* EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
|
||||
*
|
||||
*
|
||||
*
|
||||
* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
|
||||
* EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
|
||||
* PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
|
||||
* HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
|
||||
* NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* The following macro invocations define the supported CG basic hardware
|
||||
* bind locations.
|
||||
*
|
||||
* The macros have the form :
|
||||
*
|
||||
* CG_BINDLOCATION_MACRO(name, compiler_name, enum_int)
|
||||
*
|
||||
* name : The name of the location.
|
||||
* enum_name : The C enumerant.
|
||||
* compiler_name : The name of the location within the compiler syntax.
|
||||
* int_id : Integer enumerant associated with this bind location.
|
||||
* (3256 is reservered for CG_UNDEFINED)
|
||||
* addressable : The bind location must have an integer address
|
||||
* associated with it.
|
||||
* ParamType : the cgParamType of this register.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
CG_BINDLOCATION_MACRO(TexUnit0,CG_TEXUNIT0,"texunit 0",2048,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit1,CG_TEXUNIT1,"texunit 1",2049,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit2,CG_TEXUNIT2,"texunit 2",2050,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit3,CG_TEXUNIT3,"texunit 3",2051,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit4,CG_TEXUNIT4,"texunit 4",2052,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit5,CG_TEXUNIT5,"texunit 5",2053,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit6,CG_TEXUNIT6,"texunit 6",2054,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit7,CG_TEXUNIT7,"texunit 7",2055,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit8,CG_TEXUNIT8,"texunit 8",2056,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit9,CG_TEXUNIT9,"texunit 9",2057,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit10,CG_TEXUNIT10,"texunit 10",2058,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit11,CG_TEXUNIT11,"texunit 11",2059,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit12,CG_TEXUNIT12,"texunit 12",2060,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit13,CG_TEXUNIT13,"texunit 13",2061,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit14,CG_TEXUNIT14,"texunit 14",2062,0,CG_TEXOBJ_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexUnit15,CG_TEXUNIT15,"texunit 15",2063,0,CG_TEXOBJ_PARAM)
|
||||
|
||||
CG_BINDLOCATION_MACRO(Buffer0, CG_BUFFER0, "buffer[0]", 2064, 1, CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Buffer1, CG_BUFFER1, "buffer[1]", 2065, 1, CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Buffer2, CG_BUFFER2, "buffer[2]", 2066, 1, CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Buffer3, CG_BUFFER3, "buffer[3]", 2067, 1, CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Buffer4, CG_BUFFER4, "buffer[4]", 2068, 1, CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Buffer5, CG_BUFFER5, "buffer[5]", 2069, 1, CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Buffer6, CG_BUFFER6, "buffer[6]", 2070, 1, CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Buffer7, CG_BUFFER7, "buffer[7]", 2071, 1, CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Buffer8, CG_BUFFER8, "buffer[8]", 2072, 1, CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Buffer9, CG_BUFFER9, "buffer[9]", 2073, 1, CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Buffer10, CG_BUFFER10, "buffer[10]", 2074, 1, CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Buffer11, CG_BUFFER11, "buffer[11]", 2075, 1, CGI_UNIFORM_PARAM)
|
||||
|
||||
CG_BINDLOCATION_MACRO(Attr0,CG_ATTR0,"ATTR0",2113,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr1,CG_ATTR1,"ATTR1",2114,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr2,CG_ATTR2,"ATTR2",2115,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr3,CG_ATTR3,"ATTR3",2116,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr4,CG_ATTR4,"ATTR4",2117,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr5,CG_ATTR5,"ATTR5",2118,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr6,CG_ATTR6,"ATTR6",2119,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr7,CG_ATTR7,"ATTR7",2120,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr8,CG_ATTR8,"ATTR8",2121,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr9,CG_ATTR9,"ATTR9",2122,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr10,CG_ATTR10,"ATTR10",2123,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr11,CG_ATTR11,"ATTR11",2124,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr12,CG_ATTR12,"ATTR12",2125,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr13,CG_ATTR13,"ATTR13",2126,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr14,CG_ATTR14,"ATTR14",2127,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Attr15,CG_ATTR15,"ATTR15",2128,0,CG_VARYING_PARAM)
|
||||
|
||||
CG_BINDLOCATION_MACRO(VertUniform,CG_C,"c",2178,1,CGI_UNIFORM_PARAM)
|
||||
|
||||
CG_BINDLOCATION_MACRO(Tex0,CG_TEX0,"TEX0",2179,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tex1,CG_TEX1,"TEX1",2180,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tex2,CG_TEX2,"TEX2",2181,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tex3,CG_TEX3,"TEX3",2192,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tex4,CG_TEX4,"TEX4",2193,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tex5,CG_TEX5,"TEX5",2194,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tex6,CG_TEX6,"TEX6",2195,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tex7,CG_TEX7,"TEX7",2196,0,CG_VARYING_PARAM)
|
||||
|
||||
CG_BINDLOCATION_MACRO(HPos,CG_HPOS,"HPOS",2243,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Col0,CG_COL0,"COL0",2245,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Col1,CG_COL1,"COL1",2246,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Col2,CG_COL2,"COL2",2247,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Col3,CG_COL3,"COL3",2248,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSiz,CG_PSIZ,"PSIZ",2309,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Clp0,CG_CLP0,"CLP0",2310,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Clp1,CG_CLP1,"CLP1",2311,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Clp2,CG_CLP2,"CLP2",2312,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Clp3,CG_CLP3,"CLP3",2313,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Clp4,CG_CLP4,"CLP4",2314,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Clp5,CG_CLP5,"CLP5",2315,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(WPos,CG_WPOS,"WPOS",2373,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PointCoord,CG_POINTCOORD,"POINTCOORD",2374,0,CG_VARYING_PARAM)
|
||||
|
||||
CG_BINDLOCATION_MACRO(Position0,CG_POSITION0,"POSITION0",2437,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position1,CG_POSITION1,"POSITION1",2438,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position2,CG_POSITION2,"POSITION2",2439,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position3,CG_POSITION3,"POSITION3",2440,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position4,CG_POSITION4,"POSITION4",2441,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position5,CG_POSITION5,"POSITION5",2442,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position6,CG_POSITION6,"POSITION6",2443,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position7,CG_POSITION7,"POSITION7",2444,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position8,CG_POSITION8,"POSITION8",2445,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position9,CG_POSITION9,"POSITION9",2446,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position10,CG_POSITION10,"POSITION10",2447,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position11,CG_POSITION11,"POSITION11",2448,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position12,CG_POSITION12,"POSITION12",2449,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position13,CG_POSITION13,"POSITION13",2450,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position14,CG_POSITION14,"POSITION14",2451,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Position15,CG_POSITION15,"POSITION15",2452,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Diffuse0,CG_DIFFUSE0,"DIFFUSE0",2501,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent0,CG_TANGENT0,"TANGENT0",2565,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent1,CG_TANGENT1,"TANGENT1",2566,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent2,CG_TANGENT2,"TANGENT2",2567,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent3,CG_TANGENT3,"TANGENT3",2568,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent4,CG_TANGENT4,"TANGENT4",2569,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent5,CG_TANGENT5,"TANGENT5",2570,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent6,CG_TANGENT6,"TANGENT6",2571,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent7,CG_TANGENT7,"TANGENT7",2572,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent8,CG_TANGENT8,"TANGENT8",2573,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent9,CG_TANGENT9,"TANGENT9",2574,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent10,CG_TANGENT10,"TANGENT10",2575,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent11,CG_TANGENT11,"TANGENT11",2576,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent12,CG_TANGENT12,"TANGENT12",2577,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent13,CG_TANGENT13,"TANGENT13",2578,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent14,CG_TANGENT14,"TANGENT14",2579,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Tangent15,CG_TANGENT15,"TANGENT15",2580,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Specular0,CG_SPECULAR0,"SPECULAR0",2629,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices0,CG_BLENDINDICES0,"BLENDINDICES0",2693,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices1,CG_BLENDINDICES1,"BLENDINDICES1",2694,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices2,CG_BLENDINDICES2,"BLENDINDICES2",2695,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices3,CG_BLENDINDICES3,"BLENDINDICES3",2696,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices4,CG_BLENDINDICES4,"BLENDINDICES4",2697,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices5,CG_BLENDINDICES5,"BLENDINDICES5",2698,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices6,CG_BLENDINDICES6,"BLENDINDICES6",2699,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices7,CG_BLENDINDICES7,"BLENDINDICES7",2700,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices8,CG_BLENDINDICES8,"BLENDINDICES8",2701,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices9,CG_BLENDINDICES9,"BLENDINDICES9",2702,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices10,CG_BLENDINDICES10,"BLENDINDICES10",2703,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices11,CG_BLENDINDICES11,"BLENDINDICES11",2704,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices12,CG_BLENDINDICES12,"BLENDINDICES12",2705,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices13,CG_BLENDINDICES13,"BLENDINDICES13",2706,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices14,CG_BLENDINDICES14,"BLENDINDICES14",2707,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendIndices15,CG_BLENDINDICES15,"BLENDINDICES15",2708,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color0,CG_COLOR0,"COLOR0",2757,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color1,CG_COLOR1,"COLOR1",2758,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color2,CG_COLOR2,"COLOR2",2759,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color3,CG_COLOR3,"COLOR3",2760,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color4,CG_COLOR4,"COLOR4",2761,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color5,CG_COLOR5,"COLOR5",2762,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color6,CG_COLOR6,"COLOR6",2763,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color7,CG_COLOR7,"COLOR7",2764,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color8,CG_COLOR8,"COLOR8",2765,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color9,CG_COLOR9,"COLOR9",2766,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color10,CG_COLOR10,"COLOR10",2767,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color11,CG_COLOR11,"COLOR11",2768,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color12,CG_COLOR12,"COLOR12",2769,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color13,CG_COLOR13,"COLOR13",2770,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color14,CG_COLOR14,"COLOR14",2771,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Color15,CG_COLOR15,"COLOR15",2772,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize0,CG_PSIZE0,"PSIZE0",2821,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize1,CG_PSIZE1,"PSIZE1",2822,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize2,CG_PSIZE2,"PSIZE2",2823,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize3,CG_PSIZE3,"PSIZE3",2824,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize4,CG_PSIZE4,"PSIZE4",2825,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize5,CG_PSIZE5,"PSIZE5",2826,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize6,CG_PSIZE6,"PSIZE6",2827,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize7,CG_PSIZE7,"PSIZE7",2828,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize8,CG_PSIZE8,"PSIZE8",2829,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize9,CG_PSIZE9,"PSIZE9",2830,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize10,CG_PSIZE10,"PSIZE10",2831,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize11,CG_PSIZE11,"PSIZE11",2832,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize12,CG_PSIZE12,"PSIZE12",2833,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize13,CG_PSIZE13,"PSIZE13",2834,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize14,CG_PSIZE14,"PSIZE14",2835,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PSize15,CG_PSIZE15,"PSIZE15",2836,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal0,CG_BINORMAL0,"BINORMAL0",2885,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal1,CG_BINORMAL1,"BINORMAL1",2886,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal2,CG_BINORMAL2,"BINORMAL2",2887,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal3,CG_BINORMAL3,"BINORMAL3",2888,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal4,CG_BINORMAL4,"BINORMAL4",2889,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal5,CG_BINORMAL5,"BINORMAL5",2890,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal6,CG_BINORMAL6,"BINORMAL6",2891,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal7,CG_BINORMAL7,"BINORMAL7",2892,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal8,CG_BINORMAL8,"BINORMAL8",2893,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal9,CG_BINORMAL9,"BINORMAL9",2894,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal10,CG_BINORMAL10,"BINORMAL10",2895,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal11,CG_BINORMAL11,"BINORMAL11",2896,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal12,CG_BINORMAL12,"BINORMAL12",2897,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal13,CG_BINORMAL13,"BINORMAL13",2898,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal14,CG_BINORMAL14,"BINORMAL14",2899,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BiNormal15,CG_BINORMAL15,"BINORMAL15",2900,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG0,CG_FOG0,"FOG0",2917,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG1,CG_FOG1,"FOG1",2918,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG2,CG_FOG2,"FOG2",2919,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG3,CG_FOG3,"FOG3",2920,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG4,CG_FOG4,"FOG4",2921,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG5,CG_FOG5,"FOG5",2922,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG6,CG_FOG6,"FOG6",2923,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG7,CG_FOG7,"FOG7",2924,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG8,CG_FOG8,"FOG8",2925,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG9,CG_FOG9,"FOG9",2926,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG10,CG_FOG10,"FOG10",2927,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG11,CG_FOG11,"FOG11",2928,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG12,CG_FOG12,"FOG12",2929,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG13,CG_FOG13,"FOG13",2930,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG14,CG_FOG14,"FOG14",2931,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FOG15,CG_FOG15,"FOG15",2932,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH0,CG_DEPTH0,"DEPTH0",2933,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH1,CG_DEPTH1,"DEPTH1",2934,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH2,CG_DEPTH2,"DEPTH2",2935,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH3,CG_DEPTH3,"DEPTH3",2936,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH4,CG_DEPTH4,"DEPTH4",2937,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH5,CG_DEPTH5,"DEPTH5",2938,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH6,CG_DEPTH6,"DEPTH6",2939,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH7,CG_DEPTH7,"DEPTH7",2940,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH8,CG_DEPTH8,"DEPTH8",2941,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH9,CG_DEPTH9,"DEPTH9",2942,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH10,CG_DEPTH10,"DEPTH10",2943,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH11,CG_DEPTH11,"DEPTH11",2944,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH12,CG_DEPTH12,"DEPTH12",2945,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH13,CG_DEPTH13,"DEPTH13",2946,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH14,CG_DEPTH14,"DEPTH14",2947,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(DEPTH15,CG_DEPTH15,"DEPTH15",2948,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE0,CG_SAMPLE0,"SAMPLE0",2949,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE1,CG_SAMPLE1,"SAMPLE1",2950,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE2,CG_SAMPLE2,"SAMPLE2",2951,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE3,CG_SAMPLE3,"SAMPLE3",2952,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE4,CG_SAMPLE4,"SAMPLE4",2953,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE5,CG_SAMPLE5,"SAMPLE5",2954,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE6,CG_SAMPLE6,"SAMPLE6",2955,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE7,CG_SAMPLE7,"SAMPLE7",2956,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE8,CG_SAMPLE8,"SAMPLE8",2957,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE9,CG_SAMPLE9,"SAMPLE9",2958,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE10,CG_SAMPLE10,"SAMPLE10",2959,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE11,CG_SAMPLE11,"SAMPLE11",2960,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE12,CG_SAMPLE12,"SAMPLE12",2961,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE13,CG_SAMPLE13,"SAMPLE13",2962,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE14,CG_SAMPLE14,"SAMPLE14",2963,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SAMPLE15,CG_SAMPLE15,"SAMPLE15",2964,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight0,CG_BLENDWEIGHT0,"BLENDWEIGHT0",3028,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight1,CG_BLENDWEIGHT1,"BLENDWEIGHT1",3029,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight2,CG_BLENDWEIGHT2,"BLENDWEIGHT2",3030,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight3,CG_BLENDWEIGHT3,"BLENDWEIGHT3",3031,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight4,CG_BLENDWEIGHT4,"BLENDWEIGHT4",3032,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight5,CG_BLENDWEIGHT5,"BLENDWEIGHT5",3033,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight6,CG_BLENDWEIGHT6,"BLENDWEIGHT6",3034,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight7,CG_BLENDWEIGHT7,"BLENDWEIGHT7",3035,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight8,CG_BLENDWEIGHT8,"BLENDWEIGHT8",3036,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight9,CG_BLENDWEIGHT9,"BLENDWEIGHT9",3037,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight10,CG_BLENDWEIGHT10,"BLENDWEIGHT10",3038,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight11,CG_BLENDWEIGHT11,"BLENDWEIGHT11",3039,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight12,CG_BLENDWEIGHT12,"BLENDWEIGHT12",3040,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight13,CG_BLENDWEIGHT13,"BLENDWEIGHT13",3041,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight14,CG_BLENDWEIGHT14,"BLENDWEIGHT14",3042,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(BlendWeight15,CG_BLENDWEIGHT15,"BLENDWEIGHT15",3043,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal0,CG_NORMAL0,"NORMAL0",3092,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal1,CG_NORMAL1,"NORMAL1",3093,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal2,CG_NORMAL2,"NORMAL2",3094,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal3,CG_NORMAL3,"NORMAL3",3095,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal4,CG_NORMAL4,"NORMAL4",3096,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal5,CG_NORMAL5,"NORMAL5",3097,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal6,CG_NORMAL6,"NORMAL6",3098,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal7,CG_NORMAL7,"NORMAL7",3099,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal8,CG_NORMAL8,"NORMAL8",3100,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal9,CG_NORMAL9,"NORMAL9",3101,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal10,CG_NORMAL10,"NORMAL10",3102,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal11,CG_NORMAL11,"NORMAL11",3103,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal12,CG_NORMAL12,"NORMAL12",3104,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal13,CG_NORMAL13,"NORMAL13",3105,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal14,CG_NORMAL14,"NORMAL14",3106,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Normal15,CG_NORMAL15,"NORMAL15",3107,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(FogCoord,CG_FOGCOORD,"FOGCOORD",3156,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord0,CG_TEXCOORD0,"TEXCOORD0",3220,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord1,CG_TEXCOORD1,"TEXCOORD1",3221,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord2,CG_TEXCOORD2,"TEXCOORD2",3222,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord3,CG_TEXCOORD3,"TEXCOORD3",3223,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord4,CG_TEXCOORD4,"TEXCOORD4",3224,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord5,CG_TEXCOORD5,"TEXCOORD5",3225,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord6,CG_TEXCOORD6,"TEXCOORD6",3226,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord7,CG_TEXCOORD7,"TEXCOORD7",3227,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord8,CG_TEXCOORD8,"TEXCOORD8",3228,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord9,CG_TEXCOORD9,"TEXCOORD9",3229,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord10,CG_TEXCOORD10,"TEXCOORD10",3230,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord11,CG_TEXCOORD11,"TEXCOORD11",3231,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord12,CG_TEXCOORD12,"TEXCOORD12",3232,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord13,CG_TEXCOORD13,"TEXCOORD13",3233,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord14,CG_TEXCOORD14,"TEXCOORD14",3234,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(TexCoord15,CG_TEXCOORD15,"TEXCOORD15",3235,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(CombinerConst0,CG_COMBINER_CONST0,"COMBINER_CONST0",3284,0,CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(CombinerConst1,CG_COMBINER_CONST1,"COMBINER_CONST1",3285,0,CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(CombinerStageConst0,CG_COMBINER_STAGE_CONST0,"COMBINER_STAGE_CONST0",3286,1,CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(CombinerStageConst1,CG_COMBINER_STAGE_CONST1,"COMBINER_STAGE_CONST1",3287,1,CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(OffsetTextureMatrix,CG_OFFSET_TEXTURE_MATRIX,"OFFSET_TEXTURE_MATRIX",3288,0,CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(OffsetTextureScale,CG_OFFSET_TEXTURE_SCALE,"OFFSET_TEXTURE_SCALE",3289,0,CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(OffsetTextureBias,CG_OFFSET_TEXTURE_BIAS,"OFFSET_TEXTURE_BIAS",3290,0,CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(ConstEye,CG_CONST_EYE,"CONST_EYE",3291,0,CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Coverage, CG_COVERAGE, "COVERAGE", 3292, 0, CG_VARYING_PARAM)
|
||||
|
||||
CG_BINDLOCATION_MACRO(TessFactor,CG_TESSFACTOR,"TESSFACTOR",3255,0,CG_VARYING_PARAM)
|
||||
|
||||
CG_BINDLOCATION_MACRO(GLSLUniform,CG_GLSL_UNIFORM,"glsl_uniform",3300,1,CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(GLSLAttrib,CG_GLSL_ATTRIB,"glsl_attrib",3301,1,CG_VARYING_PARAM)
|
||||
|
||||
CG_BINDLOCATION_MACRO(Env,CG_ENV,"ENV",3302,1,CG_VARYING_PARAM)
|
||||
|
||||
CG_BINDLOCATION_MACRO(HLSLUniform,CG_HLSL_UNIFORM,"hlsl_uniform",3559,1,CGI_UNIFORM_PARAM)
|
||||
CG_BINDLOCATION_MACRO(HLSLAttrib,CG_HLSL_VARYING,"hlsl_attrib",3560,1,CG_VARYING_PARAM)
|
||||
|
||||
CG_BINDLOCATION_MACRO(SamplerResource,CG_SAMPLER_RES, "SAMPLER_RES", 3561, 1, CGI_UNIFORM_PARAM)
|
||||
|
||||
CG_BINDLOCATION_MACRO(LastColor0, CG_LASTCOL0, "LASTCOL0", 4400, 0, CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(LastColor1, CG_LASTCOL1, "LASTCOL1", 4401, 0, CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(LastColor2, CG_LASTCOL2, "LASTCOL2", 4402, 0, CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(LastColor3, CG_LASTCOL3, "LASTCOL3", 4403, 0, CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(LastColor4, CG_LASTCOL4, "LASTCOL4", 4404, 0, CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(LastColor5, CG_LASTCOL5, "LASTCOL5", 4405, 0, CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(LastColor6, CG_LASTCOL6, "LASTCOL6", 4406, 0, CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(LastColor7, CG_LASTCOL7, "LASTCOL7", 4407, 0, CG_VARYING_PARAM)
|
||||
|
||||
CG_BINDLOCATION_MACRO(Face,CG_FACE,"FACE",4410,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(PrimitiveId,CG_PRIMITIVEID,"PRIMITIVEID",4411,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(InstanceId,CG_INSTANCEID,"INSTANCEID",4412,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SampleId,CG_SAMPLEID,"SAMPLEID",4413,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(VertexId,CG_VERTEXID,"VERTEXID",4414,0,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(Layer,CG_LAYER,"LAYER",4415,1,CG_VARYING_PARAM)
|
||||
CG_BINDLOCATION_MACRO(SampleMask,CG_SAMPLEMASK,"SAMPLEMASK",4416,0,CG_VARYING_PARAM)
|
||||
|
||||
#undef CG_BINDLOCATION_MACRO
|
||||
196
kaplademo/externals/cg/2.2/include/Cg/cg_datatypes.h
vendored
Normal file
@ -0,0 +1,196 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002-2010, NVIDIA Corporation.
|
||||
*
|
||||
*
|
||||
*
|
||||
* NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
|
||||
* of your agreement to the following terms, and your use, installation,
|
||||
* modification or redistribution of this NVIDIA software constitutes
|
||||
* acceptance of these terms. If you do not agree with these terms, please do
|
||||
* not use, install, modify or redistribute this NVIDIA software.
|
||||
*
|
||||
*
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and
|
||||
* subject to these terms, NVIDIA grants you a personal, non-exclusive license,
|
||||
* under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
|
||||
* Software"), to use, reproduce, modify and redistribute the NVIDIA
|
||||
* Software, with or without modifications, in source and/or binary forms;
|
||||
* provided that if you redistribute the NVIDIA Software, you must retain the
|
||||
* copyright notice of NVIDIA, this notice and the following text and
|
||||
* disclaimers in all such redistributions of the NVIDIA Software. Neither the
|
||||
* name, trademarks, service marks nor logos of NVIDIA Corporation may be used
|
||||
* to endorse or promote products derived from the NVIDIA Software without
|
||||
* specific prior written permission from NVIDIA. Except as expressly stated
|
||||
* in this notice, no other rights or licenses express or implied, are granted
|
||||
* by NVIDIA herein, including but not limited to any patent rights that may be
|
||||
* infringed by your derivative works or by other works in which the NVIDIA
|
||||
* Software may be incorporated. No hardware is licensed hereunder.
|
||||
*
|
||||
*
|
||||
*
|
||||
* THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
|
||||
* WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
|
||||
* EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
|
||||
*
|
||||
*
|
||||
*
|
||||
* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
|
||||
* EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
|
||||
* PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
|
||||
* HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
|
||||
* NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* The following macro invocations define the supported CG basic data types.
|
||||
*
|
||||
* The macros have the form :
|
||||
*
|
||||
* CG_DATATYPE_MACRO(name, compiler_name, enum_name, base_name, nrows, ncols, pc_name)
|
||||
*
|
||||
* name : The name of the data type.
|
||||
* compiler_name : The name of the data type within the compiler syntax.
|
||||
* enum_name : The C enumerant.
|
||||
* base_name : The C enumerant of the base type.
|
||||
* nrows : Number of rows for matrix types. Should be 0 other-wise.
|
||||
* ncols : Number of columns for scalar, vector, and matrix types.
|
||||
* pc_name : The C enumerant of the parameter class.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* ADD NEW DATA TYPES TO THE END OF THIS MACRO LIST!
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
CG_DATATYPE_MACRO(Half,half,CG_HALF,CG_HALF,0,1,CG_PARAMETERCLASS_SCALAR)
|
||||
CG_DATATYPE_MACRO(Half2,half2,CG_HALF2,CG_HALF,0,2,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Half3,half3,CG_HALF3,CG_HALF,0,3,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Half4,half4,CG_HALF4,CG_HALF,0,4,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Half1x1,half1x1,CG_HALF1x1,CG_HALF,1,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half1x2,half1x2,CG_HALF1x2,CG_HALF,1,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half1x3,half1x3,CG_HALF1x3,CG_HALF,1,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half1x4,half1x4,CG_HALF1x4,CG_HALF,1,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half2x1,half2x1,CG_HALF2x1,CG_HALF,2,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half2x2,half2x2,CG_HALF2x2,CG_HALF,2,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half2x3,half2x3,CG_HALF2x3,CG_HALF,2,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half2x4,half2x4,CG_HALF2x4,CG_HALF,2,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half3x1,half3x1,CG_HALF3x1,CG_HALF,3,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half3x2,half3x2,CG_HALF3x2,CG_HALF,3,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half3x3,half3x3,CG_HALF3x3,CG_HALF,3,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half3x4,half3x4,CG_HALF3x4,CG_HALF,3,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half4x1,half4x1,CG_HALF4x1,CG_HALF,4,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half4x2,half4x2,CG_HALF4x2,CG_HALF,4,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half4x3,half4x3,CG_HALF4x3,CG_HALF,4,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half4x4,half4x4,CG_HALF4x4,CG_HALF,4,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float,float,CG_FLOAT,CG_FLOAT,0,1,CG_PARAMETERCLASS_SCALAR)
|
||||
CG_DATATYPE_MACRO(Float2,float2,CG_FLOAT2,CG_FLOAT,0,2,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Float3,float3,CG_FLOAT3,CG_FLOAT,0,3,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Float4,float4,CG_FLOAT4,CG_FLOAT,0,4,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Float1x1,float1x1,CG_FLOAT1x1,CG_FLOAT,1,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float1x2,float1x2,CG_FLOAT1x2,CG_FLOAT,1,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float1x3,float1x3,CG_FLOAT1x3,CG_FLOAT,1,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float1x4,float1x4,CG_FLOAT1x4,CG_FLOAT,1,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float2x1,float2x1,CG_FLOAT2x1,CG_FLOAT,2,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float2x2,float2x2,CG_FLOAT2x2,CG_FLOAT,2,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float2x3,float2x3,CG_FLOAT2x3,CG_FLOAT,2,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float2x4,float2x4,CG_FLOAT2x4,CG_FLOAT,2,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float3x1,float3x1,CG_FLOAT3x1,CG_FLOAT,3,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float3x2,float3x2,CG_FLOAT3x2,CG_FLOAT,3,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float3x3,float3x3,CG_FLOAT3x3,CG_FLOAT,3,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float3x4,float3x4,CG_FLOAT3x4,CG_FLOAT,3,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float4x1,float4x1,CG_FLOAT4x1,CG_FLOAT,4,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float4x2,float4x2,CG_FLOAT4x2,CG_FLOAT,4,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float4x3,float4x3,CG_FLOAT4x3,CG_FLOAT,4,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Float4x4,float4x4,CG_FLOAT4x4,CG_FLOAT,4,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Sampler1D,sampler1D,CG_SAMPLER1D,CG_SAMPLER1D,0,0,CG_PARAMETERCLASS_SAMPLER)
|
||||
CG_DATATYPE_MACRO(Sampler2D,sampler2D,CG_SAMPLER2D,CG_SAMPLER2D,0,0,CG_PARAMETERCLASS_SAMPLER)
|
||||
CG_DATATYPE_MACRO(Sampler3D,sampler3D,CG_SAMPLER3D,CG_SAMPLER3D,0,0,CG_PARAMETERCLASS_SAMPLER)
|
||||
CG_DATATYPE_MACRO(SamplerRECT,samplerRECT,CG_SAMPLERRECT,CG_SAMPLERRECT,0,0,CG_PARAMETERCLASS_SAMPLER)
|
||||
CG_DATATYPE_MACRO(SamplerCUBE,samplerCUBE,CG_SAMPLERCUBE,CG_SAMPLERCUBE,0,0,CG_PARAMETERCLASS_SAMPLER)
|
||||
CG_DATATYPE_MACRO(Fixed,fixed,CG_FIXED,CG_FIXED,0,1,CG_PARAMETERCLASS_SCALAR)
|
||||
CG_DATATYPE_MACRO(Fixed2,fixed2,CG_FIXED2,CG_FIXED,0,2,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Fixed3,fixed3,CG_FIXED3,CG_FIXED,0,3,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Fixed4,fixed4,CG_FIXED4,CG_FIXED,0,4,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Fixed1x1,fixed1x1,CG_FIXED1x1,CG_FIXED,1,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed1x2,fixed1x2,CG_FIXED1x2,CG_FIXED,1,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed1x3,fixed1x3,CG_FIXED1x3,CG_FIXED,1,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed1x4,fixed1x4,CG_FIXED1x4,CG_FIXED,1,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed2x1,fixed2x1,CG_FIXED2x1,CG_FIXED,2,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed2x2,fixed2x2,CG_FIXED2x2,CG_FIXED,2,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed2x3,fixed2x3,CG_FIXED2x3,CG_FIXED,2,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed2x4,fixed2x4,CG_FIXED2x4,CG_FIXED,2,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed3x1,fixed3x1,CG_FIXED3x1,CG_FIXED,3,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed3x2,fixed3x2,CG_FIXED3x2,CG_FIXED,3,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed3x3,fixed3x3,CG_FIXED3x3,CG_FIXED,3,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed3x4,fixed3x4,CG_FIXED3x4,CG_FIXED,3,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed4x1,fixed4x1,CG_FIXED4x1,CG_FIXED,4,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed4x2,fixed4x2,CG_FIXED4x2,CG_FIXED,4,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed4x3,fixed4x3,CG_FIXED4x3,CG_FIXED,4,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Fixed4x4,fixed4x4,CG_FIXED4x4,CG_FIXED,4,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Half1,half1,CG_HALF1,CG_HALF,0,1,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Float1,float1,CG_FLOAT1,CG_FLOAT,0,1,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Fixed1,fixed1,CG_FIXED1,CG_FIXED,0,1,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Int,int,CG_INT,CG_INT,0,1,CG_PARAMETERCLASS_SCALAR)
|
||||
CG_DATATYPE_MACRO(Int1,int1,CG_INT1,CG_INT,0,1,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Int2,int2,CG_INT2,CG_INT,0,2,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Int3,int3,CG_INT3,CG_INT,0,3,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Int4,int4,CG_INT4,CG_INT,0,4,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Int1x1,int1x1,CG_INT1x1,CG_INT,1,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int1x2,int1x2,CG_INT1x2,CG_INT,1,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int1x3,int1x3,CG_INT1x3,CG_INT,1,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int1x4,int1x4,CG_INT1x4,CG_INT,1,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int2x1,int2x1,CG_INT2x1,CG_INT,2,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int2x2,int2x2,CG_INT2x2,CG_INT,2,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int2x3,int2x3,CG_INT2x3,CG_INT,2,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int2x4,int2x4,CG_INT2x4,CG_INT,2,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int3x1,int3x1,CG_INT3x1,CG_INT,3,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int3x2,int3x2,CG_INT3x2,CG_INT,3,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int3x3,int3x3,CG_INT3x3,CG_INT,3,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int3x4,int3x4,CG_INT3x4,CG_INT,3,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int4x1,int4x1,CG_INT4x1,CG_INT,4,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int4x2,int4x2,CG_INT4x2,CG_INT,4,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int4x3,int4x3,CG_INT4x3,CG_INT,4,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Int4x4,int4x4,CG_INT4x4,CG_INT,4,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool,bool,CG_BOOL,CG_BOOL,0,1,CG_PARAMETERCLASS_SCALAR)
|
||||
CG_DATATYPE_MACRO(Bool1,bool1,CG_BOOL1,CG_BOOL,0,1,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Bool2,bool2,CG_BOOL2,CG_BOOL,0,2,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Bool3,bool3,CG_BOOL3,CG_BOOL,0,3,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Bool4,bool4,CG_BOOL4,CG_BOOL,0,4,CG_PARAMETERCLASS_VECTOR)
|
||||
CG_DATATYPE_MACRO(Bool1x1,bool1x1,CG_BOOL1x1,CG_BOOL,1,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool1x2,bool1x2,CG_BOOL1x2,CG_BOOL,1,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool1x3,bool1x3,CG_BOOL1x3,CG_BOOL,1,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool1x4,bool1x4,CG_BOOL1x4,CG_BOOL,1,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool2x1,bool2x1,CG_BOOL2x1,CG_BOOL,2,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool2x2,bool2x2,CG_BOOL2x2,CG_BOOL,2,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool2x3,bool2x3,CG_BOOL2x3,CG_BOOL,2,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool2x4,bool2x4,CG_BOOL2x4,CG_BOOL,2,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool3x1,bool3x1,CG_BOOL3x1,CG_BOOL,3,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool3x2,bool3x2,CG_BOOL3x2,CG_BOOL,3,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool3x3,bool3x3,CG_BOOL3x3,CG_BOOL,3,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool3x4,bool3x4,CG_BOOL3x4,CG_BOOL,3,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool4x1,bool4x1,CG_BOOL4x1,CG_BOOL,4,1,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool4x2,bool4x2,CG_BOOL4x2,CG_BOOL,4,2,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool4x3,bool4x3,CG_BOOL4x3,CG_BOOL,4,3,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(Bool4x4,bool4x4,CG_BOOL4x4,CG_BOOL,4,4,CG_PARAMETERCLASS_MATRIX)
|
||||
CG_DATATYPE_MACRO(String,string,CG_STRING,CG_STRING,0,1,CG_PARAMETERCLASS_OBJECT)
|
||||
CG_DATATYPE_MACRO(Program,program,CG_PROGRAM_TYPE,CG_PROGRAM_TYPE,0,0,CG_PARAMETERCLASS_OBJECT)
|
||||
CG_DATATYPE_MACRO(Texture,texture,CG_TEXTURE,CG_TEXTURE,0,0,CG_PARAMETERCLASS_OBJECT)
|
||||
CG_DATATYPE_MACRO(Sampler1DARRAY,sampler1DARRAY,CG_SAMPLER1DARRAY,CG_SAMPLER1DARRAY,0,0,CG_PARAMETERCLASS_SAMPLER)
|
||||
CG_DATATYPE_MACRO(Sampler2DARRAY,sampler2DARRAY,CG_SAMPLER2DARRAY,CG_SAMPLER2DARRAY,0,0,CG_PARAMETERCLASS_SAMPLER)
|
||||
CG_DATATYPE_MACRO(SamplerCUBEARRAY,samplerCUBEARRAY,CG_SAMPLERCUBEARRAY,CG_SAMPLERCUBEARRAY,0,0,CG_PARAMETERCLASS_SAMPLER)
|
||||
CG_DATATYPE_MACRO(VertexShader, vertexshader, CG_VERTEXSHADER_TYPE, CG_VERTEXSHADER_TYPE, 0, 0, CG_PARAMETERCLASS_OBJECT)
|
||||
CG_DATATYPE_MACRO(PixelShader, pixelshader, CG_PIXELSHADER_TYPE, CG_PIXELSHADER_TYPE, 0, 0, CG_PARAMETERCLASS_OBJECT)
|
||||
CG_DATATYPE_MACRO(Sampler, sampler, CG_SAMPLER, CG_SAMPLER, 0, 0, CG_PARAMETERCLASS_SAMPLER)
|
||||
CG_DATATYPE_MACRO(SamplerBUF,samplerBUF,CG_SAMPLERBUF,CG_SAMPLERBUF,0,0,CG_PARAMETERCLASS_SAMPLER)
|
||||
#undef CG_DATATYPE_MACRO
|
||||
128
kaplademo/externals/cg/2.2/include/Cg/cg_enums.h
vendored
Normal file
@ -0,0 +1,128 @@
|
||||
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002-2010, NVIDIA Corporation.
|
||||
*
|
||||
*
|
||||
*
|
||||
* NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
|
||||
* of your agreement to the following terms, and your use, installation,
|
||||
* modification or redistribution of this NVIDIA software constitutes
|
||||
* acceptance of these terms. If you do not agree with these terms, please do
|
||||
* not use, install, modify or redistribute this NVIDIA software.
|
||||
*
|
||||
*
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and
|
||||
* subject to these terms, NVIDIA grants you a personal, non-exclusive license,
|
||||
* under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
|
||||
* Software"), to use, reproduce, modify and redistribute the NVIDIA
|
||||
* Software, with or without modifications, in source and/or binary forms;
|
||||
* provided that if you redistribute the NVIDIA Software, you must retain the
|
||||
* copyright notice of NVIDIA, this notice and the following text and
|
||||
* disclaimers in all such redistributions of the NVIDIA Software. Neither the
|
||||
* name, trademarks, service marks nor logos of NVIDIA Corporation may be used
|
||||
* to endorse or promote products derived from the NVIDIA Software without
|
||||
* specific prior written permission from NVIDIA. Except as expressly stated
|
||||
* in this notice, no other rights or licenses express or implied, are granted
|
||||
* by NVIDIA herein, including but not limited to any patent rights that may be
|
||||
* infringed by your derivative works or by other works in which the NVIDIA
|
||||
* Software may be incorporated. No hardware is licensed hereunder.
|
||||
*
|
||||
*
|
||||
*
|
||||
* THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
|
||||
* WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
|
||||
* EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
|
||||
*
|
||||
*
|
||||
*
|
||||
* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
|
||||
* EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
|
||||
* PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
|
||||
* HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
|
||||
* NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/*
|
||||
* The following macro invocations define the supported CG basic data types.
|
||||
*
|
||||
* The macros have the form :
|
||||
*
|
||||
* CG_ENUM_MACRO(enum_name, enum_val)
|
||||
*
|
||||
* enum_name : The C enumerant name.
|
||||
* enum_val : The enumerant value.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
CG_ENUM_MACRO(CG_UNKNOWN, 4096)
|
||||
CG_ENUM_MACRO(CG_IN, 4097)
|
||||
CG_ENUM_MACRO(CG_OUT, 4098)
|
||||
CG_ENUM_MACRO(CG_INOUT, 4099)
|
||||
CG_ENUM_MACRO(CG_MIXED, 4100)
|
||||
CG_ENUM_MACRO(CG_VARYING, 4101)
|
||||
CG_ENUM_MACRO(CG_UNIFORM, 4102)
|
||||
CG_ENUM_MACRO(CG_CONSTANT, 4103)
|
||||
CG_ENUM_MACRO(CG_PROGRAM_SOURCE, 4104)
|
||||
CG_ENUM_MACRO(CG_PROGRAM_ENTRY, 4105)
|
||||
CG_ENUM_MACRO(CG_COMPILED_PROGRAM, 4106)
|
||||
CG_ENUM_MACRO(CG_PROGRAM_PROFILE, 4107)
|
||||
CG_ENUM_MACRO(CG_GLOBAL, 4108)
|
||||
CG_ENUM_MACRO(CG_PROGRAM, 4109)
|
||||
CG_ENUM_MACRO(CG_DEFAULT, 4110)
|
||||
CG_ENUM_MACRO(CG_ERROR, 4111)
|
||||
CG_ENUM_MACRO(CG_SOURCE, 4112)
|
||||
CG_ENUM_MACRO(CG_OBJECT, 4113)
|
||||
CG_ENUM_MACRO(CG_COMPILE_MANUAL, 4114)
|
||||
CG_ENUM_MACRO(CG_COMPILE_IMMEDIATE, 4115)
|
||||
CG_ENUM_MACRO(CG_COMPILE_LAZY, 4116)
|
||||
CG_ENUM_MACRO(CG_CURRENT, 4117)
|
||||
CG_ENUM_MACRO(CG_LITERAL, 4118)
|
||||
CG_ENUM_MACRO(CG_VERSION, 4119)
|
||||
CG_ENUM_MACRO(CG_ROW_MAJOR, 4120)
|
||||
CG_ENUM_MACRO(CG_COLUMN_MAJOR, 4121)
|
||||
CG_ENUM_MACRO(CG_FRAGMENT, 4122)
|
||||
CG_ENUM_MACRO(CG_VERTEX, 4123)
|
||||
CG_ENUM_MACRO(CG_POINT, 4124)
|
||||
CG_ENUM_MACRO(CG_LINE, 4125)
|
||||
CG_ENUM_MACRO(CG_LINE_ADJ, 4126)
|
||||
CG_ENUM_MACRO(CG_TRIANGLE, 4127)
|
||||
CG_ENUM_MACRO(CG_TRIANGLE_ADJ, 4128)
|
||||
CG_ENUM_MACRO(CG_POINT_OUT, 4129)
|
||||
CG_ENUM_MACRO(CG_LINE_OUT, 4130)
|
||||
CG_ENUM_MACRO(CG_TRIANGLE_OUT, 4131)
|
||||
CG_ENUM_MACRO(CG_IMMEDIATE_PARAMETER_SETTING, 4132)
|
||||
CG_ENUM_MACRO(CG_DEFERRED_PARAMETER_SETTING, 4133)
|
||||
CG_ENUM_MACRO(CG_NO_LOCKS_POLICY, 4134)
|
||||
CG_ENUM_MACRO(CG_THREAD_SAFE_POLICY, 4135)
|
||||
CG_ENUM_MACRO(CG_FORCE_UPPER_CASE_POLICY, 4136)
|
||||
CG_ENUM_MACRO(CG_UNCHANGED_CASE_POLICY, 4137)
|
||||
CG_ENUM_MACRO(CG_IS_OPENGL_PROFILE, 4138)
|
||||
CG_ENUM_MACRO(CG_IS_DIRECT3D_PROFILE, 4139)
|
||||
CG_ENUM_MACRO(CG_IS_DIRECT3D_8_PROFILE, 4140)
|
||||
CG_ENUM_MACRO(CG_IS_DIRECT3D_9_PROFILE, 4141)
|
||||
CG_ENUM_MACRO(CG_IS_DIRECT3D_10_PROFILE, 4142)
|
||||
CG_ENUM_MACRO(CG_IS_VERTEX_PROFILE, 4143)
|
||||
CG_ENUM_MACRO(CG_IS_FRAGMENT_PROFILE, 4144)
|
||||
CG_ENUM_MACRO(CG_IS_GEOMETRY_PROFILE, 4145)
|
||||
CG_ENUM_MACRO(CG_IS_TRANSLATION_PROFILE, 4146)
|
||||
CG_ENUM_MACRO(CG_IS_HLSL_PROFILE, 4147)
|
||||
CG_ENUM_MACRO(CG_IS_GLSL_PROFILE, 4148)
|
||||
|
||||
/*
|
||||
if you add any enums here, you must also change
|
||||
the last enum value in the definition of cgiEnumStringMap
|
||||
(currently found in common/cg_enum.cpp)
|
||||
*/
|
||||
|
||||
#undef CG_ENUM_MACRO
|
||||
325
kaplademo/externals/cg/2.2/include/Cg/cg_errors.h
vendored
Normal file
@ -0,0 +1,325 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002-2010, NVIDIA Corporation.
|
||||
*
|
||||
*
|
||||
*
|
||||
* NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
|
||||
* of your agreement to the following terms, and your use, installation,
|
||||
* modification or redistribution of this NVIDIA software constitutes
|
||||
* acceptance of these terms. If you do not agree with these terms, please do
|
||||
* not use, install, modify or redistribute this NVIDIA software.
|
||||
*
|
||||
*
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and
|
||||
* subject to these terms, NVIDIA grants you a personal, non-exclusive license,
|
||||
* under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
|
||||
* Software"), to use, reproduce, modify and redistribute the NVIDIA
|
||||
* Software, with or without modifications, in source and/or binary forms;
|
||||
* provided that if you redistribute the NVIDIA Software, you must retain the
|
||||
* copyright notice of NVIDIA, this notice and the following text and
|
||||
* disclaimers in all such redistributions of the NVIDIA Software. Neither the
|
||||
* name, trademarks, service marks nor logos of NVIDIA Corporation may be used
|
||||
* to endorse or promote products derived from the NVIDIA Software without
|
||||
* specific prior written permission from NVIDIA. Except as expressly stated
|
||||
* in this notice, no other rights or licenses express or implied, are granted
|
||||
* by NVIDIA herein, including but not limited to any patent rights that may be
|
||||
* infringed by your derivative works or by other works in which the NVIDIA
|
||||
* Software may be incorporated. No hardware is licensed hereunder.
|
||||
*
|
||||
*
|
||||
*
|
||||
* THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
|
||||
* WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
|
||||
* EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
|
||||
*
|
||||
*
|
||||
*
|
||||
* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
|
||||
* EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
|
||||
* PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
|
||||
* HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
|
||||
* NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* The following macro invocations define error codes returned by various cg
|
||||
* API functions.
|
||||
*
|
||||
* The macros have the form :
|
||||
*
|
||||
* CG_ERROR_MACRO(code, enum_name, message)
|
||||
*
|
||||
* code : The integer error code associated with the error.
|
||||
* enum_name : The name of enumerant of the error code in the API.
|
||||
* message : A description string associated with the error.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
CG_ERROR_MACRO(0,
|
||||
CG_NO_ERROR,
|
||||
"No error has occurred.")
|
||||
|
||||
CG_ERROR_MACRO(1,
|
||||
CG_COMPILER_ERROR,
|
||||
"The compile returned an error.")
|
||||
|
||||
CG_ERROR_MACRO(2,
|
||||
CG_INVALID_PARAMETER_ERROR,
|
||||
"The parameter used is invalid.")
|
||||
|
||||
CG_ERROR_MACRO(3,
|
||||
CG_INVALID_PROFILE_ERROR,
|
||||
"The profile is not supported.")
|
||||
|
||||
CG_ERROR_MACRO(4,
|
||||
CG_PROGRAM_LOAD_ERROR,
|
||||
"The program could not load.")
|
||||
|
||||
CG_ERROR_MACRO(5,
|
||||
CG_PROGRAM_BIND_ERROR,
|
||||
"The program could not bind.")
|
||||
|
||||
CG_ERROR_MACRO(6,
|
||||
CG_PROGRAM_NOT_LOADED_ERROR,
|
||||
"The program must be loaded before this operation may be used.")
|
||||
|
||||
CG_ERROR_MACRO(7,
|
||||
CG_UNSUPPORTED_GL_EXTENSION_ERROR,
|
||||
"An unsupported GL extension was required to perform this operation.")
|
||||
|
||||
CG_ERROR_MACRO(8,
|
||||
CG_INVALID_VALUE_TYPE_ERROR,
|
||||
"An unknown value type was assigned to a parameter.")
|
||||
|
||||
CG_ERROR_MACRO(9,
|
||||
CG_NOT_MATRIX_PARAM_ERROR,
|
||||
"The parameter is not of matrix type.")
|
||||
|
||||
CG_ERROR_MACRO(10,
|
||||
CG_INVALID_ENUMERANT_ERROR,
|
||||
"The enumerant parameter has an invalid value.")
|
||||
|
||||
CG_ERROR_MACRO(11,
|
||||
CG_NOT_4x4_MATRIX_ERROR,
|
||||
"The parameter must be a 4x4 matrix type.")
|
||||
|
||||
CG_ERROR_MACRO(12,
|
||||
CG_FILE_READ_ERROR,
|
||||
"The file could not be read.")
|
||||
|
||||
CG_ERROR_MACRO(13,
|
||||
CG_FILE_WRITE_ERROR,
|
||||
"The file could not be written.")
|
||||
|
||||
CG_ERROR_MACRO(14,
|
||||
CG_NVPARSE_ERROR,
|
||||
"nvparse could not successfully parse the output from the Cg "
|
||||
"compiler backend.")
|
||||
|
||||
CG_ERROR_MACRO(15,
|
||||
CG_MEMORY_ALLOC_ERROR,
|
||||
"Memory allocation failed.")
|
||||
|
||||
CG_ERROR_MACRO(16,
|
||||
CG_INVALID_CONTEXT_HANDLE_ERROR,
|
||||
"Invalid context handle.")
|
||||
|
||||
CG_ERROR_MACRO(17,
|
||||
CG_INVALID_PROGRAM_HANDLE_ERROR,
|
||||
"Invalid program handle.")
|
||||
|
||||
CG_ERROR_MACRO(18,
|
||||
CG_INVALID_PARAM_HANDLE_ERROR,
|
||||
"Invalid parameter handle.")
|
||||
|
||||
CG_ERROR_MACRO(19,
|
||||
CG_UNKNOWN_PROFILE_ERROR,
|
||||
"The specified profile is unknown.")
|
||||
|
||||
CG_ERROR_MACRO(20,
|
||||
CG_VAR_ARG_ERROR,
|
||||
"The variable arguments were specified incorrectly.")
|
||||
|
||||
CG_ERROR_MACRO(21,
|
||||
CG_INVALID_DIMENSION_ERROR,
|
||||
"The dimension value is invalid.")
|
||||
|
||||
CG_ERROR_MACRO(22,
|
||||
CG_ARRAY_PARAM_ERROR,
|
||||
"The parameter must be an array.")
|
||||
|
||||
CG_ERROR_MACRO(23,
|
||||
CG_OUT_OF_ARRAY_BOUNDS_ERROR,
|
||||
"Index into the array is out of bounds.")
|
||||
|
||||
CG_ERROR_MACRO(24,
|
||||
CG_CONFLICTING_TYPES_ERROR,
|
||||
"A type being added to the context conflicts with an "
|
||||
"existing type.")
|
||||
|
||||
CG_ERROR_MACRO(25,
|
||||
CG_CONFLICTING_PARAMETER_TYPES_ERROR,
|
||||
"The parameters being bound have conflicting types.")
|
||||
|
||||
CG_ERROR_MACRO(26,
|
||||
CG_PARAMETER_IS_NOT_SHARED_ERROR,
|
||||
"The parameter must be global.")
|
||||
|
||||
CG_ERROR_MACRO(27,
|
||||
CG_INVALID_PARAMETER_VARIABILITY_ERROR,
|
||||
"The parameter could not be changed to the given variability.")
|
||||
|
||||
CG_ERROR_MACRO(28,
|
||||
CG_CANNOT_DESTROY_PARAMETER_ERROR,
|
||||
"Cannot destroy the parameter. It is bound to other parameters "
|
||||
"or is not a root parameter.")
|
||||
|
||||
|
||||
CG_ERROR_MACRO(29,
|
||||
CG_NOT_ROOT_PARAMETER_ERROR,
|
||||
"The parameter is not a root parameter.")
|
||||
|
||||
CG_ERROR_MACRO(30,
|
||||
CG_PARAMETERS_DO_NOT_MATCH_ERROR,
|
||||
"The two parameters being bound do not match.")
|
||||
|
||||
CG_ERROR_MACRO(31,
|
||||
CG_IS_NOT_PROGRAM_PARAMETER_ERROR,
|
||||
"The parameter is not a program parameter.")
|
||||
|
||||
CG_ERROR_MACRO(32,
|
||||
CG_INVALID_PARAMETER_TYPE_ERROR,
|
||||
"The type of the parameter is invalid.")
|
||||
|
||||
CG_ERROR_MACRO(33,
|
||||
CG_PARAMETER_IS_NOT_RESIZABLE_ARRAY_ERROR,
|
||||
"The parameter must be a resizable array.")
|
||||
|
||||
CG_ERROR_MACRO(34,
|
||||
CG_INVALID_SIZE_ERROR,
|
||||
"The size value is invalid.")
|
||||
|
||||
CG_ERROR_MACRO(35,
|
||||
CG_BIND_CREATES_CYCLE_ERROR,
|
||||
"Cannot bind the given parameters. Binding will form a cycle.")
|
||||
|
||||
CG_ERROR_MACRO(36,
|
||||
CG_ARRAY_TYPES_DO_NOT_MATCH_ERROR,
|
||||
"Cannot bind the given parameters. Array types do not match.")
|
||||
|
||||
CG_ERROR_MACRO(37,
|
||||
CG_ARRAY_DIMENSIONS_DO_NOT_MATCH_ERROR,
|
||||
"Cannot bind the given parameters. "
|
||||
"Array dimensions do not match.")
|
||||
|
||||
CG_ERROR_MACRO(38,
|
||||
CG_ARRAY_HAS_WRONG_DIMENSION_ERROR,
|
||||
"The array has the wrong dimension.")
|
||||
|
||||
CG_ERROR_MACRO(39,
|
||||
CG_TYPE_IS_NOT_DEFINED_IN_PROGRAM_ERROR,
|
||||
"Connecting the parameters failed because The type of the "
|
||||
"source parameter is not defined within the given program "
|
||||
"or does not match the type with the same name in the program.")
|
||||
|
||||
CG_ERROR_MACRO(40,
|
||||
CG_INVALID_EFFECT_HANDLE_ERROR,
|
||||
"Invalid effect handle.")
|
||||
|
||||
CG_ERROR_MACRO(41,
|
||||
CG_INVALID_STATE_HANDLE_ERROR,
|
||||
"Invalid state handle.")
|
||||
|
||||
CG_ERROR_MACRO(42,
|
||||
CG_INVALID_STATE_ASSIGNMENT_HANDLE_ERROR,
|
||||
"Invalid stateassignment handle.")
|
||||
|
||||
CG_ERROR_MACRO(43,
|
||||
CG_INVALID_PASS_HANDLE_ERROR,
|
||||
"Invalid pass handle.")
|
||||
|
||||
CG_ERROR_MACRO(44,
|
||||
CG_INVALID_ANNOTATION_HANDLE_ERROR,
|
||||
"Invalid annotation handle.")
|
||||
|
||||
CG_ERROR_MACRO(45,
|
||||
CG_INVALID_TECHNIQUE_HANDLE_ERROR,
|
||||
"Invalid technique handle.")
|
||||
|
||||
/* Do not use this! Use CG_INVALID_PARAM_HANDLE_ERROR instead. */
|
||||
|
||||
CG_ERROR_MACRO(46,
|
||||
CG_INVALID_PARAMETER_HANDLE_ERROR,
|
||||
"Invalid parameter handle.")
|
||||
|
||||
CG_ERROR_MACRO(47,
|
||||
CG_STATE_ASSIGNMENT_TYPE_MISMATCH_ERROR,
|
||||
"Operation is not valid for this type of stateassignment.")
|
||||
|
||||
CG_ERROR_MACRO(48,
|
||||
CG_INVALID_FUNCTION_HANDLE_ERROR,
|
||||
"Invalid function handle.")
|
||||
|
||||
CG_ERROR_MACRO(49,
|
||||
CG_INVALID_TECHNIQUE_ERROR,
|
||||
"Technique did not pass validation.")
|
||||
|
||||
CG_ERROR_MACRO(50,
|
||||
CG_INVALID_POINTER_ERROR,
|
||||
"The supplied pointer is NULL.")
|
||||
|
||||
CG_ERROR_MACRO(51,
|
||||
CG_NOT_ENOUGH_DATA_ERROR,
|
||||
"Not enough data was provided.")
|
||||
|
||||
CG_ERROR_MACRO(52,
|
||||
CG_NON_NUMERIC_PARAMETER_ERROR,
|
||||
"The parameter is not of a numeric type.")
|
||||
|
||||
CG_ERROR_MACRO(53,
|
||||
CG_ARRAY_SIZE_MISMATCH_ERROR,
|
||||
"The specified array sizes are not compatible with the given array.")
|
||||
|
||||
CG_ERROR_MACRO(54,
|
||||
CG_CANNOT_SET_NON_UNIFORM_PARAMETER_ERROR,
|
||||
"Cannot set the value of a non-uniform parameter.")
|
||||
|
||||
CG_ERROR_MACRO(55,
|
||||
CG_DUPLICATE_NAME_ERROR,
|
||||
"This name is already in use.")
|
||||
|
||||
CG_ERROR_MACRO(56,
|
||||
CG_INVALID_OBJ_HANDLE_ERROR,
|
||||
"Invalid object handle.")
|
||||
|
||||
CG_ERROR_MACRO(57,
|
||||
CG_INVALID_BUFFER_HANDLE_ERROR,
|
||||
"Invalid buffer handle.")
|
||||
|
||||
CG_ERROR_MACRO(58,
|
||||
CG_BUFFER_INDEX_OUT_OF_RANGE_ERROR,
|
||||
"Buffer index is out of bounds.")
|
||||
|
||||
CG_ERROR_MACRO(59,
|
||||
CG_BUFFER_ALREADY_MAPPED_ERROR,
|
||||
"The buffer is already mapped.")
|
||||
|
||||
CG_ERROR_MACRO(60,
|
||||
CG_BUFFER_UPDATE_NOT_ALLOWED_ERROR,
|
||||
"The buffer cannot be updated.")
|
||||
|
||||
CG_ERROR_MACRO(61,
|
||||
CG_GLSLG_UNCOMBINED_LOAD_ERROR,
|
||||
"The GLSL geometry program can not load without being combined with a vertex program.")
|
||||
|
||||
#undef CG_ERROR_MACRO
|
||||
|
||||
105
kaplademo/externals/cg/2.2/include/Cg/cg_profiles.h
vendored
Normal file
@ -0,0 +1,105 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (c) 2002-2010, NVIDIA Corporation.
|
||||
*
|
||||
*
|
||||
*
|
||||
* NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
|
||||
* of your agreement to the following terms, and your use, installation,
|
||||
* modification or redistribution of this NVIDIA software constitutes
|
||||
* acceptance of these terms. If you do not agree with these terms, please do
|
||||
* not use, install, modify or redistribute this NVIDIA software.
|
||||
*
|
||||
*
|
||||
*
|
||||
* In consideration of your agreement to abide by the following terms, and
|
||||
* subject to these terms, NVIDIA grants you a personal, non-exclusive license,
|
||||
* under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
|
||||
* Software"), to use, reproduce, modify and redistribute the NVIDIA
|
||||
* Software, with or without modifications, in source and/or binary forms;
|
||||
* provided that if you redistribute the NVIDIA Software, you must retain the
|
||||
* copyright notice of NVIDIA, this notice and the following text and
|
||||
* disclaimers in all such redistributions of the NVIDIA Software. Neither the
|
||||
* name, trademarks, service marks nor logos of NVIDIA Corporation may be used
|
||||
* to endorse or promote products derived from the NVIDIA Software without
|
||||
* specific prior written permission from NVIDIA. Except as expressly stated
|
||||
* in this notice, no other rights or licenses express or implied, are granted
|
||||
* by NVIDIA herein, including but not limited to any patent rights that may be
|
||||
* infringed by your derivative works or by other works in which the NVIDIA
|
||||
* Software may be incorporated. No hardware is licensed hereunder.
|
||||
*
|
||||
*
|
||||
*
|
||||
* THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
|
||||
* WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
|
||||
* EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
|
||||
*
|
||||
*
|
||||
*
|
||||
* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
|
||||
* EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
|
||||
* PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
* PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
|
||||
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
|
||||
* HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
|
||||
* NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
|
||||
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* The following macro invocations define the supported CG profiles.
|
||||
*
|
||||
* The macros have the form :
|
||||
*
|
||||
* CG_PROFILE_MACRO(name, compiler_id, compiler_id_caps, compiler_opt, int_id, vertex_profile)
|
||||
*
|
||||
* name : The name of the profile. Used consistently with the API.
|
||||
* compiler_id : The identifier string for the profile used by the compiler.
|
||||
* compiler_id_caps : compiler_id in caps.
|
||||
* compiler_opt : The command-line switch used to force compilation into
|
||||
* the profile.
|
||||
* int_id : Integer enumerant associated with this bind location.
|
||||
* vertex_profile : Non-zero if this is a vertex profile, otherwise it
|
||||
* is considered to be a fragment profile.
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#define CG_IN_PROFILES_INCLUDE
|
||||
|
||||
/* Used for profile enumeration aliases */
|
||||
#ifndef CG_PROFILE_ALIAS
|
||||
#define CG_PROFILE_ALIAS(name, compiler_id, compiler_id_caps, compiler_opt, int_id, vertex_profile) /*nothing*/
|
||||
#endif
|
||||
|
||||
#include <Cg/cgGL_profiles.h>
|
||||
|
||||
|
||||
CG_PROFILE_MACRO(DX9Vertex11,vs_1_1,VS_1_1,"vs_1_1",6153,1)
|
||||
CG_PROFILE_MACRO(DX9Vertex20,vs_2_0,VS_2_0,"vs_2_0",6154,1)
|
||||
CG_PROFILE_MACRO(DX9Vertex2x,vs_2_x,VS_2_X,"vs_2_x",6155,1)
|
||||
CG_PROFILE_MACRO(DX9Vertex2sw,vs_2_sw,VS_2_SW,"vs_2_sw",6156,1)
|
||||
CG_PROFILE_MACRO(DX9Vertex30,vs_3_0,VS_3_0,"vs_3_0",6157,1)
|
||||
CG_PROFILE_MACRO(DX9VertexHLSL,hlslv, HLSLV,"hlslv",6158,1)
|
||||
|
||||
CG_PROFILE_MACRO(DX9Pixel11,ps_1_1,PS_1_1,"ps_1_1",6159,0)
|
||||
CG_PROFILE_MACRO(DX9Pixel12,ps_1_2,PS_1_2,"ps_1_2",6160,0)
|
||||
CG_PROFILE_MACRO(DX9Pixel13,ps_1_3,PS_1_3,"ps_1_3",6161,0)
|
||||
CG_PROFILE_MACRO(DX9Pixel20,ps_2_0,PS_2_0,"ps_2_0",6162,0)
|
||||
CG_PROFILE_MACRO(DX9Pixel2x,ps_2_x,PS_2_X,"ps_2_x",6163,0)
|
||||
CG_PROFILE_MACRO(DX9Pixel2sw,ps_2_sw,PS_2_SW,"ps_2_sw",6164,0)
|
||||
CG_PROFILE_MACRO(DX9Pixel30,ps_3_0,PS_3_0,"ps_3_0",6165,0)
|
||||
CG_PROFILE_MACRO(DX9PixelHLSL,hlslf,HLSLF,"hlslf",6166,0)
|
||||
|
||||
CG_PROFILE_MACRO(DX10Vertex40,vs_4_0,VS_4_0,"vs_4_0",6167,1)
|
||||
CG_PROFILE_MACRO(DX10Pixel40,ps_4_0,PS_4_0,"ps_4_0",6168,0)
|
||||
CG_PROFILE_MACRO(DX10Geometry40,gs_4_0,GS_4_0,"gs_4_0",6169,0)
|
||||
|
||||
CG_PROFILE_MACRO(Generic, generic, GENERIC, "generic", 7002,0)
|
||||
|
||||
#undef CG_PROFILE_MACRO
|
||||
#undef CG_PROFILE_ALIAS
|
||||
#undef CG_IN_PROFILES_INCLUDE
|
||||
8464
kaplademo/externals/cg/2.2/include/GL/glext.h
vendored
Normal file
797
kaplademo/externals/cg/2.2/include/GL/glut.h
vendored
Normal file
@ -0,0 +1,797 @@
|
||||
#ifndef __glut_h__
|
||||
#define __glut_h__
|
||||
|
||||
/* Copyright (c) Mark J. Kilgard, 1994, 1995, 1996, 1998, 2000, 2006. */
|
||||
|
||||
/* This program is freely distributable without licensing fees and is
|
||||
provided without guarantee or warrantee expressed or implied. This
|
||||
program is -not- in the public domain. */
|
||||
|
||||
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
|
||||
/* GLUT 3.7 now tries to avoid including <windows.h>
|
||||
to avoid name space pollution, but Win32's <GL/gl.h>
|
||||
needs APIENTRY and WINGDIAPI defined properly. */
|
||||
# if 0
|
||||
/* This would put tons of macros and crap in our clean name space. */
|
||||
# define WIN32_LEAN_AND_MEAN
|
||||
# include <windows.h>
|
||||
# else
|
||||
/* XXX This is from Win32's <windef.h> */
|
||||
# ifndef APIENTRY
|
||||
# define GLUT_APIENTRY_DEFINED
|
||||
/* Cygwin and MingW32 are two free GNU-based Open Source compilation
|
||||
environments for Win32. Note that __CYGWIN32__ is deprecated
|
||||
in favor of simply __CYGWIN__. */
|
||||
# if defined(__MINGW32__) || defined(__CYGWIN32__) || defined(__CYGWIN__)
|
||||
# if defined(__CYGWIN__)
|
||||
# define APIENTRY __stdcall
|
||||
# else
|
||||
# ifdef i386
|
||||
# define APIENTRY __attribute__((stdcall))
|
||||
# else
|
||||
# define APIENTRY
|
||||
# endif
|
||||
# endif
|
||||
# else
|
||||
# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
|
||||
# define APIENTRY __stdcall
|
||||
# else
|
||||
# define APIENTRY
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
/* XXX This is from Win32's <winnt.h> */
|
||||
# ifndef CALLBACK
|
||||
# if defined(__MINGW32__) || defined(__CYGWIN32__) || defined(__CYGWIN__)
|
||||
# ifndef __stdcall
|
||||
# define __stdcall __attribute__((stdcall))
|
||||
# endif
|
||||
# define CALLBACK __stdcall
|
||||
# else
|
||||
# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
|
||||
# define CALLBACK __stdcall
|
||||
# else
|
||||
# define CALLBACK
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
/* XXX This is from Win32's <wingdi.h> and <winnt.h> */
|
||||
# ifndef WINGDIAPI
|
||||
# define GLUT_WINGDIAPI_DEFINED
|
||||
# if defined(__MINGW32__) || defined(__CYGWIN32__) || defined(__CYGWIN__)
|
||||
# define WINGDIAPI
|
||||
# else
|
||||
# define WINGDIAPI __declspec(dllimport)
|
||||
# endif
|
||||
# endif
|
||||
# if defined(__MINGW32__) || defined(__CYGWIN32__) || defined(__CYGWIN__)
|
||||
/* Rely on Cygwin32/MingW32 <stddef.h> to set wchar_t. */
|
||||
/* XXX Warning. The Cygwin32/MingW32 definition for wchar_t
|
||||
is an "int" instead of the "short" used by Windows. */
|
||||
# include <stddef.h>
|
||||
# else
|
||||
/* XXX This is from Win32's <ctype.h> */
|
||||
# ifndef _WCHAR_T_DEFINED
|
||||
typedef unsigned short wchar_t;
|
||||
# define _WCHAR_T_DEFINED
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* To disable automatic library usage for GLUT, define GLUT_NO_LIB_PRAGMA
|
||||
in your compile preprocessor options (Microsoft Visual C only). */
|
||||
# if !defined(GLUT_BUILDING_LIB) && !defined(GLUT_NO_LIB_PRAGMA) && defined(_MSC_VER)
|
||||
# pragma comment (lib, "winmm.lib") /* link with Windows MultiMedia lib */
|
||||
# pragma comment (lib, "user32.lib") /* link with Windows User lib */
|
||||
# pragma comment (lib, "gdi32.lib") /* link with Windows GDI lib */
|
||||
/* To enable automatic SGI OpenGL for Windows library usage for GLUT,
|
||||
define GLUT_USE_SGI_OPENGL in your compile preprocessor options. */
|
||||
# ifdef GLUT_USE_SGI_OPENGL
|
||||
# pragma comment (lib, "opengl.lib") /* link with SGI OpenGL for Windows lib */
|
||||
# pragma comment (lib, "glu.lib") /* link with SGI OpenGL Utility lib */
|
||||
# if defined(GLUT_STATIC_LIB)
|
||||
# pragma comment (lib, "glutstatic.lib") /* link with static Win32 GLUT lib */
|
||||
# else
|
||||
# pragma comment (lib, "glut.lib") /* link with Win32 GLUT lib */
|
||||
# endif
|
||||
# else
|
||||
# pragma comment (lib, "opengl32.lib") /* link with Microsoft OpenGL lib */
|
||||
# pragma comment (lib, "glu32.lib") /* link with Microsoft OpenGL Utility lib */
|
||||
# if defined(GLUT_STATIC_LIB)
|
||||
# pragma comment (lib, "glutstatic.lib") /* link with static Win32 GLUT lib */
|
||||
# else
|
||||
# pragma comment (lib, "glut32.lib") /* link with Win32 GLUT lib */
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* To disable supression of annoying warnings about floats being promoted
|
||||
to doubles, define GLUT_NO_WARNING_DISABLE in your compile preprocessor
|
||||
options. */
|
||||
# if defined(_MSC_VER) && !defined(GLUT_NO_WARNING_DISABLE)
|
||||
# pragma warning (disable:4244) /* Disable bogus VC++ 4.2 conversion warnings. */
|
||||
# pragma warning (disable:4305) /* VC++ 5.0 version of above warning. */
|
||||
# endif
|
||||
|
||||
/* Win32 has an annoying issue where there are multiple C run-time
|
||||
libraries (CRTs). If the executable is linked with a different CRT
|
||||
from the GLUT DLL, the GLUT DLL will not share the same CRT static
|
||||
data seen by the executable. In particular, atexit callbacks registered
|
||||
in the executable will not be called if GLUT calls its (different)
|
||||
exit routine). GLUT is typically built with the
|
||||
"/MD" option (the CRT with multithreading DLL support), but the Visual
|
||||
C++ linker default is "/ML" (the single threaded CRT).
|
||||
|
||||
One workaround to this issue is requiring users to always link with
|
||||
the same CRT as GLUT is compiled with. That requires users supply a
|
||||
non-standard option. GLUT 3.7 has its own built-in workaround where
|
||||
the executable's "exit" function pointer is covertly passed to GLUT.
|
||||
GLUT then calls the executable's exit function pointer to ensure that
|
||||
any "atexit" calls registered by the application are called if GLUT
|
||||
needs to exit.
|
||||
|
||||
Note that the __glut*WithExit routines should NEVER be called directly.
|
||||
To avoid the atexit workaround, #define GLUT_DISABLE_ATEXIT_HACK. */
|
||||
|
||||
/* XXX This is from Win32's <process.h> */
|
||||
# if !defined(_MSC_VER) && !defined(__cdecl)
|
||||
/* Define __cdecl for non-Microsoft compilers. */
|
||||
# define __cdecl
|
||||
# define GLUT_DEFINED___CDECL
|
||||
# endif
|
||||
# ifndef _CRTIMP
|
||||
# ifdef _NTSDK
|
||||
/* Definition compatible with NT SDK */
|
||||
# define _CRTIMP
|
||||
# else
|
||||
/* Current definition */
|
||||
# ifdef _DLL
|
||||
# define _CRTIMP __declspec(dllimport)
|
||||
# else
|
||||
# define _CRTIMP
|
||||
# endif
|
||||
# endif
|
||||
# define GLUT_DEFINED__CRTIMP
|
||||
# endif
|
||||
|
||||
/* GLUT API entry point declarations for Win32. */
|
||||
# ifdef GLUT_BUILDING_LIB
|
||||
/* MSDN article 835326 says "When you build a DLL by using the 64-bit
|
||||
version of the Microsoft Visual C++ Compiler and Linker, you may
|
||||
receive Linker error number LNK4197 if a function has been declared
|
||||
for export more than one time." GLUT builds with glut.def that
|
||||
declares GLUT's EXPORTS list so do not use __declspec(dllexport)
|
||||
to keep 64-bit compiler happy. */
|
||||
# define GLUTAPI /*__declspec(dllexport)*/
|
||||
# else
|
||||
# ifdef _DLL
|
||||
# define GLUTAPI __declspec(dllimport)
|
||||
# else
|
||||
# define GLUTAPI extern
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* GLUT callback calling convention for Win32. */
|
||||
# define GLUTCALLBACK __cdecl
|
||||
|
||||
# if (_MSC_VER >= 800) || defined(__MINGW32__) || defined(_STDCALL_SUPPORTED) || defined(__CYGWIN32__)
|
||||
# define GLUTAPIENTRY __stdcall
|
||||
# else
|
||||
# define GLUTAPIENTRY
|
||||
# endif
|
||||
|
||||
#endif /* _WIN32 */
|
||||
|
||||
#include <GL/gl.h>
|
||||
#include <GL/glu.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(_WIN32) || defined(__CYGWIN__)
|
||||
# ifndef GLUT_BUILDING_LIB
|
||||
# if __BORLANDC__
|
||||
# if defined(_BUILDRTLDLL)
|
||||
void __cdecl __export exit(int __status);
|
||||
# else
|
||||
void __cdecl exit(int __status);
|
||||
# endif
|
||||
# else
|
||||
# if _MSC_VER >= 1200
|
||||
extern _CRTIMP __declspec(noreturn) void __cdecl exit(int);
|
||||
# else
|
||||
extern _CRTIMP void __cdecl exit(int);
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
#else
|
||||
/* non-Win32 case. */
|
||||
/* Define APIENTRY and CALLBACK to nothing if we aren't on Win32. */
|
||||
# define APIENTRY
|
||||
# define GLUT_APIENTRY_DEFINED
|
||||
# define CALLBACK
|
||||
/* Define GLUTAPI and GLUTCALLBACK as below if we aren't on Win32. */
|
||||
# define GLUTAPI extern
|
||||
# define GLUTAPIENTRY
|
||||
# define GLUTCALLBACK
|
||||
/* Prototype exit for the non-Win32 case (see above). */
|
||||
# ifdef __GNUC__
|
||||
extern void exit(int __status) __attribute__((__noreturn__));
|
||||
# else
|
||||
extern void exit(int);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/**
|
||||
GLUT API revision history:
|
||||
|
||||
GLUT_API_VERSION is updated to reflect incompatible GLUT
|
||||
API changes (interface changes, semantic changes, deletions,
|
||||
or additions).
|
||||
|
||||
GLUT_API_VERSION=1 First public release of GLUT. 11/29/94
|
||||
|
||||
GLUT_API_VERSION=2 Added support for OpenGL/GLX multisampling,
|
||||
extension. Supports new input devices like tablet, dial and button
|
||||
box, and Spaceball. Easy to query OpenGL extensions.
|
||||
|
||||
GLUT_API_VERSION=3 glutMenuStatus added.
|
||||
|
||||
GLUT_API_VERSION=4 glutInitDisplayString, glutWarpPointer,
|
||||
glutBitmapLength, glutStrokeLength, glutWindowStatusFunc, dynamic
|
||||
video resize subAPI, glutPostWindowRedisplay, glutKeyboardUpFunc,
|
||||
glutSpecialUpFunc, glutIgnoreKeyRepeat, glutSetKeyRepeat,
|
||||
glutJoystickFunc, glutForceJoystickFunc, glutStrokeWidthf,
|
||||
glutStrokeLengthf (NOT FINALIZED!).
|
||||
**/
|
||||
#ifndef GLUT_API_VERSION /* allow this to be overriden */
|
||||
#define GLUT_API_VERSION 3
|
||||
#endif
|
||||
|
||||
/**
|
||||
GLUT implementation revision history:
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION is updated to reflect both GLUT
|
||||
API revisions and implementation revisions (ie, bug fixes).
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=1 mjk's first public release of
|
||||
GLUT Xlib-based implementation. 11/29/94
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=2 mjk's second public release of
|
||||
GLUT Xlib-based implementation providing GLUT version 2
|
||||
interfaces.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=3 mjk's GLUT 2.2 images. 4/17/95
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=4 mjk's GLUT 2.3 images. 6/?/95
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=5 mjk's GLUT 3.0 images. 10/?/95
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=7 mjk's GLUT 3.1+ with glutWarpPoitner. 7/24/96
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=8 mjk's GLUT 3.1+ with glutWarpPoitner
|
||||
and video resize. 1/3/97
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=9 mjk's GLUT 3.4 release with early GLUT 4 routines.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=11 Mesa 2.5's GLUT 3.6 release.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=12 mjk's GLUT 3.6 release with early GLUT 4 routines + signal handling.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=13 mjk's GLUT 3.7 beta with GameGLUT support.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=14 mjk's GLUT 3.7 beta with f90gl friend interface.
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=15 mjk's GLUT 3.7 beta sync'ed with Mesa <GL/glut.h>
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=16 mjk's early GLUT 3.8
|
||||
|
||||
GLUT_XLIB_IMPLEMENTATION=17 mjk's GLUT 3.8 with glutStrokeWidthf and glutStrokeLengthf
|
||||
**/
|
||||
#ifndef GLUT_XLIB_IMPLEMENTATION /* Allow this to be overriden. */
|
||||
#define GLUT_XLIB_IMPLEMENTATION 17
|
||||
#endif
|
||||
|
||||
/* Display mode bit masks. */
|
||||
#define GLUT_RGB 0
|
||||
#define GLUT_RGBA GLUT_RGB
|
||||
#define GLUT_INDEX 1
|
||||
#define GLUT_SINGLE 0
|
||||
#define GLUT_DOUBLE 2
|
||||
#define GLUT_ACCUM 4
|
||||
#define GLUT_ALPHA 8
|
||||
#define GLUT_DEPTH 16
|
||||
#define GLUT_STENCIL 32
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
#define GLUT_MULTISAMPLE 128
|
||||
#define GLUT_STEREO 256
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
#define GLUT_LUMINANCE 512
|
||||
#endif
|
||||
|
||||
/* Mouse buttons. */
|
||||
#define GLUT_LEFT_BUTTON 0
|
||||
#define GLUT_MIDDLE_BUTTON 1
|
||||
#define GLUT_RIGHT_BUTTON 2
|
||||
|
||||
/* Mouse button state. */
|
||||
#define GLUT_DOWN 0
|
||||
#define GLUT_UP 1
|
||||
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
/* function keys */
|
||||
#define GLUT_KEY_F1 1
|
||||
#define GLUT_KEY_F2 2
|
||||
#define GLUT_KEY_F3 3
|
||||
#define GLUT_KEY_F4 4
|
||||
#define GLUT_KEY_F5 5
|
||||
#define GLUT_KEY_F6 6
|
||||
#define GLUT_KEY_F7 7
|
||||
#define GLUT_KEY_F8 8
|
||||
#define GLUT_KEY_F9 9
|
||||
#define GLUT_KEY_F10 10
|
||||
#define GLUT_KEY_F11 11
|
||||
#define GLUT_KEY_F12 12
|
||||
/* directional keys */
|
||||
#define GLUT_KEY_LEFT 100
|
||||
#define GLUT_KEY_UP 101
|
||||
#define GLUT_KEY_RIGHT 102
|
||||
#define GLUT_KEY_DOWN 103
|
||||
#define GLUT_KEY_PAGE_UP 104
|
||||
#define GLUT_KEY_PAGE_DOWN 105
|
||||
#define GLUT_KEY_HOME 106
|
||||
#define GLUT_KEY_END 107
|
||||
#define GLUT_KEY_INSERT 108
|
||||
#endif
|
||||
|
||||
/* Entry/exit state. */
|
||||
#define GLUT_LEFT 0
|
||||
#define GLUT_ENTERED 1
|
||||
|
||||
/* Menu usage state. */
|
||||
#define GLUT_MENU_NOT_IN_USE 0
|
||||
#define GLUT_MENU_IN_USE 1
|
||||
|
||||
/* Visibility state. */
|
||||
#define GLUT_NOT_VISIBLE 0
|
||||
#define GLUT_VISIBLE 1
|
||||
|
||||
/* Window status state. */
|
||||
#define GLUT_HIDDEN 0
|
||||
#define GLUT_FULLY_RETAINED 1
|
||||
#define GLUT_PARTIALLY_RETAINED 2
|
||||
#define GLUT_FULLY_COVERED 3
|
||||
|
||||
/* Color index component selection values. */
|
||||
#define GLUT_RED 0
|
||||
#define GLUT_GREEN 1
|
||||
#define GLUT_BLUE 2
|
||||
|
||||
#ifdef _WIN32
|
||||
/* Stroke font constants (use these in GLUT program). */
|
||||
#define GLUT_STROKE_ROMAN ((void*)0)
|
||||
#define GLUT_STROKE_MONO_ROMAN ((void*)1)
|
||||
|
||||
/* Bitmap font constants (use these in GLUT program). */
|
||||
#define GLUT_BITMAP_9_BY_15 ((void*)2)
|
||||
#define GLUT_BITMAP_8_BY_13 ((void*)3)
|
||||
#define GLUT_BITMAP_TIMES_ROMAN_10 ((void*)4)
|
||||
#define GLUT_BITMAP_TIMES_ROMAN_24 ((void*)5)
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
#define GLUT_BITMAP_HELVETICA_10 ((void*)6)
|
||||
#define GLUT_BITMAP_HELVETICA_12 ((void*)7)
|
||||
#define GLUT_BITMAP_HELVETICA_18 ((void*)8)
|
||||
#endif
|
||||
#else
|
||||
/* Stroke font opaque addresses (use constants instead in source code). */
|
||||
GLUTAPI void *glutStrokeRoman;
|
||||
GLUTAPI void *glutStrokeMonoRoman;
|
||||
|
||||
/* Stroke font constants (use these in GLUT program). */
|
||||
#define GLUT_STROKE_ROMAN (&glutStrokeRoman)
|
||||
#define GLUT_STROKE_MONO_ROMAN (&glutStrokeMonoRoman)
|
||||
|
||||
/* Bitmap font opaque addresses (use constants instead in source code). */
|
||||
GLUTAPI void *glutBitmap9By15;
|
||||
GLUTAPI void *glutBitmap8By13;
|
||||
GLUTAPI void *glutBitmapTimesRoman10;
|
||||
GLUTAPI void *glutBitmapTimesRoman24;
|
||||
GLUTAPI void *glutBitmapHelvetica10;
|
||||
GLUTAPI void *glutBitmapHelvetica12;
|
||||
GLUTAPI void *glutBitmapHelvetica18;
|
||||
|
||||
/* Bitmap font constants (use these in GLUT program). */
|
||||
#define GLUT_BITMAP_9_BY_15 (&glutBitmap9By15)
|
||||
#define GLUT_BITMAP_8_BY_13 (&glutBitmap8By13)
|
||||
#define GLUT_BITMAP_TIMES_ROMAN_10 (&glutBitmapTimesRoman10)
|
||||
#define GLUT_BITMAP_TIMES_ROMAN_24 (&glutBitmapTimesRoman24)
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
#define GLUT_BITMAP_HELVETICA_10 (&glutBitmapHelvetica10)
|
||||
#define GLUT_BITMAP_HELVETICA_12 (&glutBitmapHelvetica12)
|
||||
#define GLUT_BITMAP_HELVETICA_18 (&glutBitmapHelvetica18)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* glutGet parameters. */
|
||||
#define GLUT_WINDOW_X ((GLenum) 100)
|
||||
#define GLUT_WINDOW_Y ((GLenum) 101)
|
||||
#define GLUT_WINDOW_WIDTH ((GLenum) 102)
|
||||
#define GLUT_WINDOW_HEIGHT ((GLenum) 103)
|
||||
#define GLUT_WINDOW_BUFFER_SIZE ((GLenum) 104)
|
||||
#define GLUT_WINDOW_STENCIL_SIZE ((GLenum) 105)
|
||||
#define GLUT_WINDOW_DEPTH_SIZE ((GLenum) 106)
|
||||
#define GLUT_WINDOW_RED_SIZE ((GLenum) 107)
|
||||
#define GLUT_WINDOW_GREEN_SIZE ((GLenum) 108)
|
||||
#define GLUT_WINDOW_BLUE_SIZE ((GLenum) 109)
|
||||
#define GLUT_WINDOW_ALPHA_SIZE ((GLenum) 110)
|
||||
#define GLUT_WINDOW_ACCUM_RED_SIZE ((GLenum) 111)
|
||||
#define GLUT_WINDOW_ACCUM_GREEN_SIZE ((GLenum) 112)
|
||||
#define GLUT_WINDOW_ACCUM_BLUE_SIZE ((GLenum) 113)
|
||||
#define GLUT_WINDOW_ACCUM_ALPHA_SIZE ((GLenum) 114)
|
||||
#define GLUT_WINDOW_DOUBLEBUFFER ((GLenum) 115)
|
||||
#define GLUT_WINDOW_RGBA ((GLenum) 116)
|
||||
#define GLUT_WINDOW_PARENT ((GLenum) 117)
|
||||
#define GLUT_WINDOW_NUM_CHILDREN ((GLenum) 118)
|
||||
#define GLUT_WINDOW_COLORMAP_SIZE ((GLenum) 119)
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
#define GLUT_WINDOW_NUM_SAMPLES ((GLenum) 120)
|
||||
#define GLUT_WINDOW_STEREO ((GLenum) 121)
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
#define GLUT_WINDOW_CURSOR ((GLenum) 122)
|
||||
#endif
|
||||
#define GLUT_SCREEN_WIDTH ((GLenum) 200)
|
||||
#define GLUT_SCREEN_HEIGHT ((GLenum) 201)
|
||||
#define GLUT_SCREEN_WIDTH_MM ((GLenum) 202)
|
||||
#define GLUT_SCREEN_HEIGHT_MM ((GLenum) 203)
|
||||
#define GLUT_MENU_NUM_ITEMS ((GLenum) 300)
|
||||
#define GLUT_DISPLAY_MODE_POSSIBLE ((GLenum) 400)
|
||||
#define GLUT_INIT_WINDOW_X ((GLenum) 500)
|
||||
#define GLUT_INIT_WINDOW_Y ((GLenum) 501)
|
||||
#define GLUT_INIT_WINDOW_WIDTH ((GLenum) 502)
|
||||
#define GLUT_INIT_WINDOW_HEIGHT ((GLenum) 503)
|
||||
#define GLUT_INIT_DISPLAY_MODE ((GLenum) 504)
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
#define GLUT_ELAPSED_TIME ((GLenum) 700)
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
#define GLUT_WINDOW_FORMAT_ID ((GLenum) 123)
|
||||
#endif
|
||||
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
/* glutDeviceGet parameters. */
|
||||
#define GLUT_HAS_KEYBOARD ((GLenum) 600)
|
||||
#define GLUT_HAS_MOUSE ((GLenum) 601)
|
||||
#define GLUT_HAS_SPACEBALL ((GLenum) 602)
|
||||
#define GLUT_HAS_DIAL_AND_BUTTON_BOX ((GLenum) 603)
|
||||
#define GLUT_HAS_TABLET ((GLenum) 604)
|
||||
#define GLUT_NUM_MOUSE_BUTTONS ((GLenum) 605)
|
||||
#define GLUT_NUM_SPACEBALL_BUTTONS ((GLenum) 606)
|
||||
#define GLUT_NUM_BUTTON_BOX_BUTTONS ((GLenum) 607)
|
||||
#define GLUT_NUM_DIALS ((GLenum) 608)
|
||||
#define GLUT_NUM_TABLET_BUTTONS ((GLenum) 609)
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
#define GLUT_DEVICE_IGNORE_KEY_REPEAT ((GLenum) 610)
|
||||
#define GLUT_DEVICE_KEY_REPEAT ((GLenum) 611)
|
||||
#define GLUT_HAS_JOYSTICK ((GLenum) 612)
|
||||
#define GLUT_OWNS_JOYSTICK ((GLenum) 613)
|
||||
#define GLUT_JOYSTICK_BUTTONS ((GLenum) 614)
|
||||
#define GLUT_JOYSTICK_AXES ((GLenum) 615)
|
||||
#define GLUT_JOYSTICK_POLL_RATE ((GLenum) 616)
|
||||
#endif
|
||||
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
/* glutLayerGet parameters. */
|
||||
#define GLUT_OVERLAY_POSSIBLE ((GLenum) 800)
|
||||
#define GLUT_LAYER_IN_USE ((GLenum) 801)
|
||||
#define GLUT_HAS_OVERLAY ((GLenum) 802)
|
||||
#define GLUT_TRANSPARENT_INDEX ((GLenum) 803)
|
||||
#define GLUT_NORMAL_DAMAGED ((GLenum) 804)
|
||||
#define GLUT_OVERLAY_DAMAGED ((GLenum) 805)
|
||||
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
/* glutVideoResizeGet parameters. */
|
||||
#define GLUT_VIDEO_RESIZE_POSSIBLE ((GLenum) 900)
|
||||
#define GLUT_VIDEO_RESIZE_IN_USE ((GLenum) 901)
|
||||
#define GLUT_VIDEO_RESIZE_X_DELTA ((GLenum) 902)
|
||||
#define GLUT_VIDEO_RESIZE_Y_DELTA ((GLenum) 903)
|
||||
#define GLUT_VIDEO_RESIZE_WIDTH_DELTA ((GLenum) 904)
|
||||
#define GLUT_VIDEO_RESIZE_HEIGHT_DELTA ((GLenum) 905)
|
||||
#define GLUT_VIDEO_RESIZE_X ((GLenum) 906)
|
||||
#define GLUT_VIDEO_RESIZE_Y ((GLenum) 907)
|
||||
#define GLUT_VIDEO_RESIZE_WIDTH ((GLenum) 908)
|
||||
#define GLUT_VIDEO_RESIZE_HEIGHT ((GLenum) 909)
|
||||
#endif
|
||||
|
||||
/* glutUseLayer parameters. */
|
||||
#define GLUT_NORMAL ((GLenum) 0)
|
||||
#define GLUT_OVERLAY ((GLenum) 1)
|
||||
|
||||
/* glutGetModifiers return mask. */
|
||||
#define GLUT_ACTIVE_SHIFT 1
|
||||
#define GLUT_ACTIVE_CTRL 2
|
||||
#define GLUT_ACTIVE_ALT 4
|
||||
|
||||
/* glutSetCursor parameters. */
|
||||
/* Basic arrows. */
|
||||
#define GLUT_CURSOR_RIGHT_ARROW 0
|
||||
#define GLUT_CURSOR_LEFT_ARROW 1
|
||||
/* Symbolic cursor shapes. */
|
||||
#define GLUT_CURSOR_INFO 2
|
||||
#define GLUT_CURSOR_DESTROY 3
|
||||
#define GLUT_CURSOR_HELP 4
|
||||
#define GLUT_CURSOR_CYCLE 5
|
||||
#define GLUT_CURSOR_SPRAY 6
|
||||
#define GLUT_CURSOR_WAIT 7
|
||||
#define GLUT_CURSOR_TEXT 8
|
||||
#define GLUT_CURSOR_CROSSHAIR 9
|
||||
/* Directional cursors. */
|
||||
#define GLUT_CURSOR_UP_DOWN 10
|
||||
#define GLUT_CURSOR_LEFT_RIGHT 11
|
||||
/* Sizing cursors. */
|
||||
#define GLUT_CURSOR_TOP_SIDE 12
|
||||
#define GLUT_CURSOR_BOTTOM_SIDE 13
|
||||
#define GLUT_CURSOR_LEFT_SIDE 14
|
||||
#define GLUT_CURSOR_RIGHT_SIDE 15
|
||||
#define GLUT_CURSOR_TOP_LEFT_CORNER 16
|
||||
#define GLUT_CURSOR_TOP_RIGHT_CORNER 17
|
||||
#define GLUT_CURSOR_BOTTOM_RIGHT_CORNER 18
|
||||
#define GLUT_CURSOR_BOTTOM_LEFT_CORNER 19
|
||||
/* Inherit from parent window. */
|
||||
#define GLUT_CURSOR_INHERIT 100
|
||||
/* Blank cursor. */
|
||||
#define GLUT_CURSOR_NONE 101
|
||||
/* Fullscreen crosshair (if available). */
|
||||
#define GLUT_CURSOR_FULL_CROSSHAIR 102
|
||||
#endif
|
||||
|
||||
/* GLUT initialization sub-API. */
|
||||
GLUTAPI void GLUTAPIENTRY glutInit(int *argcp, char **argv);
|
||||
#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
|
||||
GLUTAPI void GLUTAPIENTRY __glutInitWithExit(int *argcp, char **argv, void (__cdecl *exitfunc)(int));
|
||||
#ifndef GLUT_BUILDING_LIB
|
||||
static void GLUTAPIENTRY glutInit_ATEXIT_HACK(int *argcp, char **argv) { __glutInitWithExit(argcp, argv, exit); }
|
||||
#define glutInit glutInit_ATEXIT_HACK
|
||||
#endif
|
||||
#endif
|
||||
GLUTAPI void GLUTAPIENTRY glutInitDisplayMode(unsigned int mode);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
GLUTAPI void GLUTAPIENTRY glutInitDisplayString(const char *string);
|
||||
#endif
|
||||
GLUTAPI void GLUTAPIENTRY glutInitWindowPosition(int x, int y);
|
||||
GLUTAPI void GLUTAPIENTRY glutInitWindowSize(int width, int height);
|
||||
GLUTAPI void GLUTAPIENTRY glutMainLoop(void);
|
||||
|
||||
/* GLUT window sub-API. */
|
||||
GLUTAPI int GLUTAPIENTRY glutCreateWindow(const char *title);
|
||||
#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
|
||||
GLUTAPI int GLUTAPIENTRY __glutCreateWindowWithExit(const char *title, void (__cdecl *exitfunc)(int));
|
||||
#ifndef GLUT_BUILDING_LIB
|
||||
static int GLUTAPIENTRY glutCreateWindow_ATEXIT_HACK(const char *title) { return __glutCreateWindowWithExit(title, exit); }
|
||||
#define glutCreateWindow glutCreateWindow_ATEXIT_HACK
|
||||
#endif
|
||||
#endif
|
||||
GLUTAPI int GLUTAPIENTRY glutCreateSubWindow(int win, int x, int y, int width, int height);
|
||||
GLUTAPI void GLUTAPIENTRY glutDestroyWindow(int win);
|
||||
GLUTAPI void GLUTAPIENTRY glutPostRedisplay(void);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
|
||||
GLUTAPI void GLUTAPIENTRY glutPostWindowRedisplay(int win);
|
||||
#endif
|
||||
GLUTAPI void GLUTAPIENTRY glutSwapBuffers(void);
|
||||
GLUTAPI int GLUTAPIENTRY glutGetWindow(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetWindow(int win);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetWindowTitle(const char *title);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetIconTitle(const char *title);
|
||||
GLUTAPI void GLUTAPIENTRY glutPositionWindow(int x, int y);
|
||||
GLUTAPI void GLUTAPIENTRY glutReshapeWindow(int width, int height);
|
||||
GLUTAPI void GLUTAPIENTRY glutPopWindow(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutPushWindow(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutIconifyWindow(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutShowWindow(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutHideWindow(void);
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
GLUTAPI void GLUTAPIENTRY glutFullScreen(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetCursor(int cursor);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
GLUTAPI void GLUTAPIENTRY glutWarpPointer(int x, int y);
|
||||
#endif
|
||||
|
||||
/* GLUT overlay sub-API. */
|
||||
GLUTAPI void GLUTAPIENTRY glutEstablishOverlay(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutRemoveOverlay(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutUseLayer(GLenum layer);
|
||||
GLUTAPI void GLUTAPIENTRY glutPostOverlayRedisplay(void);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 11)
|
||||
GLUTAPI void GLUTAPIENTRY glutPostWindowOverlayRedisplay(int win);
|
||||
#endif
|
||||
GLUTAPI void GLUTAPIENTRY glutShowOverlay(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutHideOverlay(void);
|
||||
#endif
|
||||
|
||||
/* GLUT menu sub-API. */
|
||||
GLUTAPI int GLUTAPIENTRY glutCreateMenu(void (GLUTCALLBACK *func)(int));
|
||||
#if defined(_WIN32) && !defined(GLUT_DISABLE_ATEXIT_HACK)
|
||||
GLUTAPI int GLUTAPIENTRY __glutCreateMenuWithExit(void (GLUTCALLBACK *func)(int), void (__cdecl *exitfunc)(int));
|
||||
#ifndef GLUT_BUILDING_LIB
|
||||
static int GLUTAPIENTRY glutCreateMenu_ATEXIT_HACK(void (GLUTCALLBACK *func)(int)) { return __glutCreateMenuWithExit(func, exit); }
|
||||
#define glutCreateMenu glutCreateMenu_ATEXIT_HACK
|
||||
#endif
|
||||
#endif
|
||||
GLUTAPI void GLUTAPIENTRY glutDestroyMenu(int menu);
|
||||
GLUTAPI int GLUTAPIENTRY glutGetMenu(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetMenu(int menu);
|
||||
GLUTAPI void GLUTAPIENTRY glutAddMenuEntry(const char *label, int value);
|
||||
GLUTAPI void GLUTAPIENTRY glutAddSubMenu(const char *label, int submenu);
|
||||
GLUTAPI void GLUTAPIENTRY glutChangeToMenuEntry(int item, const char *label, int value);
|
||||
GLUTAPI void GLUTAPIENTRY glutChangeToSubMenu(int item, const char *label, int submenu);
|
||||
GLUTAPI void GLUTAPIENTRY glutRemoveMenuItem(int item);
|
||||
GLUTAPI void GLUTAPIENTRY glutAttachMenu(int button);
|
||||
GLUTAPI void GLUTAPIENTRY glutDetachMenu(int button);
|
||||
|
||||
/* GLUT window callback sub-API. */
|
||||
GLUTAPI void GLUTAPIENTRY glutDisplayFunc(void (GLUTCALLBACK *func)(void));
|
||||
GLUTAPI void GLUTAPIENTRY glutReshapeFunc(void (GLUTCALLBACK *func)(int width, int height));
|
||||
GLUTAPI void GLUTAPIENTRY glutKeyboardFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutMouseFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutPassiveMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutEntryFunc(void (GLUTCALLBACK *func)(int state));
|
||||
GLUTAPI void GLUTAPIENTRY glutVisibilityFunc(void (GLUTCALLBACK *func)(int state));
|
||||
GLUTAPI void GLUTAPIENTRY glutIdleFunc(void (GLUTCALLBACK *func)(void));
|
||||
GLUTAPI void GLUTAPIENTRY glutTimerFunc(unsigned int millis, void (GLUTCALLBACK *func)(int value), int value);
|
||||
GLUTAPI void GLUTAPIENTRY glutMenuStateFunc(void (GLUTCALLBACK *func)(int state));
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
GLUTAPI void GLUTAPIENTRY glutSpecialFunc(void (GLUTCALLBACK *func)(int key, int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutSpaceballMotionFunc(void (GLUTCALLBACK *func)(int x, int y, int z));
|
||||
GLUTAPI void GLUTAPIENTRY glutSpaceballRotateFunc(void (GLUTCALLBACK *func)(int x, int y, int z));
|
||||
GLUTAPI void GLUTAPIENTRY glutSpaceballButtonFunc(void (GLUTCALLBACK *func)(int button, int state));
|
||||
GLUTAPI void GLUTAPIENTRY glutButtonBoxFunc(void (GLUTCALLBACK *func)(int button, int state));
|
||||
GLUTAPI void GLUTAPIENTRY glutDialsFunc(void (GLUTCALLBACK *func)(int dial, int value));
|
||||
GLUTAPI void GLUTAPIENTRY glutTabletMotionFunc(void (GLUTCALLBACK *func)(int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutTabletButtonFunc(void (GLUTCALLBACK *func)(int button, int state, int x, int y));
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
GLUTAPI void GLUTAPIENTRY glutMenuStatusFunc(void (GLUTCALLBACK *func)(int status, int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutOverlayDisplayFunc(void (GLUTCALLBACK *func)(void));
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
GLUTAPI void GLUTAPIENTRY glutWindowStatusFunc(void (GLUTCALLBACK *func)(int state));
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
GLUTAPI void GLUTAPIENTRY glutKeyboardUpFunc(void (GLUTCALLBACK *func)(unsigned char key, int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutSpecialUpFunc(void (GLUTCALLBACK *func)(int key, int x, int y));
|
||||
GLUTAPI void GLUTAPIENTRY glutJoystickFunc(void (GLUTCALLBACK *func)(unsigned int buttonMask, int x, int y, int z), int pollInterval);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* GLUT color index sub-API. */
|
||||
GLUTAPI void GLUTAPIENTRY glutSetColor(int, GLfloat red, GLfloat green, GLfloat blue);
|
||||
GLUTAPI GLfloat GLUTAPIENTRY glutGetColor(int ndx, int component);
|
||||
GLUTAPI void GLUTAPIENTRY glutCopyColormap(int win);
|
||||
|
||||
/* GLUT state retrieval sub-API. */
|
||||
GLUTAPI int GLUTAPIENTRY glutGet(GLenum type);
|
||||
GLUTAPI int GLUTAPIENTRY glutDeviceGet(GLenum type);
|
||||
#if (GLUT_API_VERSION >= 2)
|
||||
/* GLUT extension support sub-API */
|
||||
GLUTAPI int GLUTAPIENTRY glutExtensionSupported(const char *name);
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 3)
|
||||
GLUTAPI int GLUTAPIENTRY glutGetModifiers(void);
|
||||
GLUTAPI int GLUTAPIENTRY glutLayerGet(GLenum type);
|
||||
#endif
|
||||
|
||||
/* GLUT font sub-API */
|
||||
GLUTAPI void GLUTAPIENTRY glutBitmapCharacter(void *font, int character);
|
||||
GLUTAPI int GLUTAPIENTRY glutBitmapWidth(void *font, int character);
|
||||
GLUTAPI void GLUTAPIENTRY glutStrokeCharacter(void *font, int character);
|
||||
GLUTAPI int GLUTAPIENTRY glutStrokeWidth(void *font, int character);
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
GLUTAPI int GLUTAPIENTRY glutBitmapLength(void *font, const unsigned char *string);
|
||||
GLUTAPI int GLUTAPIENTRY glutStrokeLength(void *font, const unsigned char *string);
|
||||
#endif
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 17)
|
||||
GLUTAPI float GLUTAPIENTRY glutStrokeWidthf(void *font, int character);
|
||||
GLUTAPI float GLUTAPIENTRY glutStrokeLengthf(void *font, const unsigned char *string);
|
||||
#endif
|
||||
|
||||
/* GLUT pre-built models sub-API */
|
||||
GLUTAPI void GLUTAPIENTRY glutWireSphere(GLdouble radius, GLint slices, GLint stacks);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidSphere(GLdouble radius, GLint slices, GLint stacks);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidCone(GLdouble base, GLdouble height, GLint slices, GLint stacks);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireCube(GLdouble size);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidCube(GLdouble size);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidTorus(GLdouble innerRadius, GLdouble outerRadius, GLint sides, GLint rings);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireDodecahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidDodecahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireTeapot(GLdouble size);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidTeapot(GLdouble size);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireOctahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidOctahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireTetrahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidTetrahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutWireIcosahedron(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutSolidIcosahedron(void);
|
||||
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 9)
|
||||
/* GLUT video resize sub-API. */
|
||||
GLUTAPI int GLUTAPIENTRY glutVideoResizeGet(GLenum param);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetupVideoResizing(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutStopVideoResizing(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutVideoResize(int x, int y, int width, int height);
|
||||
GLUTAPI void GLUTAPIENTRY glutVideoPan(int x, int y, int width, int height);
|
||||
|
||||
/* GLUT debugging sub-API. */
|
||||
GLUTAPI void GLUTAPIENTRY glutReportErrors(void);
|
||||
#endif
|
||||
|
||||
#if (GLUT_API_VERSION >= 4 || GLUT_XLIB_IMPLEMENTATION >= 13)
|
||||
/* GLUT device control sub-API. */
|
||||
/* glutSetKeyRepeat modes. */
|
||||
#define GLUT_KEY_REPEAT_OFF 0
|
||||
#define GLUT_KEY_REPEAT_ON 1
|
||||
#define GLUT_KEY_REPEAT_DEFAULT 2
|
||||
|
||||
/* Joystick button masks. */
|
||||
#define GLUT_JOYSTICK_BUTTON_A 1
|
||||
#define GLUT_JOYSTICK_BUTTON_B 2
|
||||
#define GLUT_JOYSTICK_BUTTON_C 4
|
||||
#define GLUT_JOYSTICK_BUTTON_D 8
|
||||
|
||||
GLUTAPI void GLUTAPIENTRY glutIgnoreKeyRepeat(int ignore);
|
||||
GLUTAPI void GLUTAPIENTRY glutSetKeyRepeat(int repeatMode);
|
||||
GLUTAPI void GLUTAPIENTRY glutForceJoystickFunc(void);
|
||||
|
||||
/* GLUT game mode sub-API. */
|
||||
/* glutGameModeGet. */
|
||||
#define GLUT_GAME_MODE_ACTIVE ((GLenum) 0)
|
||||
#define GLUT_GAME_MODE_POSSIBLE ((GLenum) 1)
|
||||
#define GLUT_GAME_MODE_WIDTH ((GLenum) 2)
|
||||
#define GLUT_GAME_MODE_HEIGHT ((GLenum) 3)
|
||||
#define GLUT_GAME_MODE_PIXEL_DEPTH ((GLenum) 4)
|
||||
#define GLUT_GAME_MODE_REFRESH_RATE ((GLenum) 5)
|
||||
#define GLUT_GAME_MODE_DISPLAY_CHANGED ((GLenum) 6)
|
||||
|
||||
GLUTAPI void GLUTAPIENTRY glutGameModeString(const char *string);
|
||||
GLUTAPI int GLUTAPIENTRY glutEnterGameMode(void);
|
||||
GLUTAPI void GLUTAPIENTRY glutLeaveGameMode(void);
|
||||
GLUTAPI int GLUTAPIENTRY glutGameModeGet(GLenum mode);
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef GLUT_APIENTRY_DEFINED
|
||||
# undef GLUT_APIENTRY_DEFINED
|
||||
# if defined(__CYGWIN__)
|
||||
/* Leave APIENTRY defined when __CYGWIN__ is defined since OpenGL.org's
|
||||
offical glext.h logic does not define APIENTY when __CYGWIN__
|
||||
is defined. */
|
||||
# else
|
||||
# undef APIENTRY
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef GLUT_WINGDIAPI_DEFINED
|
||||
# undef GLUT_WINGDIAPI_DEFINED
|
||||
# undef WINGDIAPI
|
||||
#endif
|
||||
|
||||
#ifdef GLUT_DEFINED___CDECL
|
||||
# undef GLUT_DEFINED___CDECL
|
||||
# undef __cdecl
|
||||
#endif
|
||||
|
||||
#ifdef GLUT_DEFINED__CRTIMP
|
||||
# undef GLUT_DEFINED__CRTIMP
|
||||
# undef _CRTIMP
|
||||
#endif
|
||||
|
||||
#endif /* __glut_h__ */
|
||||
BIN
kaplademo/externals/cg/2.2/lib.x64/cg.lib
vendored
Normal file
BIN
kaplademo/externals/cg/2.2/lib.x64/cgGL.lib
vendored
Normal file
BIN
kaplademo/externals/cg/2.2/lib/cg.lib
vendored
Normal file
BIN
kaplademo/externals/cg/2.2/lib/cgGL.lib
vendored
Normal file
5
kaplademo/externals/cg/2.2/msdev_syntax_highlighting/install_highlighting.reg
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Text Editor\Tabs/Language Settings\C/C++]
|
||||
"FileExtensions"="cpp;cxx;c;h;hxx;hpp;inl;tlh;tli;rc;rc2;cg"
|
||||
|
||||
5
kaplademo/externals/cg/2.2/msdev_syntax_highlighting/install_highlighting_vs7.reg
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\7.1\Languages\File Extensions\.cg]
|
||||
@="{B2F072B0-ABC1-11D0-9D62-00C04FD9DFD9}"
|
||||
|
||||
5
kaplademo/externals/cg/2.2/msdev_syntax_highlighting/install_highlighting_vs8.reg
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
Windows Registry Editor Version 5.00
|
||||
|
||||
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\8.0\Languages\File Extensions\.cg]
|
||||
@="{B2F072B0-ABC1-11D0-9D62-00C04FD9DFD9}"
|
||||
|
||||
49
kaplademo/externals/cg/2.2/msdev_syntax_highlighting/readme.txt
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
Want pretty syntax highlighting when editing your CG files in Visual Studio?
|
||||
Heres how:
|
||||
|
||||
---
|
||||
Visual Studio 6:
|
||||
|
||||
1. Copy the usertype.dat file to the Visual Studio bin directory (typically C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Bin).
|
||||
|
||||
2. Start regedit (Start -> Run -> regedit) and go to HKEY_CURRENT_USER\Software\Microsoft\DevStudio\6.0\Text Editor\Tabs/Language Settings\C/C++
|
||||
|
||||
3. Add cg to the end of the FileExtensions key (separated with a semicolon)
|
||||
|
||||
4. Restart Visual Studio and your shaders should now have syntax highlighting
|
||||
|
||||
NOTE: You can use the install_highlighting.reg file to simplify steps 2-3. Simply double-click on the file and press OK when prompted.
|
||||
|
||||
---
|
||||
Visual Studio .Net / 7.1:
|
||||
|
||||
1. Copy the usertype.dat file to your Microsoft Visual Studio .Net\Common7\IDE folder
|
||||
|
||||
2. Open up the registry editor and go to the following location - HKLM\SOFTWARE\Microsoft\VisualStudio\7.1\Languages\File Extensions.
|
||||
|
||||
3. Copy the default value from the .cpp key.
|
||||
|
||||
4. Create a new key under the File Extensions with the name of .cg
|
||||
|
||||
5. Paste the value you just copied into the default value
|
||||
|
||||
6. Restart Visual Studio and your shaders should now have syntax highlighting
|
||||
|
||||
NOTE: You can use the install_highlighting_vs7.reg file to simplify the above steps. Simply double-click on the file and press OK when prompted.
|
||||
|
||||
---
|
||||
Visual Studio 2005 / 8:
|
||||
|
||||
1. Copy the usertype.dat file to your Microsoft Visual Studio 8\Common7\IDE folder
|
||||
|
||||
2. Open up the registry editor and go to the following location - HKLM\SOFTWARE\Microsoft\VisualStudio\8.0\Languages\File Extensions.
|
||||
|
||||
3. Copy the default value from the .cpp key.
|
||||
|
||||
4. Create a new key under the File Extensions with the name of .cg
|
||||
|
||||
5. Paste the value you just copied into the default value
|
||||
|
||||
6. Restart Visual Studio and your shaders should now have syntax highlighting
|
||||
|
||||
NOTE: You can use the install_highlighting_vs8.reg file to simplify the above steps. Simply double-click on the file and press OK when prompted.
|
||||
379
kaplademo/externals/cg/2.2/msdev_syntax_highlighting/usertype.dat
vendored
Normal file
@ -0,0 +1,379 @@
|
||||
bool
|
||||
const
|
||||
static
|
||||
uniform
|
||||
varying
|
||||
register
|
||||
in
|
||||
inout
|
||||
interface
|
||||
out
|
||||
void
|
||||
do
|
||||
while
|
||||
for
|
||||
if
|
||||
else
|
||||
typedef
|
||||
struct
|
||||
discard
|
||||
return
|
||||
fixed
|
||||
fixed1
|
||||
fixed2
|
||||
fixed3
|
||||
fixed4
|
||||
half
|
||||
half1
|
||||
half2
|
||||
half3
|
||||
half4
|
||||
int1
|
||||
int2
|
||||
int3
|
||||
int4
|
||||
float
|
||||
float1
|
||||
float2
|
||||
float3
|
||||
float4
|
||||
float1x1
|
||||
float1x2
|
||||
float1x3
|
||||
float1x4
|
||||
float2x1
|
||||
float2x2
|
||||
float2x3
|
||||
float2x4
|
||||
float3x1
|
||||
float3x2
|
||||
float3x3
|
||||
float3x4
|
||||
float4x1
|
||||
float4x2
|
||||
float4x3
|
||||
float4x4
|
||||
_SEQ
|
||||
_SGE
|
||||
_SGT
|
||||
_SLE
|
||||
_SLT
|
||||
_SNE
|
||||
abs
|
||||
acos
|
||||
asin
|
||||
atan
|
||||
atan2
|
||||
ceil
|
||||
clamp
|
||||
cos
|
||||
cosh
|
||||
cross
|
||||
ddx
|
||||
ddy
|
||||
degrees
|
||||
dot
|
||||
exp
|
||||
exp2
|
||||
floor
|
||||
fmod
|
||||
frexp
|
||||
frac
|
||||
isfinite
|
||||
isinf
|
||||
isnan
|
||||
ldexp
|
||||
log
|
||||
log2
|
||||
log10
|
||||
max
|
||||
min
|
||||
mix
|
||||
mul
|
||||
lerp
|
||||
modf
|
||||
noise
|
||||
pow
|
||||
radians
|
||||
round
|
||||
rsqrt
|
||||
sign
|
||||
sin
|
||||
sinh
|
||||
smoothstep
|
||||
step
|
||||
sqrt
|
||||
tan
|
||||
tanh
|
||||
distance
|
||||
fresnel
|
||||
length
|
||||
normalize
|
||||
reflect
|
||||
reflectn
|
||||
refract
|
||||
refractn
|
||||
tex1D
|
||||
f1tex1D
|
||||
f2tex1D
|
||||
f3tex1D
|
||||
f4tex1D
|
||||
h1tex1D
|
||||
h2tex1D
|
||||
h3tex1D
|
||||
h4tex1D
|
||||
x1tex1D
|
||||
x2tex1D
|
||||
x3tex1D
|
||||
x4tex1D
|
||||
tex1Dbias
|
||||
tex2Dbias
|
||||
tex3Dbias
|
||||
texRECTbias
|
||||
texCUBEbias
|
||||
tex1Dlod
|
||||
tex2Dlod
|
||||
tex3Dlod
|
||||
texRECTlod
|
||||
texCUBElod
|
||||
tex1Dproj
|
||||
f1tex1Dproj
|
||||
f2tex1Dproj
|
||||
f3tex1Dproj
|
||||
f4tex1Dproj
|
||||
h1tex1Dproj
|
||||
h2tex1Dproj
|
||||
h3tex1Dproj
|
||||
h4tex1Dproj
|
||||
x1tex1Dproj
|
||||
x2tex1Dproj
|
||||
x3tex1Dproj
|
||||
x4tex1Dproj
|
||||
tex2D
|
||||
f1tex2D
|
||||
f2tex2D
|
||||
f3tex2D
|
||||
f4tex2D
|
||||
h1tex2D
|
||||
h2tex2D
|
||||
h3tex2D
|
||||
h4tex2D
|
||||
x1tex2D
|
||||
x2tex2D
|
||||
x3tex2D
|
||||
x4tex2D
|
||||
tex2Dproj
|
||||
f1tex2Dproj
|
||||
f2tex2Dproj
|
||||
f3tex2Dproj
|
||||
f4tex2Dproj
|
||||
h1tex2Dproj
|
||||
h2tex2Dproj
|
||||
h3tex2Dproj
|
||||
h4tex2Dproj
|
||||
x1tex2Dproj
|
||||
x2tex2Dproj
|
||||
x3tex2Dproj
|
||||
x4tex2Dproj
|
||||
tex3D
|
||||
f1tex3D
|
||||
f2tex3D
|
||||
f3tex3D
|
||||
f4tex3D
|
||||
h1tex3D
|
||||
h2tex3D
|
||||
h3tex3D
|
||||
h4tex3D
|
||||
x1tex3D
|
||||
x2tex3D
|
||||
x3tex3D
|
||||
x4tex3D
|
||||
tex3Dproj
|
||||
f1tex3Dproj
|
||||
f2tex3Dproj
|
||||
f3tex3Dproj
|
||||
f4tex3Dproj
|
||||
h1tex3Dproj
|
||||
h2tex3Dproj
|
||||
h3tex3Dproj
|
||||
h4tex3Dproj
|
||||
x1tex3Dproj
|
||||
x2tex3Dproj
|
||||
x3tex3Dproj
|
||||
x4tex3Dproj
|
||||
tex1CUBE
|
||||
f1texCUBE
|
||||
f2texCUBE
|
||||
f3texCUBE
|
||||
f4texCUBE
|
||||
h1texCUBE
|
||||
h2texCUBE
|
||||
h3texCUBE
|
||||
h4texCUBE
|
||||
x1texCUBE
|
||||
x2texCUBE
|
||||
x3texCUBE
|
||||
x4texCUBE
|
||||
texCUBEproj
|
||||
f1texCUBEproj
|
||||
f2texCUBEproj
|
||||
f3texCUBEproj
|
||||
f4texCUBEproj
|
||||
h1texCUBEproj
|
||||
h2texCUBEproj
|
||||
h3texCUBEproj
|
||||
h4texCUBEproj
|
||||
x1texCUBEproj
|
||||
x2texCUBEproj
|
||||
x3texCUBEproj
|
||||
x4texCUBEproj
|
||||
f1texCUBE
|
||||
f2texCUBE
|
||||
f3texCUBE
|
||||
f4texCUBE
|
||||
h1texCUBE
|
||||
h2texCUBE
|
||||
h3texCUBE
|
||||
h4texCUBE
|
||||
x1texCUBE
|
||||
x2texCUBE
|
||||
x3texCUBE
|
||||
x4texCUBE
|
||||
texRECT
|
||||
f1texRECT
|
||||
f2texRECT
|
||||
f3texRECT
|
||||
f4texRECT
|
||||
h1texRECT
|
||||
h2texRECT
|
||||
h3texRECT
|
||||
h4texRECT
|
||||
x1texRECT
|
||||
x2texRECT
|
||||
x3texRECT
|
||||
x4texRECT
|
||||
texRECTproj
|
||||
f1texRECTproj
|
||||
f2texRECTproj
|
||||
f3texRECTproj
|
||||
f4texRECTproj
|
||||
h1texRECTproj
|
||||
h2texRECTproj
|
||||
h3texRECTproj
|
||||
h4texRECTproj
|
||||
x1texRECTproj
|
||||
x2texRECTproj
|
||||
x3texRECTproj
|
||||
x4texRECTproj
|
||||
f1texRECT
|
||||
f2texRECT
|
||||
f3texRECT
|
||||
f4texRECT
|
||||
h1texRECT
|
||||
h2texRECT
|
||||
h3texRECT
|
||||
h4texRECT
|
||||
x1texRECT
|
||||
x2texRECT
|
||||
x3texRECT
|
||||
x4texRECT
|
||||
texcompare2D
|
||||
f1texcompare2D
|
||||
f1texcompare2D
|
||||
f1texcompare2D
|
||||
h1texcompare2D
|
||||
h1texcompare2D
|
||||
h1texcompare2D
|
||||
x1texcompare2D
|
||||
x1texcompare2D
|
||||
x1texcompare2D
|
||||
pack_2half
|
||||
unpack_2half
|
||||
pack_4clamp1s
|
||||
unpack_4clamp1s
|
||||
application2vertex
|
||||
vertex2fragment
|
||||
HPOS
|
||||
POSITION
|
||||
PSIZ
|
||||
WPOS
|
||||
COLOR
|
||||
COLOR0
|
||||
COLOR1
|
||||
COLOR2
|
||||
COLOR3
|
||||
COL0
|
||||
COL1
|
||||
BCOL0
|
||||
BCOL1
|
||||
FOGP
|
||||
FOGC
|
||||
NRML
|
||||
NORMAL
|
||||
TEXCOORD0
|
||||
TEXCOORD1
|
||||
TEXCOORD2
|
||||
TEXCOORD3
|
||||
TEXCOORD4
|
||||
TEXCOORD5
|
||||
TEXCOORD6
|
||||
TEXCOORD7
|
||||
TEX0
|
||||
TEX1
|
||||
TEX2
|
||||
TEX3
|
||||
TEX4
|
||||
TEX5
|
||||
TEX6
|
||||
TEX7
|
||||
DEPR
|
||||
DEPTH
|
||||
ATTR0
|
||||
ATTR1
|
||||
ATTR2
|
||||
ATTR3
|
||||
ATTR4
|
||||
ATTR5
|
||||
ATTR6
|
||||
ATTR7
|
||||
ATTR8
|
||||
ATTR9
|
||||
ATTR10
|
||||
ATTR11
|
||||
ATTR12
|
||||
ATTR13
|
||||
ATTR14
|
||||
ATTR15
|
||||
sincos
|
||||
POINT
|
||||
POINT_OUT
|
||||
LINE
|
||||
LINE_ADJ
|
||||
LINE_OUT
|
||||
TRIANGLE_OUT
|
||||
TRIANGLE
|
||||
TRIANGLE_ADJ
|
||||
arbfp1
|
||||
arbvp1
|
||||
glslv
|
||||
glslf
|
||||
gp4vp
|
||||
gp4gp
|
||||
gp4fp
|
||||
fp20
|
||||
fp30
|
||||
fp40
|
||||
vp20
|
||||
vp30
|
||||
vp40
|
||||
sampler1D
|
||||
sampler1DARRAY
|
||||
sampler2D
|
||||
sampler2DARRAY
|
||||
sampler3D
|
||||
samplerCUBE
|
||||
samplerRECT
|
||||
technique
|
||||
pass
|
||||
compile
|
||||
trunc
|
||||
102
kaplademo/externals/cg/2.2/readme.txt
vendored
Normal file
@ -0,0 +1,102 @@
|
||||
NVIDIA Cg 2.2 February 2010 README Copyright (C) 2002-2010 NVIDIA Corp.
|
||||
==================================
|
||||
|
||||
This distribution contains
|
||||
--------------------------
|
||||
|
||||
- NVIDIA Cg toolkit documentation
|
||||
in the docs directory
|
||||
|
||||
- NVIDIA Cg compiler (cgc)
|
||||
in the bin directory
|
||||
|
||||
- NVIDIA Cg runtime libraries
|
||||
in the lib directory
|
||||
|
||||
- Example Cg applications
|
||||
in the examples directory
|
||||
|
||||
- Under Microsoft Windows, a Cg language syntax highlighter
|
||||
for Microsoft Visual Studio is provided in the
|
||||
msdev_syntax_highlighting directory
|
||||
|
||||
- Under Microsoft Windows, if selected at install time, 64-bit
|
||||
binaries and libraries are in the bin.x64 and lib.x64 directories.
|
||||
|
||||
See the release notes (docs/CgReleaseNotes.pdf) for detailed
|
||||
information about this release.
|
||||
|
||||
The Cg toolkit is available for a number of different hardware and
|
||||
OS platforms. As of this writing, supported platforms include:
|
||||
|
||||
- Microsoft NT 4, 2000, and Windows XP & Vista on IA32/x86/x86-64 (Intel, AMD)
|
||||
- Linux on IA32/x86 (Intel, AMD)
|
||||
- Linux for x64 (AMD64 and EMT64)
|
||||
- MacOS X 10.4 and 10.5 (Tiger and Leopard)
|
||||
- Solaris (x86/x86_64)
|
||||
|
||||
Visit the NVIDIA Cg website at http://developer.nvidia.com/page/cg_main.html
|
||||
for updates and complete compatibility information.
|
||||
|
||||
Changes since Cg 2.2 October 2009
|
||||
---------------------------------
|
||||
- Bug fixes
|
||||
- Require EXT_gpu_shader4 in GLSL when using bit shift/mask instructions
|
||||
- Modified example gs_simple to explicitly use the GLSL profiles if supported
|
||||
- HLSL semantic VFACE is now accepted as an alias for semantic FACE
|
||||
- Improved our handling of extensions on older versions of OpenGL
|
||||
- Various performance improvements
|
||||
- Enhanced cgfxcat to work for program files as well as effect files
|
||||
- Fixed some compiler crashes with malformed shaders
|
||||
- Fixed a crash in cgGetParameterBufferIndex and cgGetParameterBufferOffset
|
||||
- Fixed a bug in cgGetPassProgram for combined programs
|
||||
- Fixed a problem with geometry shaders on Solaris
|
||||
|
||||
Changes since Cg 2.2 April 2009
|
||||
-------------------------------
|
||||
- New features
|
||||
- Allow compiler options in effect compile statements
|
||||
- e.g. VertexProgram = compile vp40 "-po PosInv=1" shader();
|
||||
- Better performance when running on multicore CPUs
|
||||
- Choosing the "latest" profile is now deferred until effect validation
|
||||
- Now using MesaGLUT-7.5 for GLUT on Windows
|
||||
- Bug fixes
|
||||
- Improved the inverse matrix computation in cgGLSetStateMatrixParameter
|
||||
- Better memory behavior when a program is repeatedly recompiled
|
||||
- Fixed an issue when using PSIZE semantic with ps_3_0 and ps_4_0 profiles
|
||||
- cgCombinePrograms now works with CG_OBJECT programs
|
||||
- cgGetNextProgram was always returning 0
|
||||
- Fixed a problem with effect parameters and cgGLGetTextureEnum
|
||||
- Allow comments prior to the shader version in D3D asm blocks of an effect
|
||||
- HLSL10: Mark globally scoped temporaries 'static' to keep them out of constant buffers
|
||||
- HLSL10: Allow any semantic for varyings provided the semantics match between stages
|
||||
- HLSL10: Fix handling of TEXUNITn semantic
|
||||
- HLSL10: Added support for arrays of samplers
|
||||
- HLSL10: Empty structs for uniform parameters crashed the D3D compiler
|
||||
- Fixed a problem when connecting parameters of type string
|
||||
- Corrected issues in the fp20 profile on Solaris
|
||||
|
||||
Changes since Cg 2.2 beta February 2009
|
||||
---------------------------------------
|
||||
- New features
|
||||
- Support for pack_matrix() pragma
|
||||
- Arrays of shaders can now be used in CgFX files
|
||||
- Support for 64-bit Solaris
|
||||
- Bug fixes (see release notes for details)
|
||||
|
||||
Changes since Cg 2.1 November 2008
|
||||
----------------------------------
|
||||
- New features
|
||||
- DirectX10 and GLSL geometry profiles (gs_4_0 AND glslg)
|
||||
- Support for "latest" profile keyword in CgFX compile statements
|
||||
- Additional API routines (see release notes for a complete list)
|
||||
- Migrated the OpenGL examples onto GLEW
|
||||
- New examples
|
||||
- Direct3D10/advanced/combine_programs
|
||||
- Direct3D10/advanced/gs_shrinky
|
||||
- Direct3D10/advanced/gs_simple
|
||||
- OpenGL/advanced/cgfx_latest
|
||||
- Tools/cgfxcat
|
||||
- Tools/cginfo
|
||||
- New documentation
|
||||
- Updated reference manual for new profiles and entry points
|
||||
225
kaplademo/externals/glew-1.13.0/compiler/vc14win32/glew-MT.vcxproj
vendored
Normal file
@ -0,0 +1,225 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="debug|Win32">
|
||||
<Configuration>debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release|Win32">
|
||||
<Configuration>release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="profile|Win32">
|
||||
<Configuration>profile</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="checked|Win32">
|
||||
<Configuration>checked</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{7D20139C-09F4-B0C5-B9C9-8E603785931F}</ProjectGuid>
|
||||
<RootNamespace>glew-MT</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='profile|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='checked|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='profile|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='checked|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
|
||||
<OutDir>./../../lib/win32\</OutDir>
|
||||
<IntDir>./Win32/glew-MT/debug\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_debug</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
|
||||
<ClCompile>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<BasicRuntimeChecks>UninitializedLocalUsageCheck</BasicRuntimeChecks>
|
||||
<AdditionalOptions> /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_debug.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_debug.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
|
||||
<OutDir>./../../lib/win32\</OutDir>
|
||||
<IntDir>./Win32/glew-MT/release\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_release</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
|
||||
<ClCompile>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<AdditionalOptions> /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_release.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_release.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='profile|Win32'">
|
||||
<OutDir>./../../lib/win32\</OutDir>
|
||||
<IntDir>./Win32/glew-MT/profile\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_profile</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='profile|Win32'">
|
||||
<ClCompile>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<AdditionalOptions> /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_profile.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_profile.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='checked|Win32'">
|
||||
<OutDir>./../../lib/win32\</OutDir>
|
||||
<IntDir>./Win32/glew-MT/checked\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_checked</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='checked|Win32'">
|
||||
<ClCompile>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<AdditionalOptions> /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_checked.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_checked.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\include\GL\glew.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\GL\glxew.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\GL\wglew.h">
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\glew.c">
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets"></ImportGroup>
|
||||
</Project>
|
||||
33
kaplademo/externals/glew-1.13.0/compiler/vc14win32/glew-MT.vcxproj.filters
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<Filter Include="include">
|
||||
|
||||
</Filter>
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<Filter Include="include\GL">
|
||||
|
||||
</Filter>
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<ClInclude Include="..\..\include\GL\glew.h">
|
||||
|
||||
<Filter>include\GL</Filter>
|
||||
|
||||
</ClInclude>
|
||||
|
||||
<ClInclude Include="..\..\include\GL\glxew.h">
|
||||
|
||||
<Filter>include\GL</Filter>
|
||||
|
||||
</ClInclude>
|
||||
30
kaplademo/externals/glew-1.13.0/compiler/vc14win32/glew.sln
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glew-MT", "./glew-MT.vcxproj", "{7D20139C-09F4-B0C5-B9C9-8E603785931F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
checked|Win32 = checked|Win32
|
||||
debug|Win32 = debug|Win32
|
||||
profile|Win32 = profile|Win32
|
||||
release|Win32 = release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.checked|Win32.ActiveCfg = checked|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.checked|Win32.Build.0 = checked|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.debug|Win32.ActiveCfg = debug|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.debug|Win32.Build.0 = debug|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.profile|Win32.ActiveCfg = profile|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.profile|Win32.Build.0 = profile|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.release|Win32.ActiveCfg = release|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.release|Win32.Build.0 = release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddins) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
225
kaplademo/externals/glew-1.13.0/compiler/vc14win64/glew-MT.vcxproj
vendored
Normal file
@ -0,0 +1,225 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="debug|x64">
|
||||
<Configuration>debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release|x64">
|
||||
<Configuration>release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="profile|x64">
|
||||
<Configuration>profile</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="checked|x64">
|
||||
<Configuration>checked</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{7D20139C-09F4-B0C5-B9C9-8E603785931F}</ProjectGuid>
|
||||
<RootNamespace>glew-MT</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='profile|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='checked|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v140</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='profile|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='checked|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
|
||||
<OutDir>./../../lib/win64\</OutDir>
|
||||
<IntDir>./x64/glew-MT/debug\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_debug</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
|
||||
<ClCompile>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<BasicRuntimeChecks>UninitializedLocalUsageCheck</BasicRuntimeChecks>
|
||||
<AdditionalOptions> /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN64;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_debug.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_debug.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
|
||||
<OutDir>./../../lib/win64\</OutDir>
|
||||
<IntDir>./x64/glew-MT/release\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_release</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
|
||||
<ClCompile>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<AdditionalOptions> /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN64;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_release.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_release.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='profile|x64'">
|
||||
<OutDir>./../../lib/win64\</OutDir>
|
||||
<IntDir>./x64/glew-MT/profile\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_profile</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='profile|x64'">
|
||||
<ClCompile>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<AdditionalOptions> /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN64;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_profile.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_profile.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='checked|x64'">
|
||||
<OutDir>./../../lib/win64\</OutDir>
|
||||
<IntDir>./x64/glew-MT/checked\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_checked</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='checked|x64'">
|
||||
<ClCompile>
|
||||
<FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
|
||||
<RuntimeTypeInfo>false</RuntimeTypeInfo>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<AdditionalOptions> /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Full</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN64;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_checked.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_checked.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\include\GL\glew.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\GL\glxew.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\GL\wglew.h">
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\glew.c">
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets"></ImportGroup>
|
||||
</Project>
|
||||
33
kaplademo/externals/glew-1.13.0/compiler/vc14win64/glew-MT.vcxproj.filters
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<Filter Include="include">
|
||||
|
||||
</Filter>
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<Filter Include="include\GL">
|
||||
|
||||
</Filter>
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<ClInclude Include="..\..\include\GL\glew.h">
|
||||
|
||||
<Filter>include\GL</Filter>
|
||||
|
||||
</ClInclude>
|
||||
|
||||
<ClInclude Include="..\..\include\GL\glxew.h">
|
||||
|
||||
<Filter>include\GL</Filter>
|
||||
|
||||
</ClInclude>
|
||||
30
kaplademo/externals/glew-1.13.0/compiler/vc14win64/glew.sln
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 14
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glew-MT", "./glew-MT.vcxproj", "{7D20139C-09F4-B0C5-B9C9-8E603785931F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
checked|x64 = checked|x64
|
||||
debug|x64 = debug|x64
|
||||
profile|x64 = profile|x64
|
||||
release|x64 = release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.checked|x64.ActiveCfg = checked|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.checked|x64.Build.0 = checked|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.debug|x64.ActiveCfg = debug|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.debug|x64.Build.0 = debug|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.profile|x64.ActiveCfg = profile|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.profile|x64.Build.0 = profile|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.release|x64.ActiveCfg = release|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.release|x64.Build.0 = release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddins) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
218
kaplademo/externals/glew-1.13.0/compiler/vc15win32/glew-MT.vcxproj
vendored
Normal file
@ -0,0 +1,218 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="debug|Win32">
|
||||
<Configuration>debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release|Win32">
|
||||
<Configuration>release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="profile|Win32">
|
||||
<Configuration>profile</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="checked|Win32">
|
||||
<Configuration>checked</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{7D20139C-09F4-B0C5-B9C9-8E603785931F}</ProjectGuid>
|
||||
<RootNamespace>glew-MT</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='profile|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='checked|Win32'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='profile|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='checked|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
|
||||
<OutDir>./../../lib/win32\</OutDir>
|
||||
<IntDir>./Win32/glew-MT/debug\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_debug</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
|
||||
<ClCompile>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<BasicRuntimeChecks>UninitializedLocalUsageCheck</BasicRuntimeChecks>
|
||||
<AdditionalOptions>/GR- /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_debug.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_debug.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
|
||||
<OutDir>./../../lib/win32\</OutDir>
|
||||
<IntDir>./Win32/glew-MT/release\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_release</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
|
||||
<ClCompile>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<AdditionalOptions>/GR- /Ot /Ox /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_release.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_release.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='profile|Win32'">
|
||||
<OutDir>./../../lib/win32\</OutDir>
|
||||
<IntDir>./Win32/glew-MT/profile\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_profile</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='profile|Win32'">
|
||||
<ClCompile>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<AdditionalOptions>/GR- /Ot /Ox /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_profile.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_profile.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='checked|Win32'">
|
||||
<OutDir>./../../lib/win32\</OutDir>
|
||||
<IntDir>./Win32/glew-MT/checked\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_checked</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='checked|Win32'">
|
||||
<ClCompile>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<AdditionalOptions>/GR- /Ot /Ox /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_checked.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_checked.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX86</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\include\GL\glew.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\GL\glxew.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\GL\wglew.h">
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\glew.c">
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets"></ImportGroup>
|
||||
</Project>
|
||||
33
kaplademo/externals/glew-1.13.0/compiler/vc15win32/glew-MT.vcxproj.filters
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<Filter Include="include">
|
||||
|
||||
</Filter>
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<Filter Include="include\GL">
|
||||
|
||||
</Filter>
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<ClInclude Include="..\..\include\GL\glew.h">
|
||||
|
||||
<Filter>include\GL</Filter>
|
||||
|
||||
</ClInclude>
|
||||
|
||||
<ClInclude Include="..\..\include\GL\glxew.h">
|
||||
|
||||
<Filter>include\GL</Filter>
|
||||
|
||||
</ClInclude>
|
||||
30
kaplademo/externals/glew-1.13.0/compiler/vc15win32/glew.sln
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glew-MT", "./glew-MT.vcxproj", "{7D20139C-09F4-B0C5-B9C9-8E603785931F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
checked|Win32 = checked|Win32
|
||||
debug|Win32 = debug|Win32
|
||||
profile|Win32 = profile|Win32
|
||||
release|Win32 = release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.checked|Win32.ActiveCfg = checked|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.checked|Win32.Build.0 = checked|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.debug|Win32.ActiveCfg = debug|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.debug|Win32.Build.0 = debug|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.profile|Win32.ActiveCfg = profile|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.profile|Win32.Build.0 = profile|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.release|Win32.ActiveCfg = release|Win32
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.release|Win32.Build.0 = release|Win32
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddins) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
218
kaplademo/externals/glew-1.13.0/compiler/vc15win64/glew-MT.vcxproj
vendored
Normal file
@ -0,0 +1,218 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="debug|x64">
|
||||
<Configuration>debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="release|x64">
|
||||
<Configuration>release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="profile|x64">
|
||||
<Configuration>profile</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="checked|x64">
|
||||
<Configuration>checked</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{7D20139C-09F4-B0C5-B9C9-8E603785931F}</ProjectGuid>
|
||||
<RootNamespace>glew-MT</RootNamespace>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='profile|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='checked|x64'" Label="Configuration">
|
||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||
<PlatformToolset>v141</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='profile|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='checked|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
|
||||
<OutDir>./../../lib/win64\</OutDir>
|
||||
<IntDir>./x64/glew-MT/debug\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_debug</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
|
||||
<ClCompile>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<BasicRuntimeChecks>UninitializedLocalUsageCheck</BasicRuntimeChecks>
|
||||
<AdditionalOptions>/GR- /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN64;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_debug.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_debug.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
|
||||
<OutDir>./../../lib/win64\</OutDir>
|
||||
<IntDir>./x64/glew-MT/release\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_release</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
|
||||
<ClCompile>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<AdditionalOptions>/GR- /Ot /Ox /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN64;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_release.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_release.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='profile|x64'">
|
||||
<OutDir>./../../lib/win64\</OutDir>
|
||||
<IntDir>./x64/glew-MT/profile\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_profile</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='profile|x64'">
|
||||
<ClCompile>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<AdditionalOptions>/GR- /Ot /Ox /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN64;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_profile.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_profile.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='checked|x64'">
|
||||
<OutDir>./../../lib/win64\</OutDir>
|
||||
<IntDir>./x64/glew-MT/checked\</IntDir>
|
||||
<TargetExt>.lib</TargetExt>
|
||||
<TargetName>glew_checked</TargetName>
|
||||
<CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
|
||||
<CodeAnalysisRules />
|
||||
<CodeAnalysisRuleAssemblies />
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='checked|x64'">
|
||||
<ClCompile>
|
||||
<FloatingPointModel>Precise</FloatingPointModel>
|
||||
<AdditionalOptions>/GR- /Ot /Ox /d2Zi+</AdditionalOptions>
|
||||
<Optimization>Disabled</Optimization>
|
||||
<AdditionalIncludeDirectories>./../../include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||
<PreprocessorDefinitions>GLEW_STATIC;WIN64;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<ExceptionHandling>false</ExceptionHandling>
|
||||
<WarningLevel>Level3</WarningLevel>
|
||||
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
|
||||
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||
<PrecompiledHeaderFile></PrecompiledHeaderFile>
|
||||
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||
</ClCompile>
|
||||
<Lib>
|
||||
<AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
|
||||
<OutputFile>$(OutDir)glew_checked.lib</OutputFile>
|
||||
<AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||
<ProgramDatabaseFile>$(OutDir)/glew_checked.lib.pdb</ProgramDatabaseFile>
|
||||
<TargetMachine>MachineX64</TargetMachine>
|
||||
</Lib>
|
||||
<ResourceCompile>
|
||||
</ResourceCompile>
|
||||
<ProjectReference>
|
||||
<LinkLibraryDependencies>true</LinkLibraryDependencies>
|
||||
</ProjectReference>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="..\..\include\GL\glew.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\GL\glxew.h">
|
||||
</ClInclude>
|
||||
<ClInclude Include="..\..\include\GL\wglew.h">
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="..\..\src\glew.c">
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets"></ImportGroup>
|
||||
</Project>
|
||||
33
kaplademo/externals/glew-1.13.0/compiler/vc15win64/glew-MT.vcxproj.filters
vendored
Normal file
@ -0,0 +1,33 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<Filter Include="include">
|
||||
|
||||
</Filter>
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<Filter Include="include\GL">
|
||||
|
||||
</Filter>
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
||||
<ClInclude Include="..\..\include\GL\glew.h">
|
||||
|
||||
<Filter>include\GL</Filter>
|
||||
|
||||
</ClInclude>
|
||||
|
||||
<ClInclude Include="..\..\include\GL\glxew.h">
|
||||
|
||||
<Filter>include\GL</Filter>
|
||||
|
||||
</ClInclude>
|
||||
30
kaplademo/externals/glew-1.13.0/compiler/vc15win64/glew.sln
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "glew-MT", "./glew-MT.vcxproj", "{7D20139C-09F4-B0C5-B9C9-8E603785931F}"
|
||||
ProjectSection(ProjectDependencies) = postProject
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
checked|x64 = checked|x64
|
||||
debug|x64 = debug|x64
|
||||
profile|x64 = profile|x64
|
||||
release|x64 = release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.checked|x64.ActiveCfg = checked|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.checked|x64.Build.0 = checked|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.debug|x64.ActiveCfg = debug|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.debug|x64.Build.0 = debug|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.profile|x64.ActiveCfg = profile|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.profile|x64.Build.0 = profile|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.release|x64.ActiveCfg = release|x64
|
||||
{7D20139C-09F4-B0C5-B9C9-8E603785931F}.release|x64.Build.0 = release|x64
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityAddins) = postSolution
|
||||
EndGlobalSection
|
||||
GlobalSection(NestedProjects) = preSolution
|
||||
EndGlobalSection
|
||||
EndGlobal
|
||||
19753
kaplademo/externals/glew-1.13.0/include/GL/glew.h
vendored
Normal file
1772
kaplademo/externals/glew-1.13.0/include/GL/glxew.h
vendored
Normal file
1453
kaplademo/externals/glew-1.13.0/include/GL/wglew.h
vendored
Normal file
18607
kaplademo/externals/glew-1.13.0/src/glew.c
vendored
Normal file
BIN
kaplademo/externals/glut-3.7.6/bin/win32/glut32.dll
vendored
Normal file
BIN
kaplademo/externals/glut-3.7.6/bin/win64/glut32.dll
vendored
Normal file
BIN
kaplademo/externals/glut-3.7.6/lib/Win32/glut32.lib
vendored
Normal file
BIN
kaplademo/externals/glut-3.7.6/lib/Win64/glut32.lib
vendored
Normal file
1390
kaplademo/externals/hbao+3.0/include/GFSDK_SSAO.h
vendored
Normal file
BIN
kaplademo/externals/hbao+3.0/lib/win32/GFSDK_SSAO_GL.win32.dll
vendored
Normal file
BIN
kaplademo/externals/hbao+3.0/lib/win32/GFSDK_SSAO_GL.win32.lib
vendored
Normal file
BIN
kaplademo/externals/hbao+3.0/lib/win64/GFSDK_SSAO_GL.win64.dll
vendored
Normal file
BIN
kaplademo/externals/hbao+3.0/lib/win64/GFSDK_SSAO_GL.win64.lib
vendored
Normal file
138
kaplademo/externals/resources/AABox.cgfx
vendored
Normal file
@ -0,0 +1,138 @@
|
||||
//--------------------------------------------------------------------------------------
|
||||
//
|
||||
// Implementation of different downsampling methods for supersampled AA
|
||||
//
|
||||
// Copyright (c) NVIDIA Corporation. All rights reserved.
|
||||
//--------------------------------------------------------------------------------------
|
||||
float2 SSTexelSize;
|
||||
float blendFactor = 1.0;
|
||||
sampler2D SSsampler = sampler_state
|
||||
{
|
||||
minFilter = Linear;
|
||||
magFilter = Linear;
|
||||
};
|
||||
sampler2D DepthSSsampler = sampler_state
|
||||
{
|
||||
minFilter = Linear;
|
||||
magFilter = Linear;
|
||||
};
|
||||
|
||||
struct v2fConnector {
|
||||
float4 projCoord : POSITION;
|
||||
float2 tex : TEXCOORD0;
|
||||
};
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
// Vertex programs
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
void vpPassThrough(float4 P : POSITION, float4 tc : TEXCOORD0, out v2fConnector v2f)
|
||||
{
|
||||
v2f.tex = tc.xy;
|
||||
v2f.projCoord = P;
|
||||
}
|
||||
struct PixelOut
|
||||
{
|
||||
float4 color : COLOR;
|
||||
float depth : DEPTH;
|
||||
};
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
// Fragment programs
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Simple down samling : just using the fact we are in between 4 texels.
|
||||
// so the HW will do a bilinear filtering of these 4 samples
|
||||
//
|
||||
PixelOut DownSample1( float2 tc : TEXCOORD0 )
|
||||
{
|
||||
PixelOut pix;
|
||||
pix.color = f4tex2D(SSsampler, tc);
|
||||
pix.depth = f4tex2D(DepthSSsampler, tc).r;
|
||||
return pix;
|
||||
}
|
||||
//
|
||||
// add 4 fetches around the original filtered one
|
||||
// each of the 4 additional fetches will also benefit from the HW bilinear filtering
|
||||
// the offsets are chosen to benefit from various texels in a specific % amout
|
||||
//
|
||||
PixelOut DownSample2( float2 tc : TEXCOORD0 )
|
||||
{
|
||||
float4 tap0 = f4tex2D(SSsampler, tc);
|
||||
float4 tap1 = f4tex2D(SSsampler, tc + SSTexelSize * float2( 0.4, 0.9 ));
|
||||
float4 tap2 = f4tex2D(SSsampler, tc + SSTexelSize * float2( -0.4, -0.9 ));
|
||||
float4 tap3 = f4tex2D(SSsampler, tc + SSTexelSize * float2( -0.9, 0.4 ));
|
||||
float4 tap4 = f4tex2D(SSsampler, tc + SSTexelSize * float2( 0.9, -0.4 ));
|
||||
float4 color = 0.2 * ( tap0 + tap1 + tap2 + tap3 + tap4 );
|
||||
|
||||
float tap0d = f4tex2D(DepthSSsampler, tc).r;
|
||||
float tap1d = f4tex2D(DepthSSsampler, tc + SSTexelSize * float2( 0.4, 0.9 )).r;
|
||||
float tap2d = f4tex2D(DepthSSsampler, tc + SSTexelSize * float2( -0.4, -0.9 )).r;
|
||||
float tap3d = f4tex2D(DepthSSsampler, tc + SSTexelSize * float2( -0.9, 0.4 )).r;
|
||||
float tap4d = f4tex2D(DepthSSsampler, tc + SSTexelSize * float2( 0.9, -0.4 )).r;
|
||||
float depth = 0.2 * ( tap0d + tap1d + tap2d + tap3d + tap4d );
|
||||
|
||||
PixelOut pix;
|
||||
pix.color = color;
|
||||
pix.depth = depth;
|
||||
return pix;
|
||||
}
|
||||
//
|
||||
// same process are the previous one
|
||||
// but we are using 2 kernels : one 'normal', one bigger (more blurry, then)
|
||||
// we will lerp from one to the other depending on downsampled alpha from the bigger kernel
|
||||
// this technique is good to blur 'high frequencies' marked by alpha =0,
|
||||
// i.e thin primitives, like lines or sharp triangles
|
||||
//
|
||||
float4 DownSample3( float2 tc : TEXCOORD0 ) : COLOR
|
||||
{
|
||||
float4 color;
|
||||
|
||||
float4 tap0 = f4tex2D(SSsampler, tc);
|
||||
float4 tap1 = f4tex2D(SSsampler, tc + SSTexelSize * float2( 0.4, 0.9 ));
|
||||
float4 tap2 = f4tex2D(SSsampler, tc + SSTexelSize * float2( -0.4, -0.9 ));
|
||||
float4 tap3 = f4tex2D(SSsampler, tc + SSTexelSize * float2( -0.9, 0.4 ));
|
||||
float4 tap4 = f4tex2D(SSsampler, tc + SSTexelSize * float2( 0.9, -0.4 ));
|
||||
color = 0.2 * ( tap0 + tap1 + tap2 + tap3 + tap4 );
|
||||
|
||||
float4 tap11 = f4tex2D(SSsampler, tc + SSTexelSize * float2( 0.9, 1.9 ));
|
||||
float4 tap21 = f4tex2D(SSsampler, tc + SSTexelSize * float2( -0.9, -1.9 ));
|
||||
float4 tap31 = f4tex2D(SSsampler, tc + SSTexelSize * float2( -1.9, 0.9 ));
|
||||
float4 tap41 = f4tex2D(SSsampler, tc + SSTexelSize * float2( 1.9, -0.9 ));
|
||||
float4 color2 = 0.2 * ( tap0 + tap11 + tap21 + tap31 + tap41 );
|
||||
|
||||
float mask = saturate(color2.w * 1);
|
||||
|
||||
color = lerp(color2, color, mask);
|
||||
color.w = mask;
|
||||
|
||||
return color;
|
||||
}
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
// Technique
|
||||
///////////////////////////////////////////////////////////////////////
|
||||
technique DownSample_Filter1
|
||||
{
|
||||
pass drawFinal
|
||||
{
|
||||
DepthMask = true;
|
||||
VertexProgram = compile arbvp1 vpPassThrough();
|
||||
FragmentProgram = compile arbfp1 DownSample1();
|
||||
}
|
||||
}
|
||||
technique DownSample_Filter2
|
||||
{
|
||||
pass drawFinal
|
||||
{
|
||||
DepthMask = true;
|
||||
VertexProgram = compile arbvp1 vpPassThrough();
|
||||
FragmentProgram = compile arbfp1 DownSample2();
|
||||
}
|
||||
}
|
||||
technique DownSample_Filter3
|
||||
{
|
||||
pass drawFinal
|
||||
{
|
||||
DepthMask = true;
|
||||
VertexProgram = compile arbvp1 vpPassThrough();
|
||||
FragmentProgram = compile arbfp1 DownSample3();
|
||||
}
|
||||
}
|
||||
|
||||
2236
kaplademo/externals/resources/asteroid.obj
vendored
Normal file
763
kaplademo/externals/resources/bullet.obj
vendored
Normal file
@ -0,0 +1,763 @@
|
||||
# Wavefront OBJ exported by MilkShape 3D
|
||||
|
||||
v 0.126627 -0.015394 0.000504
|
||||
v 0.109628 -0.015394 0.063504
|
||||
v 0.063128 -0.015394 0.110004
|
||||
v 0.000127 -0.015394 0.127004
|
||||
v -0.062872 -0.015394 0.110004
|
||||
v -0.109373 -0.015394 0.063504
|
||||
v -0.126373 -0.015394 0.000504
|
||||
v -0.109373 -0.015394 -0.062496
|
||||
v -0.062872 -0.015394 -0.108996
|
||||
v 0.000127 -0.015394 -0.125996
|
||||
v 0.063128 -0.015394 -0.108996
|
||||
v 0.109628 -0.015394 -0.062496
|
||||
v 0.126627 0.004106 0.000504
|
||||
v 0.109628 0.004106 0.063504
|
||||
v 0.063128 0.004106 0.110004
|
||||
v 0.000127 0.004106 0.127004
|
||||
v -0.062872 0.004106 0.110004
|
||||
v -0.109373 0.004106 0.063504
|
||||
v -0.126373 0.004106 0.000504
|
||||
v -0.109373 0.004106 -0.062496
|
||||
v -0.062872 0.004106 -0.108996
|
||||
v 0.000127 0.004106 -0.125996
|
||||
v 0.063128 0.004106 -0.108996
|
||||
v 0.109628 0.004106 -0.062496
|
||||
v 0.131627 0.011606 0.000504
|
||||
v 0.114127 0.011606 0.066004
|
||||
v 0.065628 0.011606 0.114504
|
||||
v 0.000127 0.011606 0.132004
|
||||
v -0.065373 0.011606 0.114504
|
||||
v -0.113873 0.011606 0.066004
|
||||
v -0.131372 0.011606 0.000504
|
||||
v -0.113873 0.011606 -0.064996
|
||||
v -0.065373 0.011606 -0.113496
|
||||
v 0.000127 0.011606 -0.130996
|
||||
v 0.065628 0.011606 -0.113496
|
||||
v 0.114127 0.011606 -0.064996
|
||||
v 0.128128 0.172606 0.000504
|
||||
v 0.110627 0.172606 0.064504
|
||||
v 0.064127 0.172606 0.111004
|
||||
v 0.000127 0.172606 0.128504
|
||||
v -0.063873 0.172606 0.111004
|
||||
v -0.110372 0.172606 0.064504
|
||||
v -0.127872 0.172606 0.000504
|
||||
v -0.110372 0.172606 -0.063496
|
||||
v -0.063873 0.172606 -0.109996
|
||||
v 0.000127 0.172606 -0.127496
|
||||
v 0.064127 0.172606 -0.109996
|
||||
v 0.110627 0.172606 -0.063496
|
||||
v 0.116627 0.333606 0.000504
|
||||
v 0.101128 0.333606 0.058504
|
||||
v 0.058127 0.333606 0.101504
|
||||
v 0.000127 0.333606 0.117004
|
||||
v -0.057873 0.333606 0.101504
|
||||
v -0.100872 0.333606 0.058504
|
||||
v -0.116373 0.333606 0.000504
|
||||
v -0.100872 0.333606 -0.057496
|
||||
v -0.057873 0.333606 -0.100496
|
||||
v 0.000127 0.333606 -0.115996
|
||||
v 0.058127 0.333606 -0.100496
|
||||
v 0.101128 0.333606 -0.057496
|
||||
v 0.094127 0.494606 0.000504
|
||||
v 0.081628 0.494606 0.047504
|
||||
v 0.047128 0.494606 0.082004
|
||||
v 0.000127 0.494606 0.094504
|
||||
v -0.046872 0.494606 0.082004
|
||||
v -0.081373 0.494606 0.047504
|
||||
v -0.093873 0.494606 0.000504
|
||||
v -0.081373 0.494606 -0.046496
|
||||
v -0.046872 0.494606 -0.080996
|
||||
v 0.000127 0.494606 -0.093496
|
||||
v 0.047128 0.494606 -0.080996
|
||||
v 0.081628 0.494606 -0.046496
|
||||
v 0.067127 0.655606 0.000504
|
||||
v 0.058127 0.655606 0.034004
|
||||
v 0.033628 0.655606 0.058504
|
||||
v 0.000127 0.655606 0.067504
|
||||
v -0.033373 0.655606 0.058504
|
||||
v -0.057873 0.655606 0.034004
|
||||
v -0.066873 0.655606 0.000504
|
||||
v -0.057873 0.655606 -0.032996
|
||||
v -0.033373 0.655606 -0.057496
|
||||
v 0.000127 0.655606 -0.066496
|
||||
v 0.033628 0.655606 -0.057496
|
||||
v 0.058127 0.655606 -0.032996
|
||||
v 0.035627 0.816606 0.000504
|
||||
v 0.031127 0.816606 0.018504
|
||||
v 0.018127 0.816606 0.031504
|
||||
v 0.000127 0.816606 0.036004
|
||||
v -0.017873 0.816606 0.031504
|
||||
v -0.030873 0.816606 0.018504
|
||||
v -0.035373 0.816606 0.000504
|
||||
v -0.030873 0.816606 -0.017496
|
||||
v -0.017873 0.816606 -0.030496
|
||||
v 0.000127 0.816606 -0.034996
|
||||
v 0.018127 0.816606 -0.030496
|
||||
v 0.031127 0.816606 -0.017496
|
||||
v 0.026627 0.828606 0.000504
|
||||
v 0.023127 0.828606 0.013504
|
||||
v 0.013127 0.828606 0.023504
|
||||
v 0.000127 0.828606 0.027004
|
||||
v -0.012873 0.828606 0.023504
|
||||
v -0.022873 0.828606 0.013504
|
||||
v -0.026373 0.828606 0.000504
|
||||
v -0.022873 0.828606 -0.012496
|
||||
v -0.012873 0.828606 -0.022496
|
||||
v 0.000127 0.828606 -0.025996
|
||||
v 0.013127 0.828606 -0.022496
|
||||
v 0.023127 0.828606 -0.012496
|
||||
v 0.010627 0.836606 0.000504
|
||||
v 0.009127 0.836606 0.006004
|
||||
v 0.005627 0.836606 0.009504
|
||||
v 0.000127 0.836606 0.011004
|
||||
v -0.005373 0.836606 0.009504
|
||||
v -0.008872 0.836606 0.006004
|
||||
v -0.010372 0.836606 0.000504
|
||||
v -0.008872 0.836606 -0.004996
|
||||
v -0.005373 0.836606 -0.008496
|
||||
v 0.000127 0.836606 -0.009996
|
||||
v 0.005627 0.836606 -0.008496
|
||||
v 0.009127 0.836606 -0.004996
|
||||
v 0.000127 0.836606 0.000504
|
||||
v 0.000127 0.836606 0.006004
|
||||
v 0.000127 0.836606 -0.008496
|
||||
v 0.000127 0.836606 -0.004996
|
||||
v 0.000127 0.836606 0.009504
|
||||
v -0.065373 -0.022894 0.114504
|
||||
v 0.000127 -0.022894 0.132004
|
||||
v 0.065628 -0.022894 0.114504
|
||||
v 0.114127 -0.022894 0.066004
|
||||
v 0.131627 -0.022894 0.000504
|
||||
v 0.114127 -0.022894 -0.064996
|
||||
v 0.065628 -0.022894 -0.113496
|
||||
v 0.000127 -0.022894 -0.130996
|
||||
v -0.065373 -0.022894 -0.113496
|
||||
v -0.113873 -0.022894 -0.064996
|
||||
v -0.131372 -0.022894 0.000504
|
||||
v -0.113873 -0.022894 0.066004
|
||||
v -0.062872 -0.182894 0.110004
|
||||
v 0.000127 -0.182894 0.127004
|
||||
v 0.063128 -0.182894 0.110004
|
||||
v 0.109628 -0.182894 0.063504
|
||||
v 0.126627 -0.182894 0.000504
|
||||
v 0.109628 -0.182894 -0.062496
|
||||
v 0.063128 -0.182894 -0.108996
|
||||
v 0.000127 -0.182894 -0.125996
|
||||
v -0.062872 -0.182894 -0.108996
|
||||
v -0.109373 -0.182894 -0.062496
|
||||
v -0.126373 -0.182894 0.000504
|
||||
v -0.109373 -0.182894 0.063504
|
||||
v -0.059873 -0.277894 0.104504
|
||||
v 0.000127 -0.277894 0.120504
|
||||
v 0.060127 -0.277894 0.104504
|
||||
v 0.104127 -0.277894 0.060504
|
||||
v 0.120127 -0.277894 0.000504
|
||||
v 0.104127 -0.277894 -0.059496
|
||||
v 0.060127 -0.277894 -0.103496
|
||||
v 0.000127 -0.277894 -0.119496
|
||||
v -0.059873 -0.277894 -0.103496
|
||||
v -0.103873 -0.277894 -0.059496
|
||||
v -0.119872 -0.277894 0.000504
|
||||
v -0.103873 -0.277894 0.060504
|
||||
v -0.048372 -0.457894 0.084504
|
||||
v 0.000127 -0.457894 0.097504
|
||||
v 0.048627 -0.457894 0.084504
|
||||
v 0.084127 -0.457894 0.049004
|
||||
v 0.097127 -0.457894 0.000504
|
||||
v 0.084127 -0.457894 -0.047996
|
||||
v 0.048627 -0.457894 -0.083496
|
||||
v 0.000127 -0.457894 -0.096496
|
||||
v -0.048372 -0.457894 -0.083496
|
||||
v -0.083873 -0.457894 -0.047996
|
||||
v -0.096873 -0.457894 0.000504
|
||||
v -0.083873 -0.457894 0.049004
|
||||
v -0.041873 -0.470394 0.073004
|
||||
v 0.000127 -0.470394 0.084504
|
||||
v 0.042128 -0.470394 0.073004
|
||||
v 0.072627 -0.470394 0.042504
|
||||
v 0.084127 -0.470394 0.000504
|
||||
v 0.072627 -0.470394 -0.041496
|
||||
v 0.042128 -0.470394 -0.071996
|
||||
v 0.000127 -0.470394 -0.083496
|
||||
v -0.041873 -0.470394 -0.071996
|
||||
v -0.072373 -0.470394 -0.041496
|
||||
v -0.083873 -0.470394 0.000504
|
||||
v -0.072373 -0.470394 0.042504
|
||||
v 0.000127 -0.470394 0.000504
|
||||
v 0.000127 -0.470394 0.042504
|
||||
v 0.000127 -0.470394 0.073004
|
||||
v 0.000127 -0.470394 -0.071996
|
||||
v 0.000127 -0.470394 -0.041496
|
||||
# 190 vertices
|
||||
|
||||
vt 0.000000 1.000000
|
||||
# 1 texture coordinates
|
||||
|
||||
vn 0.830163 0.297447 -0.471545
|
||||
vn 0.823333 -0.295545 -0.484537
|
||||
vn 0.955802 -0.293896 -0.008215
|
||||
vn 0.955801 0.293900 0.008215
|
||||
vn 0.830164 -0.297444 0.471546
|
||||
vn 0.823332 0.295549 0.484536
|
||||
vn 0.484537 -0.295548 0.823332
|
||||
vn 0.471545 0.297448 0.830162
|
||||
vn -0.000000 -0.193594 0.981082
|
||||
vn -0.000000 0.390797 0.920477
|
||||
vn -0.484536 -0.295550 0.823331
|
||||
vn -0.471544 0.297451 0.830162
|
||||
vn -0.830162 -0.297448 0.471546
|
||||
vn -0.823331 0.295551 0.484537
|
||||
vn -0.955801 -0.293898 -0.008216
|
||||
vn -0.955800 0.293902 0.008216
|
||||
vn -0.823332 -0.295548 -0.484537
|
||||
vn -0.830161 0.297452 -0.471545
|
||||
vn -0.471545 -0.297448 -0.830163
|
||||
vn -0.484536 0.295553 -0.823330
|
||||
vn -0.000000 -0.390792 -0.920479
|
||||
vn -0.000000 0.193597 -0.981081
|
||||
vn 0.471546 -0.297445 -0.830163
|
||||
vn 0.484537 0.295552 -0.823331
|
||||
vn 0.833165 -0.286523 -0.473013
|
||||
vn 0.959065 -0.283061 0.008422
|
||||
vn 0.826404 -0.284623 0.485846
|
||||
vn 0.473013 -0.286524 0.833164
|
||||
vn -0.000000 -0.384176 0.923260
|
||||
vn -0.473012 -0.286527 0.833164
|
||||
vn -0.826403 -0.284626 0.485846
|
||||
vn -0.959065 -0.283062 0.008422
|
||||
vn -0.833164 -0.286527 -0.473012
|
||||
vn -0.485846 -0.284628 -0.826402
|
||||
vn -0.000000 -0.178360 -0.983965
|
||||
vn 0.485847 -0.284626 -0.826402
|
||||
vn 0.864239 0.046656 -0.500914
|
||||
vn 0.998915 0.046560 -0.000077
|
||||
vn 0.864350 0.046361 0.500750
|
||||
vn 0.500914 0.046656 0.864238
|
||||
vn -0.000000 0.039090 0.999236
|
||||
vn -0.500914 0.046656 0.864238
|
||||
vn -0.864350 0.046362 0.500749
|
||||
vn -0.998915 0.046561 -0.000076
|
||||
vn -0.864238 0.046657 -0.500914
|
||||
vn -0.500750 0.046362 -0.864350
|
||||
vn -0.000000 0.054029 -0.998539
|
||||
vn 0.500750 0.046362 -0.864350
|
||||
vn 0.861447 0.103957 -0.497093
|
||||
vn 0.994530 0.104438 -0.001459
|
||||
vn 0.861164 0.103933 0.497589
|
||||
vn 0.497093 0.103957 0.861447
|
||||
vn -0.000000 0.092886 0.995677
|
||||
vn -0.497094 0.103957 0.861447
|
||||
vn -0.861164 0.103933 0.497589
|
||||
vn -0.994530 0.104437 -0.001459
|
||||
vn -0.861447 0.103957 -0.497093
|
||||
vn -0.497589 0.103933 -0.861164
|
||||
vn -0.000000 0.115966 -0.993253
|
||||
vn 0.497589 0.103933 -0.861164
|
||||
vn 0.856156 0.151747 -0.493933
|
||||
vn 0.988391 0.151930 0.000038
|
||||
vn 0.856409 0.152001 0.493416
|
||||
vn 0.493933 0.151746 0.856156
|
||||
vn -0.000000 0.147267 0.989097
|
||||
vn -0.493933 0.151746 0.856156
|
||||
vn -0.856409 0.152000 0.493416
|
||||
vn -0.988391 0.151930 0.000039
|
||||
vn -0.856156 0.151746 -0.493934
|
||||
vn -0.493417 0.152000 -0.856409
|
||||
vn -0.000000 0.156590 -0.987664
|
||||
vn 0.493417 0.152000 -0.856409
|
||||
vn 0.853321 0.178267 -0.489964
|
||||
vn 0.983932 0.178524 -0.002637
|
||||
vn 0.852360 0.177811 0.491798
|
||||
vn 0.489966 0.178267 0.853320
|
||||
vn -0.000000 0.174531 0.984652
|
||||
vn -0.489965 0.178267 0.853320
|
||||
vn -0.852360 0.177811 0.491798
|
||||
vn -0.983932 0.178524 -0.002636
|
||||
vn -0.853320 0.178267 -0.489966
|
||||
vn -0.491800 0.177811 -0.852359
|
||||
vn 0.000000 0.182510 -0.983204
|
||||
vn 0.491799 0.177811 -0.852360
|
||||
vn 0.786929 0.414037 -0.457510
|
||||
vn 0.912605 0.408762 -0.008151
|
||||
vn 0.793599 0.418021 0.442108
|
||||
vn 0.457512 0.414038 0.786928
|
||||
vn 0.000001 0.335466 0.942052
|
||||
vn -0.457512 0.414038 0.786927
|
||||
vn -0.793599 0.418021 0.442108
|
||||
vn -0.912604 0.408763 -0.008150
|
||||
vn -0.786929 0.414037 -0.457512
|
||||
vn -0.442109 0.418022 -0.793598
|
||||
vn 0.000001 0.479299 -0.877652
|
||||
vn 0.442108 0.418022 -0.793599
|
||||
vn 0.538684 0.775595 -0.329047
|
||||
vn 0.637027 0.770739 -0.012563
|
||||
vn 0.558900 0.772092 0.302496
|
||||
vn 0.329046 0.775594 0.538686
|
||||
vn 0.000001 0.720369 0.693591
|
||||
vn -0.329047 0.775594 0.538685
|
||||
vn -0.558901 0.772092 0.302496
|
||||
vn -0.637026 0.770740 -0.012564
|
||||
vn -0.538684 0.775595 -0.329047
|
||||
vn -0.302497 0.772093 -0.558899
|
||||
vn 0.000001 0.816671 -0.577104
|
||||
vn 0.302495 0.772093 -0.558900
|
||||
vn 0.189358 0.972724 -0.133981
|
||||
vn 0.228679 0.973286 -0.020494
|
||||
vn 0.209130 0.972972 0.097928
|
||||
vn 0.160700 0.960516 0.227122
|
||||
vn 0.000001 0.952575 0.304303
|
||||
vn -0.160701 0.960516 0.227120
|
||||
vn -0.209130 0.972972 0.097927
|
||||
vn -0.228678 0.973286 -0.020494
|
||||
vn -0.189360 0.972724 -0.133980
|
||||
vn -0.097929 0.972972 -0.209130
|
||||
vn 0.000001 0.973449 -0.228902
|
||||
vn 0.097929 0.972972 -0.209130
|
||||
vn 0.000000 1.000000 0.000000
|
||||
vn -0.834538 0.282304 0.473129
|
||||
vn -0.486469 0.280396 0.827482
|
||||
vn -0.000000 0.172427 0.985022
|
||||
vn 0.486469 0.280394 0.827482
|
||||
vn 0.834539 0.282300 0.473129
|
||||
vn 0.960343 0.278712 -0.007840
|
||||
vn 0.827484 0.280391 -0.486469
|
||||
vn 0.473130 0.282301 -0.834538
|
||||
vn -0.000000 0.381406 -0.924408
|
||||
vn -0.473129 0.282304 -0.834538
|
||||
vn -0.827483 0.280394 -0.486469
|
||||
vn -0.960342 0.278713 -0.007840
|
||||
vn -0.864736 -0.049355 0.499795
|
||||
vn -0.499753 -0.048748 0.864795
|
||||
vn -0.000000 -0.055268 0.998472
|
||||
vn 0.499753 -0.048748 0.864795
|
||||
vn 0.864737 -0.049355 0.499795
|
||||
vn 0.998769 -0.049607 0.000148
|
||||
vn 0.864795 -0.048748 -0.499753
|
||||
vn 0.499795 -0.049355 -0.864736
|
||||
vn -0.000000 -0.043945 -0.999034
|
||||
vn -0.499795 -0.049355 -0.864737
|
||||
vn -0.864795 -0.048748 -0.499753
|
||||
vn -0.998769 -0.049608 0.000149
|
||||
vn -0.862059 -0.096388 0.497557
|
||||
vn -0.497350 -0.096915 0.862119
|
||||
vn 0.000000 -0.107417 0.994214
|
||||
vn 0.497350 -0.096915 0.862119
|
||||
vn 0.862059 -0.096389 0.497557
|
||||
vn 0.995258 -0.097267 0.000526
|
||||
vn 0.862119 -0.096915 -0.497351
|
||||
vn 0.497557 -0.096389 -0.862059
|
||||
vn 0.000000 -0.087104 -0.996199
|
||||
vn -0.497557 -0.096388 -0.862059
|
||||
vn -0.862120 -0.096916 -0.497350
|
||||
vn -0.995258 -0.097267 0.000526
|
||||
vn -0.764118 -0.454627 0.457644
|
||||
vn -0.433085 -0.455591 0.777736
|
||||
vn 0.000000 -0.555385 0.831594
|
||||
vn 0.433085 -0.455591 0.777736
|
||||
vn 0.764119 -0.454626 0.457643
|
||||
vn 0.891196 -0.453435 0.012870
|
||||
vn 0.777736 -0.455591 -0.433086
|
||||
vn 0.457643 -0.454625 -0.764120
|
||||
vn 0.000000 -0.344639 -0.938735
|
||||
vn -0.457643 -0.454625 -0.764120
|
||||
vn -0.777736 -0.455591 -0.433086
|
||||
vn -0.891196 -0.453437 0.012869
|
||||
vn -0.300920 -0.929676 0.212484
|
||||
vn -0.187024 -0.896646 0.401309
|
||||
vn 0.000000 -0.871161 0.490997
|
||||
vn 0.187024 -0.896646 0.401309
|
||||
vn 0.300920 -0.929676 0.212484
|
||||
vn 0.368540 -0.929036 0.032700
|
||||
vn 0.334928 -0.929226 -0.156087
|
||||
vn 0.212484 -0.929676 -0.300920
|
||||
vn 0.000000 -0.872898 -0.487902
|
||||
vn -0.212484 -0.929676 -0.300920
|
||||
vn -0.334927 -0.929226 -0.156088
|
||||
vn -0.368539 -0.929037 0.032700
|
||||
vn 0.000000 -1.000000 0.000000
|
||||
# 182 normals
|
||||
|
||||
g default
|
||||
s 1
|
||||
f 12/1/1 24/1/2 13/1/3
|
||||
f 12/1/1 13/1/3 1/1/4
|
||||
f 1/1/4 13/1/3 14/1/5
|
||||
f 1/1/4 14/1/5 2/1/6
|
||||
f 2/1/6 14/1/5 15/1/7
|
||||
f 2/1/6 15/1/7 3/1/8
|
||||
f 3/1/8 15/1/7 16/1/9
|
||||
f 3/1/8 16/1/9 4/1/10
|
||||
f 16/1/9 17/1/11 5/1/12
|
||||
f 16/1/9 5/1/12 4/1/10
|
||||
f 17/1/11 18/1/13 6/1/14
|
||||
f 17/1/11 6/1/14 5/1/12
|
||||
f 18/1/13 19/1/15 7/1/16
|
||||
f 18/1/13 7/1/16 6/1/14
|
||||
f 19/1/15 20/1/17 8/1/18
|
||||
f 19/1/15 8/1/18 7/1/16
|
||||
f 20/1/17 21/1/19 9/1/20
|
||||
f 20/1/17 9/1/20 8/1/18
|
||||
f 21/1/19 22/1/21 10/1/22
|
||||
f 21/1/19 10/1/22 9/1/20
|
||||
f 10/1/22 22/1/21 23/1/23
|
||||
f 10/1/22 23/1/23 11/1/24
|
||||
f 11/1/24 23/1/23 24/1/2
|
||||
f 11/1/24 24/1/2 12/1/1
|
||||
f 24/1/2 36/1/25 25/1/26
|
||||
f 24/1/2 25/1/26 13/1/3
|
||||
f 13/1/3 25/1/26 26/1/27
|
||||
f 13/1/3 26/1/27 14/1/5
|
||||
f 14/1/5 26/1/27 27/1/28
|
||||
f 14/1/5 27/1/28 15/1/7
|
||||
f 15/1/7 27/1/28 28/1/29
|
||||
f 15/1/7 28/1/29 16/1/9
|
||||
f 28/1/29 29/1/30 17/1/11
|
||||
f 28/1/29 17/1/11 16/1/9
|
||||
f 29/1/30 30/1/31 18/1/13
|
||||
f 29/1/30 18/1/13 17/1/11
|
||||
f 30/1/31 31/1/32 19/1/15
|
||||
f 30/1/31 19/1/15 18/1/13
|
||||
f 31/1/32 32/1/33 20/1/17
|
||||
f 31/1/32 20/1/17 19/1/15
|
||||
f 32/1/33 33/1/34 21/1/19
|
||||
f 32/1/33 21/1/19 20/1/17
|
||||
f 33/1/34 34/1/35 22/1/21
|
||||
f 33/1/34 22/1/21 21/1/19
|
||||
f 22/1/21 34/1/35 35/1/36
|
||||
f 22/1/21 35/1/36 23/1/23
|
||||
f 23/1/23 35/1/36 36/1/25
|
||||
f 23/1/23 36/1/25 24/1/2
|
||||
f 36/1/25 48/1/37 37/1/38
|
||||
f 36/1/25 37/1/38 25/1/26
|
||||
f 25/1/26 37/1/38 38/1/39
|
||||
f 25/1/26 38/1/39 26/1/27
|
||||
f 26/1/27 38/1/39 39/1/40
|
||||
f 26/1/27 39/1/40 27/1/28
|
||||
f 27/1/28 39/1/40 40/1/41
|
||||
f 27/1/28 40/1/41 28/1/29
|
||||
f 40/1/41 41/1/42 29/1/30
|
||||
f 40/1/41 29/1/30 28/1/29
|
||||
f 41/1/42 42/1/43 30/1/31
|
||||
f 41/1/42 30/1/31 29/1/30
|
||||
f 42/1/43 43/1/44 31/1/32
|
||||
f 42/1/43 31/1/32 30/1/31
|
||||
f 43/1/44 44/1/45 32/1/33
|
||||
f 43/1/44 32/1/33 31/1/32
|
||||
f 44/1/45 45/1/46 33/1/34
|
||||
f 44/1/45 33/1/34 32/1/33
|
||||
f 45/1/46 46/1/47 34/1/35
|
||||
f 45/1/46 34/1/35 33/1/34
|
||||
f 34/1/35 46/1/47 47/1/48
|
||||
f 34/1/35 47/1/48 35/1/36
|
||||
f 35/1/36 47/1/48 48/1/37
|
||||
f 35/1/36 48/1/37 36/1/25
|
||||
f 48/1/37 60/1/49 49/1/50
|
||||
f 48/1/37 49/1/50 37/1/38
|
||||
f 37/1/38 49/1/50 50/1/51
|
||||
f 37/1/38 50/1/51 38/1/39
|
||||
f 38/1/39 50/1/51 51/1/52
|
||||
f 38/1/39 51/1/52 39/1/40
|
||||
f 39/1/40 51/1/52 52/1/53
|
||||
f 39/1/40 52/1/53 40/1/41
|
||||
f 52/1/53 53/1/54 41/1/42
|
||||
f 52/1/53 41/1/42 40/1/41
|
||||
f 53/1/54 54/1/55 42/1/43
|
||||
f 53/1/54 42/1/43 41/1/42
|
||||
f 54/1/55 55/1/56 43/1/44
|
||||
f 54/1/55 43/1/44 42/1/43
|
||||
f 55/1/56 56/1/57 44/1/45
|
||||
f 55/1/56 44/1/45 43/1/44
|
||||
f 56/1/57 57/1/58 45/1/46
|
||||
f 56/1/57 45/1/46 44/1/45
|
||||
f 57/1/58 58/1/59 46/1/47
|
||||
f 57/1/58 46/1/47 45/1/46
|
||||
f 46/1/47 58/1/59 59/1/60
|
||||
f 46/1/47 59/1/60 47/1/48
|
||||
f 47/1/48 59/1/60 60/1/49
|
||||
f 47/1/48 60/1/49 48/1/37
|
||||
f 60/1/49 72/1/61 61/1/62
|
||||
f 60/1/49 61/1/62 49/1/50
|
||||
f 49/1/50 61/1/62 62/1/63
|
||||
f 49/1/50 62/1/63 50/1/51
|
||||
f 50/1/51 62/1/63 63/1/64
|
||||
f 50/1/51 63/1/64 51/1/52
|
||||
f 51/1/52 63/1/64 64/1/65
|
||||
f 51/1/52 64/1/65 52/1/53
|
||||
f 64/1/65 65/1/66 53/1/54
|
||||
f 64/1/65 53/1/54 52/1/53
|
||||
f 65/1/66 66/1/67 54/1/55
|
||||
f 65/1/66 54/1/55 53/1/54
|
||||
f 66/1/67 67/1/68 55/1/56
|
||||
f 66/1/67 55/1/56 54/1/55
|
||||
f 67/1/68 68/1/69 56/1/57
|
||||
f 67/1/68 56/1/57 55/1/56
|
||||
f 68/1/69 69/1/70 57/1/58
|
||||
f 68/1/69 57/1/58 56/1/57
|
||||
f 69/1/70 70/1/71 58/1/59
|
||||
f 69/1/70 58/1/59 57/1/58
|
||||
f 58/1/59 70/1/71 71/1/72
|
||||
f 58/1/59 71/1/72 59/1/60
|
||||
f 59/1/60 71/1/72 72/1/61
|
||||
f 59/1/60 72/1/61 60/1/49
|
||||
f 72/1/61 84/1/73 73/1/74
|
||||
f 72/1/61 73/1/74 61/1/62
|
||||
f 61/1/62 73/1/74 74/1/75
|
||||
f 61/1/62 74/1/75 62/1/63
|
||||
f 62/1/63 74/1/75 75/1/76
|
||||
f 62/1/63 75/1/76 63/1/64
|
||||
f 63/1/64 75/1/76 76/1/77
|
||||
f 63/1/64 76/1/77 64/1/65
|
||||
f 76/1/77 77/1/78 65/1/66
|
||||
f 76/1/77 65/1/66 64/1/65
|
||||
f 77/1/78 78/1/79 66/1/67
|
||||
f 77/1/78 66/1/67 65/1/66
|
||||
f 78/1/79 79/1/80 67/1/68
|
||||
f 78/1/79 67/1/68 66/1/67
|
||||
f 79/1/80 80/1/81 68/1/69
|
||||
f 79/1/80 68/1/69 67/1/68
|
||||
f 80/1/81 81/1/82 69/1/70
|
||||
f 80/1/81 69/1/70 68/1/69
|
||||
f 81/1/82 82/1/83 70/1/71
|
||||
f 81/1/82 70/1/71 69/1/70
|
||||
f 70/1/71 82/1/83 83/1/84
|
||||
f 70/1/71 83/1/84 71/1/72
|
||||
f 71/1/72 83/1/84 84/1/73
|
||||
f 71/1/72 84/1/73 72/1/61
|
||||
f 84/1/73 96/1/85 85/1/86
|
||||
f 84/1/73 85/1/86 73/1/74
|
||||
f 73/1/74 85/1/86 86/1/87
|
||||
f 73/1/74 86/1/87 74/1/75
|
||||
f 74/1/75 86/1/87 87/1/88
|
||||
f 74/1/75 87/1/88 75/1/76
|
||||
f 75/1/76 87/1/88 88/1/89
|
||||
f 75/1/76 88/1/89 76/1/77
|
||||
f 88/1/89 89/1/90 77/1/78
|
||||
f 88/1/89 77/1/78 76/1/77
|
||||
f 89/1/90 90/1/91 78/1/79
|
||||
f 89/1/90 78/1/79 77/1/78
|
||||
f 90/1/91 91/1/92 79/1/80
|
||||
f 90/1/91 79/1/80 78/1/79
|
||||
f 91/1/92 92/1/93 80/1/81
|
||||
f 91/1/92 80/1/81 79/1/80
|
||||
f 92/1/93 93/1/94 81/1/82
|
||||
f 92/1/93 81/1/82 80/1/81
|
||||
f 93/1/94 94/1/95 82/1/83
|
||||
f 93/1/94 82/1/83 81/1/82
|
||||
f 82/1/83 94/1/95 95/1/96
|
||||
f 82/1/83 95/1/96 83/1/84
|
||||
f 83/1/84 95/1/96 96/1/85
|
||||
f 83/1/84 96/1/85 84/1/73
|
||||
f 96/1/85 108/1/97 97/1/98
|
||||
f 96/1/85 97/1/98 85/1/86
|
||||
f 85/1/86 97/1/98 98/1/99
|
||||
f 85/1/86 98/1/99 86/1/87
|
||||
f 86/1/87 98/1/99 99/1/100
|
||||
f 86/1/87 99/1/100 87/1/88
|
||||
f 87/1/88 99/1/100 100/1/101
|
||||
f 87/1/88 100/1/101 88/1/89
|
||||
f 100/1/101 101/1/102 89/1/90
|
||||
f 100/1/101 89/1/90 88/1/89
|
||||
f 101/1/102 102/1/103 90/1/91
|
||||
f 101/1/102 90/1/91 89/1/90
|
||||
f 102/1/103 103/1/104 91/1/92
|
||||
f 102/1/103 91/1/92 90/1/91
|
||||
f 103/1/104 104/1/105 92/1/93
|
||||
f 103/1/104 92/1/93 91/1/92
|
||||
f 104/1/105 105/1/106 93/1/94
|
||||
f 104/1/105 93/1/94 92/1/93
|
||||
f 105/1/106 106/1/107 94/1/95
|
||||
f 105/1/106 94/1/95 93/1/94
|
||||
f 94/1/95 106/1/107 107/1/108
|
||||
f 94/1/95 107/1/108 95/1/96
|
||||
f 95/1/96 107/1/108 108/1/97
|
||||
f 95/1/96 108/1/97 96/1/85
|
||||
f 108/1/97 120/1/109 109/1/110
|
||||
f 108/1/97 109/1/110 97/1/98
|
||||
f 97/1/98 109/1/110 110/1/111
|
||||
f 97/1/98 110/1/111 98/1/99
|
||||
f 98/1/99 110/1/111 111/1/112
|
||||
f 98/1/99 111/1/112 99/1/100
|
||||
f 99/1/100 111/1/112 112/1/113
|
||||
f 99/1/100 112/1/113 100/1/101
|
||||
f 112/1/113 113/1/114 101/1/102
|
||||
f 112/1/113 101/1/102 100/1/101
|
||||
f 113/1/114 114/1/115 102/1/103
|
||||
f 113/1/114 102/1/103 101/1/102
|
||||
f 114/1/115 115/1/116 103/1/104
|
||||
f 114/1/115 103/1/104 102/1/103
|
||||
f 115/1/116 116/1/117 104/1/105
|
||||
f 115/1/116 104/1/105 103/1/104
|
||||
f 116/1/117 117/1/118 105/1/106
|
||||
f 116/1/117 105/1/106 104/1/105
|
||||
f 117/1/118 118/1/119 106/1/107
|
||||
f 117/1/118 106/1/107 105/1/106
|
||||
f 106/1/107 118/1/119 119/1/120
|
||||
f 106/1/107 119/1/120 107/1/108
|
||||
f 107/1/108 119/1/120 120/1/109
|
||||
f 107/1/108 120/1/109 108/1/97
|
||||
f 124/1/121 123/1/121 117/1/118
|
||||
f 124/1/121 117/1/118 116/1/117
|
||||
f 121/1/121 124/1/121 116/1/117
|
||||
f 121/1/121 116/1/117 115/1/116
|
||||
f 122/1/121 121/1/121 115/1/116
|
||||
f 122/1/121 115/1/116 114/1/115
|
||||
f 125/1/121 122/1/121 114/1/115
|
||||
f 125/1/121 114/1/115 113/1/114
|
||||
f 119/1/120 123/1/121 124/1/121
|
||||
f 119/1/120 124/1/121 120/1/109
|
||||
f 120/1/109 124/1/121 121/1/121
|
||||
f 120/1/109 121/1/121 109/1/110
|
||||
f 109/1/110 121/1/121 122/1/121
|
||||
f 109/1/110 122/1/121 110/1/111
|
||||
f 110/1/111 122/1/121 125/1/121
|
||||
f 110/1/111 125/1/121 111/1/112
|
||||
f 123/1/121 119/1/120 118/1/119
|
||||
f 123/1/121 118/1/119 117/1/118
|
||||
f 112/1/113 111/1/112 125/1/121
|
||||
f 112/1/113 125/1/121 113/1/114
|
||||
f 5/1/12 6/1/14 137/1/122
|
||||
f 5/1/12 137/1/122 126/1/123
|
||||
f 4/1/10 5/1/12 126/1/123
|
||||
f 4/1/10 126/1/123 127/1/124
|
||||
f 128/1/125 3/1/8 4/1/10
|
||||
f 128/1/125 4/1/10 127/1/124
|
||||
f 129/1/126 2/1/6 3/1/8
|
||||
f 129/1/126 3/1/8 128/1/125
|
||||
f 130/1/127 1/1/4 2/1/6
|
||||
f 130/1/127 2/1/6 129/1/126
|
||||
f 131/1/128 12/1/1 1/1/4
|
||||
f 131/1/128 1/1/4 130/1/127
|
||||
f 132/1/129 11/1/24 12/1/1
|
||||
f 132/1/129 12/1/1 131/1/128
|
||||
f 133/1/130 10/1/22 11/1/24
|
||||
f 133/1/130 11/1/24 132/1/129
|
||||
f 9/1/20 10/1/22 133/1/130
|
||||
f 9/1/20 133/1/130 134/1/131
|
||||
f 8/1/18 9/1/20 134/1/131
|
||||
f 8/1/18 134/1/131 135/1/132
|
||||
f 7/1/16 8/1/18 135/1/132
|
||||
f 7/1/16 135/1/132 136/1/133
|
||||
f 6/1/14 7/1/16 136/1/133
|
||||
f 6/1/14 136/1/133 137/1/122
|
||||
f 126/1/123 137/1/122 149/1/134
|
||||
f 126/1/123 149/1/134 138/1/135
|
||||
f 127/1/124 126/1/123 138/1/135
|
||||
f 127/1/124 138/1/135 139/1/136
|
||||
f 140/1/137 128/1/125 127/1/124
|
||||
f 140/1/137 127/1/124 139/1/136
|
||||
f 141/1/138 129/1/126 128/1/125
|
||||
f 141/1/138 128/1/125 140/1/137
|
||||
f 142/1/139 130/1/127 129/1/126
|
||||
f 142/1/139 129/1/126 141/1/138
|
||||
f 143/1/140 131/1/128 130/1/127
|
||||
f 143/1/140 130/1/127 142/1/139
|
||||
f 144/1/141 132/1/129 131/1/128
|
||||
f 144/1/141 131/1/128 143/1/140
|
||||
f 145/1/142 133/1/130 132/1/129
|
||||
f 145/1/142 132/1/129 144/1/141
|
||||
f 134/1/131 133/1/130 145/1/142
|
||||
f 134/1/131 145/1/142 146/1/143
|
||||
f 135/1/132 134/1/131 146/1/143
|
||||
f 135/1/132 146/1/143 147/1/144
|
||||
f 136/1/133 135/1/132 147/1/144
|
||||
f 136/1/133 147/1/144 148/1/145
|
||||
f 137/1/122 136/1/133 148/1/145
|
||||
f 137/1/122 148/1/145 149/1/134
|
||||
f 138/1/135 149/1/134 161/1/146
|
||||
f 138/1/135 161/1/146 150/1/147
|
||||
f 139/1/136 138/1/135 150/1/147
|
||||
f 139/1/136 150/1/147 151/1/148
|
||||
f 152/1/149 140/1/137 139/1/136
|
||||
f 152/1/149 139/1/136 151/1/148
|
||||
f 153/1/150 141/1/138 140/1/137
|
||||
f 153/1/150 140/1/137 152/1/149
|
||||
f 154/1/151 142/1/139 141/1/138
|
||||
f 154/1/151 141/1/138 153/1/150
|
||||
f 155/1/152 143/1/140 142/1/139
|
||||
f 155/1/152 142/1/139 154/1/151
|
||||
f 156/1/153 144/1/141 143/1/140
|
||||
f 156/1/153 143/1/140 155/1/152
|
||||
f 157/1/154 145/1/142 144/1/141
|
||||
f 157/1/154 144/1/141 156/1/153
|
||||
f 146/1/143 145/1/142 157/1/154
|
||||
f 146/1/143 157/1/154 158/1/155
|
||||
f 147/1/144 146/1/143 158/1/155
|
||||
f 147/1/144 158/1/155 159/1/156
|
||||
f 148/1/145 147/1/144 159/1/156
|
||||
f 148/1/145 159/1/156 160/1/157
|
||||
f 149/1/134 148/1/145 160/1/157
|
||||
f 149/1/134 160/1/157 161/1/146
|
||||
f 150/1/147 161/1/146 173/1/158
|
||||
f 150/1/147 173/1/158 162/1/159
|
||||
f 151/1/148 150/1/147 162/1/159
|
||||
f 151/1/148 162/1/159 163/1/160
|
||||
f 164/1/161 152/1/149 151/1/148
|
||||
f 164/1/161 151/1/148 163/1/160
|
||||
f 165/1/162 153/1/150 152/1/149
|
||||
f 165/1/162 152/1/149 164/1/161
|
||||
f 166/1/163 154/1/151 153/1/150
|
||||
f 166/1/163 153/1/150 165/1/162
|
||||
f 167/1/164 155/1/152 154/1/151
|
||||
f 167/1/164 154/1/151 166/1/163
|
||||
f 168/1/165 156/1/153 155/1/152
|
||||
f 168/1/165 155/1/152 167/1/164
|
||||
f 169/1/166 157/1/154 156/1/153
|
||||
f 169/1/166 156/1/153 168/1/165
|
||||
f 158/1/155 157/1/154 169/1/166
|
||||
f 158/1/155 169/1/166 170/1/167
|
||||
f 159/1/156 158/1/155 170/1/167
|
||||
f 159/1/156 170/1/167 171/1/168
|
||||
f 160/1/157 159/1/156 171/1/168
|
||||
f 160/1/157 171/1/168 172/1/169
|
||||
f 161/1/146 160/1/157 172/1/169
|
||||
f 161/1/146 172/1/169 173/1/158
|
||||
f 162/1/159 173/1/158 185/1/170
|
||||
f 162/1/159 185/1/170 174/1/171
|
||||
f 163/1/160 162/1/159 174/1/171
|
||||
f 163/1/160 174/1/171 175/1/172
|
||||
f 176/1/173 164/1/161 163/1/160
|
||||
f 176/1/173 163/1/160 175/1/172
|
||||
f 177/1/174 165/1/162 164/1/161
|
||||
f 177/1/174 164/1/161 176/1/173
|
||||
f 178/1/175 166/1/163 165/1/162
|
||||
f 178/1/175 165/1/162 177/1/174
|
||||
f 179/1/176 167/1/164 166/1/163
|
||||
f 179/1/176 166/1/163 178/1/175
|
||||
f 180/1/177 168/1/165 167/1/164
|
||||
f 180/1/177 167/1/164 179/1/176
|
||||
f 181/1/178 169/1/166 168/1/165
|
||||
f 181/1/178 168/1/165 180/1/177
|
||||
f 170/1/167 169/1/166 181/1/178
|
||||
f 170/1/167 181/1/178 182/1/179
|
||||
f 171/1/168 170/1/167 182/1/179
|
||||
f 171/1/168 182/1/179 183/1/180
|
||||
f 172/1/169 171/1/168 183/1/180
|
||||
f 172/1/169 183/1/180 184/1/181
|
||||
f 173/1/158 172/1/169 184/1/181
|
||||
f 173/1/158 184/1/181 185/1/170
|
||||
f 182/1/179 189/1/182 190/1/182
|
||||
f 182/1/179 190/1/182 183/1/180
|
||||
f 183/1/180 190/1/182 186/1/182
|
||||
f 183/1/180 186/1/182 184/1/181
|
||||
f 184/1/181 186/1/182 187/1/182
|
||||
f 184/1/181 187/1/182 185/1/170
|
||||
f 185/1/170 187/1/182 188/1/182
|
||||
f 185/1/170 188/1/182 174/1/171
|
||||
f 190/1/182 189/1/182 180/1/177
|
||||
f 190/1/182 180/1/177 179/1/176
|
||||
f 186/1/182 190/1/182 179/1/176
|
||||
f 186/1/182 179/1/176 178/1/175
|
||||
f 187/1/182 186/1/182 178/1/175
|
||||
f 187/1/182 178/1/175 177/1/174
|
||||
f 188/1/182 187/1/182 177/1/174
|
||||
f 188/1/182 177/1/174 176/1/173
|
||||
f 189/1/182 182/1/179 181/1/178
|
||||
f 189/1/182 181/1/178 180/1/177
|
||||
f 174/1/171 188/1/182 176/1/173
|
||||
f 174/1/171 176/1/173 175/1/172
|
||||
# 376 triangles in group
|
||||
|
||||
# 376 triangles total
|
||||
|
||||
BIN
kaplademo/externals/resources/car02_diffuse.bmp
vendored
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
kaplademo/externals/resources/car2.raw
vendored
Normal file
BIN
kaplademo/externals/resources/car_window_diffuse.bmp
vendored
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
kaplademo/externals/resources/checker_tex0.bmp
vendored
Normal file
|
After Width: | Height: | Size: 192 KiB |
BIN
kaplademo/externals/resources/checker_tex1.bmp
vendored
Normal file
|
After Width: | Height: | Size: 192 KiB |
BIN
kaplademo/externals/resources/checker_tex2.bmp
vendored
Normal file
|
After Width: | Height: | Size: 192 KiB |
BIN
kaplademo/externals/resources/checker_tex3.bmp
vendored
Normal file
|
After Width: | Height: | Size: 192 KiB |
BIN
kaplademo/externals/resources/checker_tex4.bmp
vendored
Normal file
|
After Width: | Height: | Size: 192 KiB |
BIN
kaplademo/externals/resources/crosshair.bmp
vendored
Normal file
|
After Width: | Height: | Size: 766 KiB |
1416
kaplademo/externals/resources/fxaa.fs
vendored
Normal file
6
kaplademo/externals/resources/fxaa.vs
vendored
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
void main(void)
|
||||
{
|
||||
gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||
gl_Position = gl_Vertex * 2.0f - 1.0f;
|
||||
}
|
||||
24
kaplademo/externals/resources/shaders/bloomH_fs.cpp
vendored
Normal file
@ -0,0 +1,24 @@
|
||||
uniform sampler2D colorTex;
|
||||
uniform float sx;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
vec3 bloom = vec3(0.0, 0.0, 0.0);
|
||||
const float hdrScale = 1.5;
|
||||
const int kernelSize = 10;
|
||||
const float invScale = 1.0 / (hdrScale * float(kernelSize));
|
||||
|
||||
for (int x = -kernelSize; x <= kernelSize; x++)
|
||||
{
|
||||
float s = gl_TexCoord[0].s + x * sx;
|
||||
float t = gl_TexCoord[0].t;
|
||||
vec3 color = texture2D(colorTex, vec2(s,t)).rgb;
|
||||
float luminance = dot(color, vec3(0.2125, 0.7154, 0.0721));
|
||||
if (luminance > 1.0)
|
||||
{
|
||||
bloom += color * ((kernelSize+1) - abs(float(x)));
|
||||
}
|
||||
}
|
||||
|
||||
gl_FragColor = vec4(bloom * invScale, 1.0);
|
||||
}
|
||||
30
kaplademo/externals/resources/shaders/bloomV_fs.cpp
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
uniform sampler2D colorTex;
|
||||
uniform sampler2D blurTex;
|
||||
uniform float sy;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
const float hdrScale = 1.5;
|
||||
const int kernelSize = 10;
|
||||
const float invScale = 1.0 / (hdrScale * float(kernelSize) * 100.0);
|
||||
|
||||
vec3 colorP = texture2D(colorTex, gl_TexCoord[0]).rgb;
|
||||
vec3 bloom = vec3(0.0, 0.0, 0.0);
|
||||
|
||||
for (int y = -kernelSize; y <= kernelSize; y++)
|
||||
{
|
||||
float s = gl_TexCoord[0].s;
|
||||
float t = gl_TexCoord[0].t + y * sy;
|
||||
vec3 color = texture2D(blurTex, vec2(s,t)).rgb;
|
||||
float luminance = dot(color, vec3(0.2125, 0.7154, 0.0721));
|
||||
if (luminance > 1.0)
|
||||
{
|
||||
bloom += color * ((kernelSize+1) - abs(float(y)));
|
||||
}
|
||||
}
|
||||
|
||||
vec3 hdrColor = invScale * bloom + colorP;
|
||||
|
||||
vec3 toneMappedColor = 2.0 * hdrColor / (hdrColor + vec3(1.0));
|
||||
gl_FragColor = vec4(toneMappedColor, 1.0);
|
||||
}
|
||||
529
kaplademo/externals/resources/shaders/combine_fs.cpp
vendored
Normal file
@ -0,0 +1,529 @@
|
||||
uniform sampler3D ttt3D;
|
||||
|
||||
uniform float extraNoiseScale = 1.0f;
|
||||
uniform float noiseScale = 0.03f;
|
||||
float noise(float p) {
|
||||
return texture3D(ttt3D, vec3(p*noiseScale*extraNoiseScale, 0.5, 0.5)).x;
|
||||
}
|
||||
|
||||
float noise(float p, float q) {
|
||||
return texture3D(ttt3D, vec3(p*noiseScale*extraNoiseScale, q*noiseScale*extraNoiseScale, 0.5)).x;
|
||||
}
|
||||
|
||||
float snoise(float p) {
|
||||
return noise(p)*2.0f - 1.0f;
|
||||
}
|
||||
float snoise(float p, float q) {
|
||||
return noise(p, q)*2.0f - 1.0f;
|
||||
}
|
||||
float boxstep(float a, float b, float x) {
|
||||
return (clamp(((x)-(a)) / ((b)-(a)), 0, 1));
|
||||
|
||||
}
|
||||
|
||||
uniform float Ka = 1;
|
||||
uniform float Kd = 0.75;
|
||||
uniform float Ks = 0.15;
|
||||
uniform float roughness = 0.025;
|
||||
uniform vec3 specularcolor = vec3(1, 1, 1);
|
||||
uniform float ringscale = 0;
|
||||
uniform float grainscale = 0;
|
||||
uniform float txtscale = 1;
|
||||
uniform float plankspertile = 4;
|
||||
uniform vec3 lightwood = vec3(0.57, 0.292, 0.125);
|
||||
uniform vec3 darkwood = vec3(0.275, 0.15, 0.06);
|
||||
uniform vec3 groovecolor = vec3(.05, .04, .015);
|
||||
//uniform float plankwidth = .05;
|
||||
uniform float plankwidth = .2;
|
||||
uniform float groovewidth = 0.001;
|
||||
uniform float plankvary = 0.8;
|
||||
uniform float grainy = 1;
|
||||
uniform float wavy = 0.08;
|
||||
uniform float MINFILTERWIDTH = 1.0e-7;
|
||||
|
||||
vec3 myTexture3D_0(vec3 p)
|
||||
{
|
||||
float r;
|
||||
float r2;
|
||||
float whichrow;
|
||||
float whichplank;
|
||||
float swidth;
|
||||
float twidth;
|
||||
float fwidth;
|
||||
float ss;
|
||||
float tt;
|
||||
float w;
|
||||
float h;
|
||||
float fade;
|
||||
float ttt;
|
||||
vec3 Ct;
|
||||
vec3 woodcolor;
|
||||
float groovy;
|
||||
float PGWIDTH;
|
||||
float PGHEIGHT;
|
||||
float GWF;
|
||||
float GHF;
|
||||
float tilewidth;
|
||||
float whichtile;
|
||||
float tmp;
|
||||
float planklength;
|
||||
|
||||
|
||||
PGWIDTH = plankwidth + groovewidth;
|
||||
planklength = PGWIDTH * plankspertile - groovewidth;
|
||||
|
||||
PGHEIGHT = planklength + groovewidth;
|
||||
GWF = groovewidth*0.5 / PGWIDTH;
|
||||
GHF = groovewidth*0.5 / PGHEIGHT;
|
||||
|
||||
// Determine how wide in s-t space one pixel projects to
|
||||
float s = p.x;
|
||||
float t = p.y;
|
||||
float du = 1.0;
|
||||
float dv = 1.0;
|
||||
|
||||
swidth = (max(abs(dFdx(s)*du) + abs(dFdy(s)*dv), MINFILTERWIDTH) /
|
||||
PGWIDTH) * txtscale;
|
||||
twidth = (max(abs(dFdx(t)*du) + abs(dFdy(t)*dv), MINFILTERWIDTH) /
|
||||
PGHEIGHT) * txtscale;
|
||||
fwidth = max(swidth, twidth);
|
||||
|
||||
ss = (txtscale * s) / PGWIDTH;
|
||||
whichrow = floor(ss);
|
||||
tt = (txtscale * t) / PGHEIGHT;
|
||||
whichplank = floor(tt);
|
||||
|
||||
if (mod(whichrow / plankspertile + whichplank, 2) >= 1) {
|
||||
ss = txtscale * t / PGWIDTH;
|
||||
whichrow = floor(ss);
|
||||
tt = txtscale * s / PGHEIGHT;
|
||||
whichplank = floor(tt);
|
||||
tmp = swidth; swidth = twidth; twidth = tmp;
|
||||
}
|
||||
ss -= whichrow;
|
||||
tt -= whichplank;
|
||||
whichplank += 20 * (whichrow + 10);
|
||||
|
||||
if (swidth >= 1)
|
||||
w = 1 - 2 * GWF;
|
||||
else w = clamp(boxstep(GWF - swidth, GWF, ss), max(1 - GWF / swidth, 0), 1)
|
||||
- clamp(boxstep(1 - GWF - swidth, 1 - GWF, ss), 0, 2 * GWF / swidth);
|
||||
if (twidth >= 1)
|
||||
h = 1 - 2 * GHF;
|
||||
else h = clamp(boxstep(GHF - twidth, GHF, tt), max(1 - GHF / twidth, 0), 1)
|
||||
- clamp(boxstep(1 - GHF - twidth, 1 - GHF, tt), 0, 2 * GHF / twidth);
|
||||
// This would be the non-antialiased version:
|
||||
//w = step (GWF,ss) - step(1-GWF,ss);
|
||||
//h = step (GHF,tt) - step(1-GHF,tt);
|
||||
|
||||
groovy = w*h;
|
||||
|
||||
|
||||
|
||||
// Add the ring patterns
|
||||
fade = smoothstep(1 / ringscale, 8 / ringscale, fwidth);
|
||||
if (fade < 0.999) {
|
||||
|
||||
ttt = tt / 4 + whichplank / 28.38 + wavy * noise(8 * ss, tt / 4);
|
||||
r = ringscale * noise(ss - whichplank, ttt);
|
||||
r -= floor(r);
|
||||
r = 0.3 + 0.7*smoothstep(0.2, 0.55, r)*(1 - smoothstep(0.75, 0.8, r));
|
||||
r = (1 - fade)*r + 0.65*fade;
|
||||
|
||||
// Multiply the ring pattern by the fine grain
|
||||
|
||||
fade = smoothstep(2 / grainscale, 8 / grainscale, fwidth);
|
||||
if (fade < 0.999) {
|
||||
r2 = 1.3 - noise(ss*grainscale, (tt*grainscale / 4));
|
||||
r2 = grainy * r2*r2 + (1 - grainy);
|
||||
r *= (1 - fade)*r2 + (0.75*fade);
|
||||
|
||||
}
|
||||
else r *= 0.75;
|
||||
|
||||
}
|
||||
else r = 0.4875;
|
||||
|
||||
|
||||
// Mix the light and dark wood according to the grain pattern
|
||||
woodcolor = lerp(lightwood, darkwood, r);
|
||||
|
||||
// Add plank-to-plank variation in overall color
|
||||
woodcolor *= (1 - plankvary / 2 + plankvary * noise(whichplank + 0.5));
|
||||
|
||||
Ct = lerp(groovecolor, woodcolor, groovy);
|
||||
return Ct;
|
||||
|
||||
}
|
||||
|
||||
float noise3D_1(vec3 p)
|
||||
{
|
||||
return texture3D(ttt3D, p).x*2.0f - 1.0f;
|
||||
}
|
||||
|
||||
float turbulence_1(vec3 p, int octaves, float lacunarity, float gain) {
|
||||
|
||||
float freq = 1.0f;
|
||||
float amp = 0.8f;
|
||||
float sum = 0.0f;
|
||||
|
||||
for (int i = 0; i<octaves; i++) {
|
||||
sum += abs(noise3D_1(p*freq))*amp;
|
||||
freq *= lacunarity;
|
||||
amp *= gain;
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
float spike_1(float c, float w, float x) {
|
||||
return smoothstep(c - w, c, x) * smoothstep(c + w, c, x);
|
||||
}
|
||||
|
||||
vec3 myTexture3D_1(vec3 p)
|
||||
{
|
||||
|
||||
|
||||
float noiseScale = 0.1f*extraNoiseScale;
|
||||
float noise = turbulence_1(p*noiseScale, 3, 3.0f, 0.5f);
|
||||
//noise = turbulence(p*noiseScale + vec3(noise, noise, noise*0.3)*0.01f, 8, 3.0f, 0.5f);
|
||||
|
||||
//noise = spike(0.35f, 0.05f, noise);
|
||||
//noise = noise;
|
||||
|
||||
vec3 base = lerp(vec3(164, 148, 108)*1.63 / 255, vec3(178, 156, 126)*1.73 / 255, spike_1(0.5f, 0.3f, turbulence_1(p*noiseScale*0.7f + vec3(noise*0.5, noise, noise)*0.011f, 2, 2.0f, 0.5f)));
|
||||
//vec3 b2 = lerp(base, vec3(0.0f, 0.0f, 0.0f), noise);
|
||||
vec3 b2 = lerp(base, vec3(173, 160, 121)*1.73 / 255, noise);
|
||||
|
||||
|
||||
|
||||
return b2*0.75f;
|
||||
|
||||
}
|
||||
|
||||
vec3 myTexture3DCom(vec3 p, float mat) {
|
||||
// Depend on material ID
|
||||
|
||||
if (mat < 0.5f) {
|
||||
//return myTexture3D_0(p);
|
||||
return vec3(173, 160, 151) *0.85/ 255;
|
||||
//return lightwood*1.3;
|
||||
}
|
||||
else
|
||||
if (mat < 1.5f) {
|
||||
//return myTexture3D_1(p);
|
||||
return vec3(173, 100, 21)*1.73 / 255;
|
||||
} else {
|
||||
return vec3(1.0f, 0.0f, 0.0f);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
// scene reflection
|
||||
uniform float reflectionCoeff = 0.0f;
|
||||
uniform float specularCoeff = 0.0f;
|
||||
|
||||
uniform sampler2DRect reflectionTex;
|
||||
|
||||
// Shadow map
|
||||
uniform float shadowAmbient = 0.0;
|
||||
uniform float hdrScale = 5.0;
|
||||
uniform sampler2D texture;
|
||||
uniform sampler2DArrayShadow stex;
|
||||
uniform sampler2DArrayShadow stex2;
|
||||
uniform sampler2DArrayShadow stex3;
|
||||
uniform samplerCube skyboxTex;
|
||||
uniform vec2 texSize; // x - size, y - 1/size
|
||||
uniform vec4 far_d;
|
||||
|
||||
// Spot lights
|
||||
uniform vec3 spotLightDir;
|
||||
uniform vec3 spotLightPos;
|
||||
uniform float spotLightCosineDecayBegin;
|
||||
uniform float spotLightCosineDecayEnd;
|
||||
|
||||
uniform vec3 spotLightDir2;
|
||||
uniform vec3 spotLightPos2;
|
||||
uniform float spotLightCosineDecayBegin2;
|
||||
uniform float spotLightCosineDecayEnd2;
|
||||
|
||||
uniform vec3 spotLightDir3;
|
||||
uniform vec3 spotLightPos3;
|
||||
uniform float spotLightCosineDecayBegin3;
|
||||
uniform float spotLightCosineDecayEnd3;
|
||||
|
||||
uniform vec3 parallelLightDir;
|
||||
uniform float shadowAdd;
|
||||
uniform int useTexture;
|
||||
uniform int numShadows;
|
||||
|
||||
|
||||
uniform float roughnessScale;
|
||||
uniform vec3 ambientColor;
|
||||
|
||||
uniform sampler2DArray diffuseTexArray;
|
||||
uniform sampler2DArray bumpTexArray;
|
||||
uniform sampler2DArray specularTexArray;
|
||||
uniform sampler2DArray emissiveReflectSpecPowerTexArray;
|
||||
|
||||
uniform vec2 shadowTaps[12];
|
||||
|
||||
|
||||
float shadowCoeff1(float bscale)
|
||||
{
|
||||
|
||||
int index = 3;
|
||||
|
||||
if(gl_FragCoord.z < far_d.x)
|
||||
index = 0;
|
||||
else if(gl_FragCoord.z < far_d.y)
|
||||
index = 1;
|
||||
else if(gl_FragCoord.z < far_d.z)
|
||||
index = 2;
|
||||
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[1].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z + shadowAdd*bscale;
|
||||
// tell glsl in which layer to do the look up
|
||||
shadow_coord.z = float(index);
|
||||
|
||||
|
||||
// Gaussian 3x3 filter
|
||||
// return shadow2DArray(stex, shadow_coord).x;
|
||||
/*
|
||||
const float X = 1.0f;
|
||||
float ret = shadow2DArray(stex, shadow_coord).x * 0.25;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( -X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( -X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( -X, X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( 0, -X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( 0, X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( X, X)).x * 0.0625;
|
||||
return ret;*/
|
||||
const int numTaps = 6;
|
||||
float radius = 0.0003f/pow(2,index);
|
||||
float s = 0.0f;
|
||||
for (int i = 0; i < numTaps; i++)
|
||||
{
|
||||
s += shadow2DArray(stex, shadow_coord + vec4(shadowTaps[i] * radius, 0.0f, 0.0f)).r;
|
||||
}
|
||||
s /= numTaps;
|
||||
return s;
|
||||
}
|
||||
float shadowCoeff2()
|
||||
{
|
||||
const int index = 1;
|
||||
|
||||
//int index = 3;
|
||||
//if(gl_FragCoord.z < far_d.x)
|
||||
// index = 0;
|
||||
//else if(gl_FragCoord.z < far_d.y)
|
||||
// index = 1;
|
||||
//else if(gl_FragCoord.z < far_d.z)
|
||||
// index = 2;
|
||||
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[1].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z + shadowAdd;
|
||||
shadow_coord.z = float(0);
|
||||
// return shadow2DArray(stex, shadow_coord).x;
|
||||
|
||||
const float X = 1.0f;
|
||||
float ret = shadow2DArray(stex2, shadow_coord).x * 0.25;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( -X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( -X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( -X, X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( 0, -X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( 0, X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( X, X)).x * 0.0625;
|
||||
return ret;
|
||||
}
|
||||
float shadowCoeff3()
|
||||
{
|
||||
const int index = 2;
|
||||
|
||||
//int index = 3;
|
||||
//if(gl_FragCoord.z < far_d.x)
|
||||
// index = 0;
|
||||
//else if(gl_FragCoord.z < far_d.y)
|
||||
// index = 1;
|
||||
//else if(gl_FragCoord.z < far_d.z)
|
||||
// index = 2;
|
||||
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[1].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z + shadowAdd;
|
||||
shadow_coord.z = float(0);
|
||||
|
||||
// return shadow2DArray(stex, shadow_coord).x;
|
||||
|
||||
const float X = 1.0f;
|
||||
float ret = shadow2DArray(stex3, shadow_coord).x * 0.25;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( -X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( -X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( -X, X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( 0, -X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( 0, X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( X, X)).x * 0.0625;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
uniform float RollOff = 0.5f;
|
||||
uniform float fresnelBias = 0.0;
|
||||
uniform float fresnelScale = 1.0;
|
||||
uniform float fresnelPower = 3.0; // 5.0 is physically correct
|
||||
void main()
|
||||
{
|
||||
|
||||
/*
|
||||
int index = 3;
|
||||
|
||||
if(gl_FragCoord.z < far_d.x)
|
||||
index = 0;
|
||||
else if(gl_FragCoord.z < far_d.y)
|
||||
index = 1;
|
||||
else if(gl_FragCoord.z < far_d.z)
|
||||
index = 2;
|
||||
if (index == 3) gl_FragColor = vec4(1,0,0,1);
|
||||
if (index == 2) gl_FragColor = vec4(0,1,0,1);
|
||||
if (index == 1) gl_FragColor = vec4(0,0,1,1);
|
||||
if (index == 0) gl_FragColor = vec4(1,1,0,1);
|
||||
return;*/
|
||||
/*
|
||||
int index = 3;
|
||||
|
||||
if(gl_FragCoord.z < far_d.x)
|
||||
index = 0;
|
||||
else if(gl_FragCoord.z < far_d.y)
|
||||
index = 1;
|
||||
else if(gl_FragCoord.z < far_d.z)
|
||||
index = 2;
|
||||
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[1].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z + shadowAdd;
|
||||
// tell glsl in which layer to do the look up
|
||||
shadow_coord.z = float(index)*0.33333333f;
|
||||
gl_FragColor = vec4(shadow_coord.xyz,1.0f);
|
||||
return;
|
||||
*/
|
||||
//// TODO, expose this as user parameter
|
||||
const float skyLightIntensity = 0.2;
|
||||
const float rimLightIntensity = 0.3;
|
||||
|
||||
vec3 normal = normalize(gl_TexCoord[2].xyz);
|
||||
vec3 t0 = gl_TexCoord[3].xyz;
|
||||
vec3 t1 = gl_TexCoord[4].xyz;
|
||||
|
||||
vec3 diffuseMat;
|
||||
vec3 specularMat;
|
||||
vec3 bump;
|
||||
vec3 emissiveReflectSpecPow;
|
||||
|
||||
// read in material color for diffuse, specular, bump, emmisive
|
||||
|
||||
// 3D texture
|
||||
diffuseMat = myTexture3DCom(gl_TexCoord[0].xyz, gl_TexCoord[6].w);
|
||||
//diffuseMat = myTexture3D(gl_TexCoord[0].xyz);//texture3D(ttt3D, gl_TexCoord[0].xyz);
|
||||
//diffuseMat = texture3D(ttt3D, gl_TexCoord[0].xyz);
|
||||
|
||||
specularMat = vec3(1.0);
|
||||
bump = texture2D(texture, gl_TexCoord[5].xy).xyz;
|
||||
if (dot(bump,bump) < 0.01) bump = vec3(0.5,0.5,1);
|
||||
emissiveReflectSpecPow = vec3(0.0,0.0,0.0);
|
||||
|
||||
|
||||
// apply bump to the normal
|
||||
bump = (bump - vec3(0.5,0.5,0.5)) * 2.0f;
|
||||
bump.xy *= roughnessScale*0.1;
|
||||
|
||||
float sc = 1.0f;
|
||||
normal = normalize(t0*bump.x + t1*bump.y + sc*normal * bump.z);
|
||||
|
||||
//gl_FragColor.xyz = normal*0.5 + vec3(0.5,0.5,0.5);
|
||||
//gl_FragColor.w = 1;
|
||||
//return;
|
||||
vec3 eyeVec = normalize(gl_TexCoord[1].xyz);
|
||||
|
||||
// apply gamma correction for diffuse textures
|
||||
//diffuseMat = pow(diffuseMat, 0.45);
|
||||
|
||||
float specularPower = emissiveReflectSpecPow.b*255.0f + 1.0f;
|
||||
|
||||
// TODO - fix this
|
||||
specularPower = 10.0f;
|
||||
|
||||
float emissive = 0.0f;
|
||||
float reflectivity = emissiveReflectSpecPow.b;
|
||||
float fresnel = fresnelBias + fresnelScale*pow(1.0 - max(0.0, dot(normal, eyeVec)), fresnelPower);
|
||||
float specular = 0.0f;
|
||||
|
||||
vec3 skyNormal = reflect(eyeVec, normal);
|
||||
vec3 skyColor = skyLightIntensity * textureCube(skyboxTex, skyNormal).rgb;
|
||||
vec3 ambientSkyColor = diffuseMat * skyColor;
|
||||
|
||||
vec3 diffuseColor = vec3(0.0, 0.0, 0.0);
|
||||
|
||||
if (numShadows >= 1) {
|
||||
|
||||
vec3 lightColor = hdrScale * vec3(1.0, 1.0, 1.0);
|
||||
vec3 shadowColor = vec3(0.4, 0.4, 0.7); // colored shadow
|
||||
//vec3 lvec = normalize(spotLightDir);
|
||||
vec3 lvec = normalize(spotLightPos - gl_TexCoord[1].xyz);
|
||||
float ldn = max(0.0f, dot(normal, lvec));
|
||||
float cosine = dot(lvec, spotLightDir);
|
||||
float intensity = smoothstep(spotLightCosineDecayBegin, spotLightCosineDecayEnd, cosine);
|
||||
|
||||
float bscale = 1;//1.0f-ldn;
|
||||
|
||||
float shadowC = shadowCoeff1(bscale);
|
||||
//gl_FragColor = vec4(shadowC,shadowC,shadowC,1.0f);
|
||||
//return;
|
||||
vec3 irradiance = shadowC * ldn * lightColor;
|
||||
|
||||
// diffuse irradiance
|
||||
diffuseColor += diffuseMat * irradiance*intensity;
|
||||
|
||||
// add colored shadow
|
||||
diffuseColor += (1.0 - shadowC*ldn) * shadowAmbient * shadowColor * diffuseMat*intensity;
|
||||
|
||||
vec3 r = reflect(lvec, normal);
|
||||
specular += pow(max(0.0, dot(r, eyeVec)), specularPower)*shadowC*intensity;
|
||||
}
|
||||
|
||||
// add rim light
|
||||
if (numShadows >= 2) {
|
||||
vec3 lightColor = hdrScale * vec3(1.0, 1.0, 1.0);
|
||||
vec3 lvec = normalize(spotLightDir2);
|
||||
float ldn = max(0.0f, dot(normal, lvec));
|
||||
vec3 irradiance = ldn * lightColor;
|
||||
|
||||
// diffuse irradiance
|
||||
diffuseColor += diffuseMat * irradiance;
|
||||
}
|
||||
|
||||
vec3 color = vec3(0.0, 0.0, 0.0);
|
||||
|
||||
color += diffuseColor;
|
||||
color += ambientSkyColor;
|
||||
color += specular*specularMat;
|
||||
color += hdrScale * emissive * diffuseMat;
|
||||
|
||||
//vec3 reflectColor = diffuseMat * texture2DRect(reflectionTex, gl_FragCoord.xy).rgb;
|
||||
//color = reflectionCoeff * reflectColor + (1.0f - reflectionCoeff) * color;
|
||||
color = (fresnel * skyColor + (1.0 - fresnel) * color) * reflectivity + (1.0 - reflectivity) * color;
|
||||
|
||||
gl_FragColor.rgb = color;
|
||||
gl_FragColor.w = gl_Color.w;
|
||||
|
||||
float fog = clamp(gl_Fog.scale*(gl_Fog.end+gl_TexCoord[1].z), 0.0, 1.0);
|
||||
vec4 fogCol = gl_Fog.color;
|
||||
gl_FragColor = mix(fogCol, gl_FragColor, fog);
|
||||
}
|
||||
79
kaplademo/externals/resources/shaders/combine_vs.cpp
vendored
Normal file
@ -0,0 +1,79 @@
|
||||
|
||||
uniform float uvScale = 1.0f;
|
||||
uniform sampler2D transTex;
|
||||
uniform int transTexSize;
|
||||
uniform float iTransTexSize;
|
||||
uniform float bumpTextureUVScale;
|
||||
//attribute mat4 transformmatrix;
|
||||
void main()
|
||||
{
|
||||
|
||||
int ti = (int)(gl_MultiTexCoord0.w);
|
||||
//int ti = tq;
|
||||
int tpr = transTexSize / 4;
|
||||
int row = ti / tpr;
|
||||
int col = (ti - row*tpr)*4;
|
||||
|
||||
float fx = (col+0.5f)*iTransTexSize;
|
||||
float fy = (row+0.5f)*iTransTexSize;
|
||||
|
||||
|
||||
vec4 r0 = texture2D(transTex, vec2(fx,fy));
|
||||
vec4 r1 = texture2D(transTex, vec2(fx+iTransTexSize,fy));
|
||||
vec4 r2 = texture2D(transTex, vec2(fx+iTransTexSize*2.0f,fy));
|
||||
vec4 r3 = texture2D(transTex, vec2(fx+iTransTexSize*3.0f,fy));
|
||||
// vec4 r3 = vec4(0,0,0,1);
|
||||
|
||||
vec3 offset = vec3(r0.w, r1.w, r2.w);
|
||||
r0.w = 0.0f;
|
||||
r1.w = 0.0f;
|
||||
r2.w = 0.0f;
|
||||
|
||||
float material = r3.w;
|
||||
r3.w = 1.0f;
|
||||
mat4 transformmatrix = mat4(r0,r1,r2,r3);
|
||||
|
||||
|
||||
|
||||
|
||||
mat4 mvp = gl_ModelViewMatrix * transformmatrix;
|
||||
mat4 mvpt = gl_ModelViewMatrixInverseTranspose * transformmatrix;
|
||||
vec4 t0 = vec4(gl_MultiTexCoord0.xyz, 0.0f);
|
||||
|
||||
vec4 t1 = vec4(cross(gl_Normal.xyz, t0.xyz), 0.0f);
|
||||
|
||||
// mat4 mvp = gl_ModelViewMatrix;
|
||||
// mat4 mvpt = gl_ModelViewMatrixInverseTranspose;
|
||||
|
||||
|
||||
vec4 eyeSpacePos = mvp * gl_Vertex;
|
||||
//eyeSpacePos.y += gl_InstanceID * 0.2f;
|
||||
//gl_TexCoord[0].xyz = gl_MultiTexCoord0.xyz*uvScale;
|
||||
vec3 coord3d = gl_Vertex.xyz + offset;
|
||||
gl_TexCoord[0].xyz = (coord3d)*uvScale;
|
||||
gl_TexCoord[1] = eyeSpacePos;
|
||||
gl_FrontColor = gl_Color;
|
||||
gl_Position = gl_ProjectionMatrix*eyeSpacePos;
|
||||
gl_TexCoord[2] = mvpt * vec4(gl_Normal.xyz,0.0);
|
||||
|
||||
gl_TexCoord[3] = mvpt * t0;
|
||||
gl_TexCoord[4].xyz = mvpt * t1;
|
||||
|
||||
gl_TexCoord[5].xy = vec2(dot(coord3d, t0.xyz), dot(coord3d, t1.xyz))*bumpTextureUVScale*2;
|
||||
|
||||
gl_TexCoord[6].xyz = vec3(gl_MultiTexCoord1.xy, material);
|
||||
gl_TexCoord[6].y = 1.0 - gl_TexCoord[6].y;
|
||||
|
||||
float MAX_3D_TEX = 8.0;
|
||||
if (gl_TexCoord[6].x >= 5.0f) {
|
||||
// 2D Tex
|
||||
gl_TexCoord[6].x -= 5.0f;
|
||||
gl_TexCoord[6].z = floor(gl_TexCoord[6].z / MAX_3D_TEX);
|
||||
} else {
|
||||
gl_TexCoord[6].z -= floor(gl_TexCoord[6].z / MAX_3D_TEX)*MAX_3D_TEX;
|
||||
gl_TexCoord[6].z -= 100.0f;
|
||||
|
||||
}
|
||||
gl_TexCoord[6].w = floor(fract(material / MAX_3D_TEX)*MAX_3D_TEX + 0.5f);
|
||||
gl_ClipVertex = vec4(eyeSpacePos.xyz, 1.0f);
|
||||
}
|
||||
309
kaplademo/externals/resources/shaders/debris_fs.cpp
vendored
Normal file
@ -0,0 +1,309 @@
|
||||
uniform sampler3D ttt3D;
|
||||
uniform float extraNoiseScale = 1.0f;
|
||||
float noise3D(vec3 p)
|
||||
{
|
||||
return texture3D(ttt3D, p).x*2.0f - 1.0f;
|
||||
}
|
||||
|
||||
float turbulence(vec3 p, int octaves, float lacunarity, float gain) {
|
||||
|
||||
float freq = 1.0f;
|
||||
float amp = 0.8f;
|
||||
float sum = 0.0f;
|
||||
|
||||
for(int i=0; i<octaves; i++) {
|
||||
sum += abs(noise3D(p*freq))*amp;
|
||||
freq *= lacunarity;
|
||||
amp *= gain;
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
float spike(float c, float w, float x) {
|
||||
return smoothstep(c-w, c, x) * smoothstep(c+w, c, x);
|
||||
}
|
||||
|
||||
vec3 myTexture3D(vec3 p)
|
||||
{
|
||||
|
||||
|
||||
float noiseScale = 0.1f*extraNoiseScale;
|
||||
float noise = turbulence(p*noiseScale, 3, 3.0f, 0.5f);
|
||||
//noise = turbulence(p*noiseScale + vec3(noise, noise, noise*0.3)*0.01f, 8, 3.0f, 0.5f);
|
||||
|
||||
//noise = spike(0.35f, 0.05f, noise);
|
||||
//noise = noise;
|
||||
|
||||
vec3 base = lerp(vec3(164,148,108)*1.63/255, vec3(178,156,126)*1.73/255, spike(0.5f, 0.3f, turbulence(p*noiseScale*0.7f + vec3(noise*0.5, noise, noise)*0.011f, 2, 2.0f, 0.5f)));
|
||||
//vec3 b2 = lerp(base, vec3(0.0f, 0.0f, 0.0f), noise);
|
||||
vec3 b2 = lerp(base, vec3(173, 160, 121)*1.73/255, noise);
|
||||
|
||||
|
||||
|
||||
return b2;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// scene reflection
|
||||
uniform float reflectionCoeff = 0.0f;
|
||||
uniform float specularCoeff = 0.0f;
|
||||
|
||||
uniform sampler2DRect reflectionTex;
|
||||
|
||||
// Shadow map
|
||||
uniform float shadowAmbient = 0.0;
|
||||
uniform float hdrScale = 5.0;
|
||||
uniform sampler2D texture;
|
||||
uniform sampler2DArrayShadow stex;
|
||||
uniform sampler2DArrayShadow stex2;
|
||||
uniform sampler2DArrayShadow stex3;
|
||||
uniform samplerCube skyboxTex;
|
||||
uniform vec2 texSize; // x - size, y - 1/size
|
||||
uniform vec4 far_d;
|
||||
|
||||
// Spot lights
|
||||
uniform vec3 spotLightDir;
|
||||
uniform vec3 spotLightPos;
|
||||
uniform float spotLightCosineDecayBegin;
|
||||
uniform float spotLightCosineDecayEnd;
|
||||
|
||||
uniform vec3 spotLightDir2;
|
||||
uniform vec3 spotLightPos2;
|
||||
uniform float spotLightCosineDecayBegin2;
|
||||
uniform float spotLightCosineDecayEnd2;
|
||||
|
||||
uniform vec3 spotLightDir3;
|
||||
uniform vec3 spotLightPos3;
|
||||
uniform float spotLightCosineDecayBegin3;
|
||||
uniform float spotLightCosineDecayEnd3;
|
||||
|
||||
uniform vec3 parallelLightDir;
|
||||
uniform float shadowAdd;
|
||||
uniform int useTexture;
|
||||
uniform int numShadows;
|
||||
|
||||
|
||||
uniform float roughnessScale;
|
||||
uniform vec3 ambientColor;
|
||||
|
||||
uniform sampler2DArray diffuseTexArray;
|
||||
uniform sampler2DArray bumpTexArray;
|
||||
uniform sampler2DArray specularTexArray;
|
||||
uniform sampler2DArray emissiveReflectSpecPowerTexArray;
|
||||
|
||||
|
||||
|
||||
float shadowCoeff1()
|
||||
{
|
||||
const int index = 0;
|
||||
|
||||
//int index = 3;
|
||||
//
|
||||
//if(gl_FragCoord.z < far_d.x)
|
||||
// index = 0;
|
||||
//else if(gl_FragCoord.z < far_d.y)
|
||||
// index = 1;
|
||||
//else if(gl_FragCoord.z < far_d.z)
|
||||
// index = 2;
|
||||
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[1].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z + shadowAdd;
|
||||
// tell glsl in which layer to do the look up
|
||||
shadow_coord.z = float(index);
|
||||
|
||||
|
||||
// Gaussian 3x3 filter
|
||||
// return shadow2DArray(stex, shadow_coord).x;
|
||||
const float X = 1.0f;
|
||||
float ret = shadow2DArray(stex, shadow_coord).x * 0.25;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( -X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( -X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( -X, X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( 0, -X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( 0, X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( X, X)).x * 0.0625;
|
||||
return ret;
|
||||
}
|
||||
float shadowCoeff2()
|
||||
{
|
||||
const int index = 1;
|
||||
|
||||
//int index = 3;
|
||||
//if(gl_FragCoord.z < far_d.x)
|
||||
// index = 0;
|
||||
//else if(gl_FragCoord.z < far_d.y)
|
||||
// index = 1;
|
||||
//else if(gl_FragCoord.z < far_d.z)
|
||||
// index = 2;
|
||||
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[1].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z + shadowAdd;
|
||||
shadow_coord.z = float(0);
|
||||
// return shadow2DArray(stex, shadow_coord).x;
|
||||
|
||||
const float X = 1.0f;
|
||||
float ret = shadow2DArray(stex2, shadow_coord).x * 0.25;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( -X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( -X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( -X, X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( 0, -X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( 0, X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( X, X)).x * 0.0625;
|
||||
return ret;
|
||||
}
|
||||
float shadowCoeff3()
|
||||
{
|
||||
const int index = 2;
|
||||
|
||||
//int index = 3;
|
||||
//if(gl_FragCoord.z < far_d.x)
|
||||
// index = 0;
|
||||
//else if(gl_FragCoord.z < far_d.y)
|
||||
// index = 1;
|
||||
//else if(gl_FragCoord.z < far_d.z)
|
||||
// index = 2;
|
||||
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[1].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z + shadowAdd;
|
||||
shadow_coord.z = float(0);
|
||||
|
||||
// return shadow2DArray(stex, shadow_coord).x;
|
||||
|
||||
const float X = 1.0f;
|
||||
float ret = shadow2DArray(stex3, shadow_coord).x * 0.25;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( -X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( -X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( -X, X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( 0, -X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( 0, X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( X, X)).x * 0.0625;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
uniform float RollOff = 0.5f;
|
||||
uniform float fresnelBias = 0.0;
|
||||
uniform float fresnelScale = 1.0;
|
||||
uniform float fresnelPower = 3.0; // 5.0 is physically correct
|
||||
void main()
|
||||
{
|
||||
//// TODO, expose this as user parameter
|
||||
const float skyLightIntensity = 0.2;
|
||||
const float rimLightIntensity = 0.3;
|
||||
|
||||
vec3 normal = normalize(gl_TexCoord[2].xyz);
|
||||
vec3 t0 = gl_TexCoord[3].xyz;
|
||||
vec3 t1 = gl_TexCoord[4].xyz;
|
||||
|
||||
vec3 diffuseMat;
|
||||
vec3 specularMat;
|
||||
vec3 bump;
|
||||
vec3 emissiveReflectSpecPow;
|
||||
|
||||
// read in material color for diffuse, specular, bump, emmisive
|
||||
if (gl_TexCoord[6].z >= 0.0f) {
|
||||
// 2D texture
|
||||
diffuseMat = texture2DArray(diffuseTexArray, gl_TexCoord[6].xyz).rgb;
|
||||
//specularMat = texture2DArray(specularTexArray, gl_TexCoord[6].xyz).rgb; // TODO Does not seem to work
|
||||
specularMat = vec3(1.0f);
|
||||
bump = texture2DArray(bumpTexArray, gl_TexCoord[6].xyz).xyz;
|
||||
if (dot(bump,bump) < 0.01) bump = vec3(0.5,0.5,1);
|
||||
emissiveReflectSpecPow = texture2DArray(emissiveReflectSpecPowerTexArray, gl_TexCoord[6].xyz).xyz;
|
||||
|
||||
} else {
|
||||
// 3D texture
|
||||
diffuseMat = myTexture3D(gl_TexCoord[0].xyz) * vec3(0.5,0.5,0.5);//texture3D(ttt3D, gl_TexCoord[0].xyz);
|
||||
specularMat = vec3(1.0);
|
||||
bump = texture2D(texture, gl_TexCoord[5].xy).xyz;
|
||||
if (dot(bump,bump) < 0.01) bump = vec3(0.5,0.5,1);
|
||||
emissiveReflectSpecPow = vec3(0.0,0.0,0.0);
|
||||
}
|
||||
|
||||
// apply bump to the normal
|
||||
bump = (bump - vec3(0.5,0.5,0.5)) * 2.0f;
|
||||
bump.xy *= roughnessScale*2;
|
||||
float sc = 1.0f;
|
||||
normal = normalize(t0*bump.x + t1*bump.y + sc*normal * bump.z);
|
||||
|
||||
vec3 eyeVec = normalize(gl_TexCoord[1].xyz);
|
||||
|
||||
// apply gamma correction for diffuse textures
|
||||
diffuseMat = pow(diffuseMat, 0.45);
|
||||
|
||||
float specularPower = emissiveReflectSpecPow.b*255.0f + 1.0f;
|
||||
|
||||
// TODO - fix this
|
||||
specularPower = 10.0f;
|
||||
|
||||
float emissive = emissiveReflectSpecPow.r*10.0f;
|
||||
float reflectivity = emissiveReflectSpecPow.b;
|
||||
float fresnel = fresnelBias + fresnelScale*pow(1.0 - max(0.0, dot(normal, eyeVec)), fresnelPower);
|
||||
float specular = 0.0f;
|
||||
|
||||
vec3 skyNormal = reflect(eyeVec, normal);
|
||||
vec3 skyColor = skyLightIntensity * textureCube(skyboxTex, skyNormal).rgb;
|
||||
vec3 ambientSkyColor = diffuseMat * skyColor;
|
||||
|
||||
vec3 diffuseColor = vec3(0.0, 0.0, 0.0);
|
||||
|
||||
if (numShadows >= 1) {
|
||||
vec3 lightColor = hdrScale * vec3(1.0, 0.9, 0.9);
|
||||
vec3 shadowColor = vec3(0.4, 0.4, 0.9); // colored shadow
|
||||
vec3 lvec = normalize(spotLightDir);
|
||||
float ldn = max(0.0f, dot(normal, lvec));
|
||||
float shadowC = shadowCoeff1();
|
||||
vec3 irradiance = shadowC * ldn * lightColor;
|
||||
|
||||
// diffuse irradiance
|
||||
diffuseColor += diffuseMat * irradiance;
|
||||
|
||||
// add colored shadow
|
||||
diffuseColor += (1.0 - shadowC) * shadowAmbient * shadowColor * diffuseMat;
|
||||
|
||||
vec3 r = reflect(lvec, normal);
|
||||
specular += pow(max(0.0, dot(r,eyeVec)), specularPower)*shadowC;
|
||||
}
|
||||
|
||||
// add rim light
|
||||
if (numShadows >= 2) {
|
||||
vec3 lightColor = rimLightIntensity * vec3(1.0, 0.9, 0.9);
|
||||
vec3 lvec = normalize(spotLightDir2);
|
||||
float ldn = max(0.0f, dot(normal, lvec));
|
||||
vec3 irradiance = ldn * lightColor;
|
||||
|
||||
// diffuse irradiance
|
||||
diffuseColor += diffuseMat * irradiance;
|
||||
}
|
||||
|
||||
vec3 color = vec3(0.0, 0.0, 0.0);
|
||||
|
||||
color += diffuseColor;
|
||||
color += ambientSkyColor;
|
||||
color += specular*specularMat;
|
||||
//color += hdrScale * emissive * diffuseMat;
|
||||
|
||||
//vec3 reflectColor = diffuseMat * texture2DRect(reflectionTex, gl_FragCoord.xy).rgb;
|
||||
//color = reflectionCoeff * reflectColor + (1.0f - reflectionCoeff) * color;
|
||||
//color = (fresnel * skyColor + (1.0 - fresnel) * color) * reflectivity + (1.0 - reflectivity) * color;
|
||||
|
||||
gl_FragColor.rgb = color;
|
||||
gl_FragColor.w = gl_Color.w;
|
||||
|
||||
float fog = clamp(gl_Fog.scale*(gl_Fog.end+gl_TexCoord[1].z), 0.0, 1.0);
|
||||
vec4 fogCol = gl_Fog.color;
|
||||
gl_FragColor = mix(fogCol, gl_FragColor, fog);
|
||||
}
|
||||
44
kaplademo/externals/resources/shaders/debris_vs.cpp
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
uniform float uvScale = 1.0f;
|
||||
attribute mat4 transformmatrix;
|
||||
uniform float bumpTextureUVScale;
|
||||
|
||||
void main()
|
||||
{
|
||||
mat4 mvp = gl_ModelViewMatrix * transformmatrix;
|
||||
mat4 mvpt = gl_ModelViewMatrixInverseTranspose * transformmatrix;
|
||||
//mat4 mvp2 = gl_ModelViewMatrix * transformmatrix;
|
||||
//mat4 mvp = gl_ModelViewMatrix;
|
||||
//mat4 mvpt = gl_ModelViewMatrixInverseTranspose;
|
||||
|
||||
vec4 eyeSpacePos = mvp * gl_Vertex;
|
||||
|
||||
vec4 t0 = vec4(gl_MultiTexCoord0.xyz, 0.0f);
|
||||
vec4 t1 = vec4(cross(gl_Normal.xyz, t0.xyz), 0.0f);
|
||||
|
||||
|
||||
vec3 coord3d = gl_Vertex.xyz;
|
||||
gl_TexCoord[0].xyz = (coord3d)*uvScale;
|
||||
gl_TexCoord[1] = eyeSpacePos;
|
||||
gl_FrontColor = gl_Color;
|
||||
gl_Position = gl_ProjectionMatrix*eyeSpacePos;
|
||||
gl_TexCoord[2] = mvpt * vec4(gl_Normal.xyz,0.0);
|
||||
|
||||
gl_TexCoord[3] = mvpt * t0;
|
||||
gl_TexCoord[4] = mvpt * t1;
|
||||
|
||||
gl_TexCoord[5].xy = vec2(dot(coord3d, t0.xyz), dot(coord3d, t1.xyz))*bumpTextureUVScale*2;
|
||||
|
||||
gl_TexCoord[6].xyz = vec3(0,0,-100); // TODO: 2D UV are 0 and material id is -100 (first 3D texture)
|
||||
|
||||
/*
|
||||
//vec4 eyeSpacePos2 = mvp2 * gl_Vertex;
|
||||
gl_TexCoord[0] = gl_MultiTexCoord0*uvScale;
|
||||
gl_TexCoord[1] = eyeSpacePos;
|
||||
gl_FrontColor = gl_Color;
|
||||
//gl_FrontColor.x += eyeSpacePos2.x;
|
||||
|
||||
gl_Position = gl_ProjectionMatrix*eyeSpacePos;
|
||||
gl_TexCoord[2] = mvpt * vec4(gl_Normal.xyz,0.0);
|
||||
gl_ClipVertex = vec4(eyeSpacePos.xyz, 1.0f);
|
||||
*/
|
||||
}
|
||||
308
kaplademo/externals/resources/shaders/default_fs.cpp
vendored
Normal file
@ -0,0 +1,308 @@
|
||||
|
||||
// scene reflection
|
||||
uniform float reflectionCoeff = 0.0f;
|
||||
uniform float specularCoeff = 0.0f;
|
||||
|
||||
uniform sampler2DRect reflectionTex;
|
||||
|
||||
// Shadow map
|
||||
uniform float shadowAmbient = 0.0;
|
||||
uniform sampler2D texture;
|
||||
uniform sampler2DArrayShadow stex;
|
||||
uniform sampler2DArrayShadow stex2;
|
||||
uniform sampler2DArrayShadow stex3;
|
||||
uniform samplerCube skyboxTex;
|
||||
|
||||
uniform float hdrScale = 5.0;
|
||||
|
||||
uniform vec2 texSize; // x - size, y - 1/size
|
||||
uniform vec4 far_d;
|
||||
|
||||
// Spot lights
|
||||
uniform vec3 spotLightDir;
|
||||
uniform vec3 spotLightPos;
|
||||
uniform float spotLightCosineDecayBegin;
|
||||
uniform float spotLightCosineDecayEnd;
|
||||
|
||||
uniform vec3 spotLightDir2;
|
||||
uniform vec3 spotLightPos2;
|
||||
uniform float spotLightCosineDecayBegin2;
|
||||
uniform float spotLightCosineDecayEnd2;
|
||||
|
||||
uniform vec3 spotLightDir3;
|
||||
uniform vec3 spotLightPos3;
|
||||
uniform float spotLightCosineDecayBegin3;
|
||||
uniform float spotLightCosineDecayEnd3;
|
||||
|
||||
uniform vec3 parallelLightDir;
|
||||
uniform float shadowAdd;
|
||||
uniform int useTexture;
|
||||
uniform int numShadows;
|
||||
uniform vec3 ambientColor;
|
||||
uniform vec2 shadowTaps[12];
|
||||
float shadowCoeff1()
|
||||
{
|
||||
//const int index = 0;
|
||||
|
||||
int index = 3;
|
||||
|
||||
if(gl_FragCoord.z < far_d.x)
|
||||
index = 0;
|
||||
else if(gl_FragCoord.z < far_d.y)
|
||||
index = 1;
|
||||
else if(gl_FragCoord.z < far_d.z)
|
||||
index = 2;
|
||||
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[1].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z + shadowAdd;
|
||||
// tell glsl in which layer to do the look up
|
||||
shadow_coord.z = float(index);
|
||||
|
||||
|
||||
// Gaussian 3x3 filter
|
||||
// return shadow2DArray(stex, shadow_coord).x;
|
||||
/*
|
||||
const float X = 1.0f;
|
||||
float ret = shadow2DArray(stex, shadow_coord).x * 0.25;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( -X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( -X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( -X, X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( 0, -X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( 0, X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( X, X)).x * 0.0625;
|
||||
return ret;*/
|
||||
const int numTaps = 12;
|
||||
float radius = 0.0003f / pow(2, index);
|
||||
float s = 0.0f;
|
||||
for (int i = 0; i < numTaps; i++)
|
||||
{
|
||||
s += shadow2DArray(stex, shadow_coord + vec4(shadowTaps[i] * radius, 0.0f, 0.0f)).r;
|
||||
}
|
||||
s /= numTaps;
|
||||
return s;
|
||||
}
|
||||
float shadowCoeff2()
|
||||
{
|
||||
const int index = 1;
|
||||
|
||||
//int index = 3;
|
||||
//if(gl_FragCoord.z < far_d.x)
|
||||
// index = 0;
|
||||
//else if(gl_FragCoord.z < far_d.y)
|
||||
// index = 1;
|
||||
//else if(gl_FragCoord.z < far_d.z)
|
||||
// index = 2;
|
||||
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[1].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z + shadowAdd;
|
||||
shadow_coord.z = float(0);
|
||||
// return shadow2DArray(stex, shadow_coord).x;
|
||||
/*
|
||||
const float X = 1.0f;
|
||||
float ret = shadow2DArray(stex2, shadow_coord).x * 0.25;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( -X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( -X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( -X, X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( 0, -X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( 0, X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( X, X)).x * 0.0625;
|
||||
return ret;*/
|
||||
const int numTaps = 12;
|
||||
float radius = 1.0f;
|
||||
float s = 0.0f;
|
||||
for (int i = 0; i < numTaps; i++)
|
||||
{
|
||||
s += shadow2DArray(stex, shadow_coord + vec4(shadowTaps[i] * radius, 0.0f, 0.0f)).r;
|
||||
}
|
||||
s /= numTaps;
|
||||
return s;
|
||||
}
|
||||
float shadowCoeff3()
|
||||
{
|
||||
const int index = 2;
|
||||
|
||||
//int index = 3;
|
||||
//if(gl_FragCoord.z < far_d.x)
|
||||
// index = 0;
|
||||
//else if(gl_FragCoord.z < far_d.y)
|
||||
// index = 1;
|
||||
//else if(gl_FragCoord.z < far_d.z)
|
||||
// index = 2;
|
||||
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[1].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z + shadowAdd;
|
||||
shadow_coord.z = float(0);
|
||||
|
||||
// return shadow2DArray(stex, shadow_coord).x;
|
||||
/*
|
||||
const float X = 1.0f;
|
||||
float ret = shadow2DArray(stex3, shadow_coord).x * 0.25;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( -X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( -X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( -X, X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( 0, -X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( 0, X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( X, X)).x * 0.0625;
|
||||
return ret;*/
|
||||
const int numTaps = 12;
|
||||
float radius = 0.02f;
|
||||
float s = 0.0f;
|
||||
for (int i = 0; i < numTaps; i++)
|
||||
{
|
||||
s += shadow2DArray(stex, shadow_coord + vec4(shadowTaps[i] * radius, 0.0f, 0.0f)).r;
|
||||
}
|
||||
s /= numTaps;
|
||||
return s;
|
||||
}
|
||||
|
||||
float filterwidth(float2 v)
|
||||
{
|
||||
float2 fw = max(abs(ddx(v)), abs(ddy(v)));
|
||||
return max(fw.x, fw.y);
|
||||
}
|
||||
|
||||
float2 bump(float2 x)
|
||||
{
|
||||
return (floor((x) / 2) + 2.f * max(((x) / 2) - floor((x) / 2) - .5f, 0.f));
|
||||
}
|
||||
|
||||
float checker(float2 uv)
|
||||
{
|
||||
float width = filterwidth(uv);
|
||||
float2 p0 = uv - 0.5 * width;
|
||||
float2 p1 = uv + 0.5 * width;
|
||||
|
||||
float2 i = (bump(p1) - bump(p0)) / width;
|
||||
return i.x * i.y + (1 - i.x) * (1 - i.y);
|
||||
}
|
||||
uniform float fresnelBias = 0.0;
|
||||
uniform float fresnelScale = 1.0;
|
||||
uniform float fresnelPower = 3.0; // 5.0 is physically correct
|
||||
|
||||
uniform float RollOff = 0.5f;
|
||||
void main()
|
||||
{
|
||||
|
||||
//// TODO, expose this as user parameter
|
||||
const float skyLightIntensity = 0.2;
|
||||
const float rimLightIntensity = 0.3;
|
||||
|
||||
|
||||
vec3 diffuseMat;
|
||||
vec3 specularMat;
|
||||
vec3 emissiveReflectSpecPow;
|
||||
|
||||
specularMat = vec3(1.0);
|
||||
emissiveReflectSpecPow = vec3(0.0,0.0,0.0);
|
||||
|
||||
vec3 normal = normalize(gl_TexCoord[2].xyz);
|
||||
vec3 wnormal = normalize(gl_TexCoord[4].xyz);
|
||||
// read in material color for diffuse, specular, bump, emmisive
|
||||
|
||||
// 3D texture
|
||||
vec4 colorx;
|
||||
if (useTexture > 0)
|
||||
colorx = texture2D(texture, gl_TexCoord[0]);
|
||||
else {
|
||||
colorx = gl_Color;
|
||||
colorx *= 1.0 - 0.25*checker(float2(gl_TexCoord[3].x, gl_TexCoord[3].z));
|
||||
}
|
||||
colorx = clamp(colorx,0,1);
|
||||
diffuseMat = colorx.xyz*0.4;
|
||||
//diffuseMat = myTexture3D(gl_TexCoord[0].xyz);//texture3D(ttt3D, gl_TexCoord[0].xyz);
|
||||
//diffuseMat = texture3D(ttt3D, gl_TexCoord[0].xyz);
|
||||
|
||||
if (dot(normal, gl_TexCoord[1].xyz) > 0) {
|
||||
normal.xyz *= -1;
|
||||
}
|
||||
|
||||
//gl_FragColor.xyz = normal*0.5 + vec3(0.5,0.5,0.5);
|
||||
//gl_FragColor.w = 1;
|
||||
//return;
|
||||
vec3 eyeVec = normalize(gl_TexCoord[1].xyz);
|
||||
|
||||
// apply gamma correction for diffuse textures
|
||||
//diffuseMat = pow(diffuseMat, 0.45);
|
||||
|
||||
float specularPower = emissiveReflectSpecPow.b*255.0f + 1.0f;
|
||||
|
||||
// TODO - fix this
|
||||
specularPower = 10.0f;
|
||||
|
||||
float emissive = 0.0f;
|
||||
float reflectivity = emissiveReflectSpecPow.b;
|
||||
float fresnel = fresnelBias + fresnelScale*pow(1.0 - max(0.0, dot(normal, eyeVec)), fresnelPower);
|
||||
float specular = 0.0f;
|
||||
|
||||
vec3 skyNormal = reflect(eyeVec, normal);
|
||||
vec3 skyColor = skyLightIntensity * textureCube(skyboxTex, skyNormal).rgb;
|
||||
vec3 ambientSkyColor = diffuseMat * skyColor;
|
||||
|
||||
vec3 diffuseColor = vec3(0.0, 0.0, 0.0);
|
||||
|
||||
if (numShadows >= 1) {
|
||||
|
||||
vec3 lightColor = hdrScale * vec3(1.0, 1.0, 1.0);
|
||||
vec3 shadowColor = vec3(0.4, 0.4, 0.7); // colored shadow
|
||||
//vec3 lvec = normalize(spotLightDir);
|
||||
vec3 lvec = normalize(spotLightPos - gl_TexCoord[1].xyz);
|
||||
float cosine = dot(lvec, spotLightDir);
|
||||
float intensity = smoothstep(spotLightCosineDecayBegin, spotLightCosineDecayEnd, cosine);
|
||||
|
||||
float ldn = max(0.0f, dot(normal, lvec));
|
||||
float shadowC = shadowCoeff1();
|
||||
//gl_FragColor = vec4(shadowC,shadowC,shadowC,1.0f);
|
||||
//return;
|
||||
vec3 irradiance = shadowC * ldn * lightColor;
|
||||
|
||||
// diffuse irradiance
|
||||
diffuseColor += diffuseMat * irradiance*intensity;
|
||||
|
||||
// add colored shadow
|
||||
diffuseColor += (1.0 - shadowC*ldn) * shadowAmbient * shadowColor * diffuseMat*intensity;
|
||||
|
||||
vec3 r = reflect(lvec, normal);
|
||||
specular += pow(max(0.0, dot(r, eyeVec)), specularPower)*shadowC*intensity;
|
||||
}
|
||||
|
||||
// add rim light
|
||||
if (numShadows >= 2) {
|
||||
vec3 lightColor = hdrScale * vec3(1.0, 1.0, 1.0);
|
||||
vec3 lvec = normalize(spotLightDir2);
|
||||
float ldn = max(0.0f, dot(normal, lvec));
|
||||
vec3 irradiance = ldn * lightColor;
|
||||
|
||||
// diffuse irradiance
|
||||
diffuseColor += diffuseMat * irradiance;
|
||||
}
|
||||
|
||||
vec3 color = vec3(0.0, 0.0, 0.0);
|
||||
|
||||
color += diffuseColor;
|
||||
color += ambientSkyColor;
|
||||
color += specular*specularMat;
|
||||
color += hdrScale * emissive * diffuseMat;
|
||||
|
||||
//vec3 reflectColor = diffuseMat * texture2DRect(reflectionTex, gl_FragCoord.xy).rgb;
|
||||
//color = reflectionCoeff * reflectColor + (1.0f - reflectionCoeff) * color;
|
||||
color = (fresnel * skyColor + (1.0 - fresnel) * color) * reflectivity + (1.0 - reflectivity) * color;
|
||||
|
||||
gl_FragColor.rgb = color;
|
||||
gl_FragColor.w = gl_Color.w;
|
||||
|
||||
//float fog = clamp(gl_Fog.scale*(gl_Fog.end+gl_TexCoord[1].z), 0.0, 1.0);
|
||||
//vec4 fogCol = gl_Fog.color;
|
||||
float fog = clamp(gl_Fog.scale*(gl_Fog.end+gl_TexCoord[1].z), 0.0, 1.0);
|
||||
vec4 fogCol = gl_Fog.color;
|
||||
gl_FragColor = mix(fogCol, gl_FragColor, fog);
|
||||
|
||||
}
|
||||
13
kaplademo/externals/resources/shaders/default_vs.cpp
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
uniform float uvScale = 1.0f;
|
||||
void main()
|
||||
{
|
||||
vec4 eyeSpacePos = gl_ModelViewMatrix * gl_Vertex;
|
||||
gl_TexCoord[0] = gl_MultiTexCoord0*uvScale;
|
||||
gl_TexCoord[1] = eyeSpacePos;
|
||||
gl_FrontColor = gl_Color;
|
||||
gl_Position = gl_ProjectionMatrix*eyeSpacePos;
|
||||
gl_TexCoord[2] = gl_ModelViewMatrixInverseTranspose * vec4(gl_Normal.xyz,0.0);
|
||||
gl_TexCoord[3].xyz = gl_Vertex.xyz;
|
||||
gl_TexCoord[4].xyz = gl_Normal.xyz;
|
||||
gl_ClipVertex = vec4(eyeSpacePos.xyz, 1.0f);
|
||||
}
|
||||
38
kaplademo/externals/resources/shaders/dof_fs.cpp
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
uniform sampler2D colorTex;
|
||||
uniform sampler2D depthTex;
|
||||
uniform float sx;
|
||||
uniform float sy;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
const float depthEnd = 0.993;
|
||||
const float depthSize = 0.015;
|
||||
|
||||
vec3 colorP = texture2D(colorTex, gl_TexCoord[0]).rgb;
|
||||
float depth = texture2D(depthTex, gl_TexCoord[0].st).r;
|
||||
|
||||
if ((depth - depthEnd) < depthSize)
|
||||
{
|
||||
const int depthKernelSize = 5;
|
||||
vec3 colorSum = vec3(0.0);
|
||||
float cnt = 0.0;
|
||||
for (int x = -depthKernelSize; x <= depthKernelSize; x++)
|
||||
for (int y = -depthKernelSize; y <= depthKernelSize; y++)
|
||||
{
|
||||
float s = gl_TexCoord[0].s + x * sy;
|
||||
float t = gl_TexCoord[0].t + y * sy;
|
||||
float scalex = ((depthKernelSize+1) - abs(float(x))) / depthKernelSize;
|
||||
float scaley = ((depthKernelSize+1) - abs(float(y))) / depthKernelSize;
|
||||
float scale = scalex * scaley;
|
||||
vec3 color = texture2D(colorTex, vec2(s,t)).rgb;
|
||||
colorSum += scale * color;
|
||||
cnt += scale;
|
||||
}
|
||||
|
||||
colorSum /= cnt;
|
||||
float depthScale = pow(max(0.0f,min(1.0, ( abs(depth-depthEnd)) / depthSize)),1.5);
|
||||
colorP = depthScale * colorSum + (1.0 - depthScale) * colorP;
|
||||
}
|
||||
|
||||
gl_FragColor = vec4(colorP, 1.0);
|
||||
}
|
||||
5
kaplademo/externals/resources/shaders/dof_vs.cpp
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
void main(void)
|
||||
{
|
||||
gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||
gl_Position = gl_Vertex * 2.0 - 1.0;
|
||||
}
|
||||
123
kaplademo/externals/resources/shaders/dust_fs.cpp
vendored
Normal file
@ -0,0 +1,123 @@
|
||||
uniform sampler2DArrayShadow stex;
|
||||
uniform float shadowAmbient = 0.3;
|
||||
|
||||
float shadowCoef()
|
||||
{
|
||||
const int index = 0;
|
||||
/*
|
||||
int index = 3;
|
||||
|
||||
// find the appropriate depth map to look up in based on the depth of this fragment
|
||||
if(gl_FragCoord.z < far_d.x)
|
||||
index = 0;
|
||||
else if(gl_FragCoord.z < far_d.y)
|
||||
index = 1;
|
||||
else if(gl_FragCoord.z < far_d.z)
|
||||
index = 2;
|
||||
*/
|
||||
|
||||
// transform this fragment's position from view space to scaled light clip space
|
||||
// such that the xy coordinates are in [0;1]
|
||||
// note there is no need to divide by w for othogonal light sources
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[2].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z;
|
||||
|
||||
// tell glsl in which layer to do the look up
|
||||
shadow_coord.z = float(index);
|
||||
|
||||
|
||||
// Gaussian 3x3 filter
|
||||
return shadow2DArray(stex, shadow_coord).x;
|
||||
}
|
||||
uniform float ispotMaxDist;
|
||||
uniform vec3 spotOriginEye;
|
||||
uniform sampler2D spot_a0123;
|
||||
uniform sampler2D spot_b123;
|
||||
|
||||
uniform sampler2D smokeTex;
|
||||
|
||||
const float PI = 3.1415926535897932384626433832795;
|
||||
const vec3 _2pik = vec3(2.0) * vec3(PI,2.0*PI,3.0*PI);
|
||||
const vec3 factor_a = vec3(2.0*PI)*vec3(1.0,2.0,3.0);
|
||||
const vec3 factor_b = vec3(2.0*PI)*vec3(1.0,2.0,3.0);
|
||||
const vec3 value_1 = vec3(1.0);
|
||||
|
||||
uniform mat4 eyeToSpotMatrix;
|
||||
void main()
|
||||
{
|
||||
//gl_FragColor = gl_Color;
|
||||
//return;
|
||||
/*
|
||||
gl_FragColor = texture2D(smokeTex, gl_TexCoord[0].xy);
|
||||
gl_FragColor.w = gl_FragColor.r;
|
||||
gl_FragColor.xyz = vec3(1,1,1);
|
||||
return;
|
||||
*/
|
||||
// calculate eye-space normal from texture coordinates
|
||||
vec3 N;
|
||||
N.xy = gl_TexCoord[0].xy*vec2(2.0, -2.0) + vec2(-1.0, 1.0);
|
||||
float mag = dot(N.xy, N.xy);
|
||||
if (mag > 1.0) discard; // kill pixels outside circle
|
||||
|
||||
float falloff = pow(1.0-mag,1.0);//exp(-mag);
|
||||
//falloff = 1.0f;
|
||||
float shadowC = shadowCoef();
|
||||
|
||||
vec3 shadowColor = vec3(0.4, 0.4, 0.9)*0.8;
|
||||
|
||||
// Also FOM
|
||||
|
||||
// vec4 projectionCoordinate = eyeToSpotMatrix*vec4(gl_TexCoord[2].xyz, 1.0f);
|
||||
vec4 projectionCoordinate = eyeToSpotMatrix*vec4(gl_TexCoord[2].xyz, 1.0f);
|
||||
//gl_FragColor.xyz = gl_TexCoord[3].xyz*0.25f;
|
||||
//gl_FragColor.xyz = projectionCoordinate.xyz / projectionCoordinate.w;
|
||||
//gl_FragColor.w = 1.0f;
|
||||
|
||||
//read Fourier series coefficients for color extinction on RGB
|
||||
vec4 sR_a0123 = texture2DProj(spot_a0123,projectionCoordinate);
|
||||
vec3 sR_b123 = texture2DProj(spot_b123,projectionCoordinate).rgb;
|
||||
|
||||
//gl_FragColor.xyz = sR_a0123.xyz;
|
||||
//gl_FragColor.w = 1.0f;
|
||||
//return;
|
||||
//compute absolute and normalized distance (in spot depth range)
|
||||
float distance2spotCenter = length(spotOriginEye-gl_TexCoord[2].xyz);//distance from spot origin to surfel in world space
|
||||
float d = distance2spotCenter*ispotMaxDist;
|
||||
|
||||
|
||||
//compute some value to recover the extinction coefficient using the Fourier series
|
||||
vec3 sin_a123 = sin(factor_a*vec3(d));
|
||||
vec3 cos_b123 = value_1-cos(factor_b*vec3(d));
|
||||
|
||||
//compute the extinction coefficients using Fourier
|
||||
float att = (sR_a0123.r*d/2.0) + dot(sin_a123*(sR_a0123.gba/_2pik) ,value_1) + dot(cos_b123*(sR_b123.rgb/_2pik) ,value_1);
|
||||
|
||||
att = max(0.0f, att);
|
||||
att = min(1.0f, att);
|
||||
shadowC *= (1.0f-att);
|
||||
float inS = shadowC;
|
||||
shadowC = (shadowAmbient + (1.0f -shadowAmbient)*shadowC);
|
||||
//....
|
||||
if (gl_TexCoord[0].z > 1) shadowC = 1;
|
||||
vec4 texColor = texture2D(smokeTex, gl_TexCoord[0].xy*0.25+gl_TexCoord[1].xy);
|
||||
|
||||
gl_FragColor.xyz = (texColor.x)*gl_Color.xyz*(shadowColor + (vec3(1.0f,1,1) -shadowColor)*shadowC);//*falloff;
|
||||
gl_FragColor.w = gl_Color.w*texColor.r;
|
||||
|
||||
|
||||
//float fog = clamp(gl_Fog.scale*(gl_Fog.end+gl_TexCoord[2].z), 0.0, 1.0);
|
||||
//float fog = exp(-gl_Fog.density*(gl_TexCoord[0].z*gl_TexCoord[0].z));
|
||||
//gl_FragColor = mix(gl_Fog.color, gl_FragColor, fog);
|
||||
|
||||
gl_FragColor.xyz *= 1.6f;
|
||||
gl_FragColor.w *= max(min(falloff,1.0f),0.0f) * max(min(gl_TexCoord[0].w,1.0f),0.0f);
|
||||
//gl_FragColor.w = 1;
|
||||
//gl_FragColor.xyz = vec3(shadowC, shadowC, shadowC);
|
||||
// gl_FragColor.w = 0.2f;
|
||||
//gl_FragColor.w = falloff * gl_TexCoord[0].w;
|
||||
//gl_FragColor.xyz = sR_a0123.xyz;
|
||||
gl_FragColor.xyz *= ((gl_TexCoord[0].z)+inS*0.3)*0.7;
|
||||
//gl_FragDepth = gl_FragCoord.z - (1-mag)*0.00002;
|
||||
|
||||
}
|
||||
116
kaplademo/externals/resources/shaders/dust_gs.cpp
vendored
Normal file
@ -0,0 +1,116 @@
|
||||
//#version 120\n
|
||||
//#extension GL_EXT_geometry_shader4 : enable\n
|
||||
uniform float pointRadius; // point size in world space
|
||||
uniform float densityThreshold = 50.0;
|
||||
uniform float idensityThreshold = 1.0 / 30.0;
|
||||
uniform float pointShrink = 0.25;
|
||||
uniform sampler2D meteorTex;
|
||||
void main()
|
||||
{
|
||||
gl_FrontColor = gl_FrontColorIn[0];
|
||||
float density = gl_TexCoordIn[0][1].x;
|
||||
float life = gl_TexCoordIn[0][1].y;
|
||||
|
||||
|
||||
gl_TexCoord[1].xy = 0.25f*vec2(gl_PrimitiveIDIn / 4, gl_PrimitiveIDIn % 4);
|
||||
// scale down point size based on density
|
||||
float factor = 1.0f;//density * idensityThreshold;
|
||||
//smoothstep(0.0f, densityThreshold, density);
|
||||
//density * idensityThreshold;
|
||||
//clamp(density / 50.0f, 0, 1);
|
||||
float pointSize = pointRadius*factor;//*(pointShrink + smoothstep(0.0, densityThreshold, density)*(1.0-pointShrink));
|
||||
|
||||
pointSize *= gl_TexCoordIn[0][3].x;
|
||||
float tmp = gl_TexCoordIn[0][3].y;
|
||||
|
||||
float bb = 1.0f;
|
||||
if (tmp > 0.5f) {
|
||||
//gl_FrontColor = vec4(3*life,0,0,1);
|
||||
// TODO: Meteor trail color here...
|
||||
//vec2 fetchPos = vec2( min(max((3-lifeTime)/3,0),1), 0);
|
||||
float val = 1-min(max((life-0.3)/0.2,0.01),0.99);
|
||||
vec2 fetchPos = vec2(val, 0);
|
||||
gl_FrontColor = texture2D(meteorTex, fetchPos);
|
||||
if (gl_FrontColor.r > 0.5) bb += (gl_FrontColor.r-0.5)*(gl_FrontColor.r-0.5)*10;
|
||||
|
||||
}
|
||||
// float pointSize = pointRadius;
|
||||
|
||||
// eye space
|
||||
vec3 pos = gl_PositionIn[0].xyz;
|
||||
vec3 pos2 = gl_TexCoordIn[0][0].xyz;
|
||||
vec3 motion = pos - pos2;
|
||||
vec3 dir = normalize(motion);
|
||||
float len = length(motion);
|
||||
|
||||
vec3 x = dir * pointSize;
|
||||
vec3 view = normalize(-pos);
|
||||
vec3 y = normalize(cross(dir, view)) * pointSize;
|
||||
float facing = dot(view, dir);
|
||||
|
||||
// check for very small motion to avoid jitter
|
||||
float threshold = 0.01;
|
||||
// if (len < threshold) {
|
||||
if ((len < threshold) || (facing > 0.95) || (facing < -0.95)) {
|
||||
pos2 = pos;
|
||||
x = vec3(pointSize, 0.0, 0.0);
|
||||
y = vec3(0.0, -pointSize, 0.0);
|
||||
}
|
||||
|
||||
float angle = density;
|
||||
float cv = cos(angle);
|
||||
float sv = sin(angle);
|
||||
|
||||
vec3 xt = cv*x + sv*y;
|
||||
vec3 yt = -sv*x + cv*y;
|
||||
x = xt;
|
||||
y = yt;
|
||||
|
||||
{
|
||||
|
||||
gl_TexCoord[0] = vec4(0, 0, bb, life);
|
||||
gl_TexCoord[2] = vec4(pos + x + y, 1);
|
||||
gl_Position = gl_ProjectionMatrix * gl_TexCoord[2];
|
||||
gl_TexCoord[3] = gl_TexCoordIn[0][2];
|
||||
EmitVertex();
|
||||
|
||||
gl_TexCoord[0] = vec4(0, 1, bb, life);
|
||||
gl_TexCoord[2] = vec4(pos + x - y, 1);
|
||||
gl_Position = gl_ProjectionMatrix * gl_TexCoord[2];
|
||||
|
||||
EmitVertex();
|
||||
|
||||
gl_TexCoord[0] = vec4(1, 0, bb, life);
|
||||
gl_TexCoord[2] = vec4(pos2 - x + y, 1);
|
||||
gl_Position = gl_ProjectionMatrix * gl_TexCoord[2];
|
||||
|
||||
EmitVertex();
|
||||
|
||||
gl_TexCoord[0] = vec4(1, 1, bb, life);
|
||||
gl_TexCoord[2] = vec4(pos2 - x - y, 1);
|
||||
gl_Position = gl_ProjectionMatrix * gl_TexCoord[2];
|
||||
|
||||
EmitVertex();
|
||||
/*
|
||||
gl_TexCoord[0] = vec4(0, 0, 0, life);
|
||||
gl_TexCoord[2] = vec4(pos + x + y, 1);
|
||||
gl_Position = gl_ProjectionMatrix * gl_TexCoord[2];
|
||||
EmitVertex();
|
||||
|
||||
gl_TexCoord[0] = vec4(0, 1, 0, life);
|
||||
gl_TexCoord[2] = vec4(pos + x - y, 1);
|
||||
gl_Position = gl_ProjectionMatrix * gl_TexCoord[2];
|
||||
EmitVertex();
|
||||
|
||||
gl_TexCoord[0] = vec4(1, 0, 0, life);
|
||||
gl_TexCoord[2] = vec4(pos2 - x + y, 1);
|
||||
gl_Position = gl_ProjectionMatrix * gl_TexCoord[2];
|
||||
EmitVertex();
|
||||
|
||||
gl_TexCoord[0] = vec4(1, 1, 0, life);
|
||||
gl_TexCoord[2] = vec4(pos2 - x - y, 1);
|
||||
gl_Position = gl_ProjectionMatrix * gl_TexCoord[2];
|
||||
EmitVertex();
|
||||
*/
|
||||
}
|
||||
}
|
||||
19
kaplademo/externals/resources/shaders/dust_vs.cpp
vendored
Normal file
@ -0,0 +1,19 @@
|
||||
uniform float timestep = 0.02;
|
||||
uniform vec3 eyeVel;
|
||||
uniform float iStartFade = 1.0;
|
||||
void main()
|
||||
{
|
||||
vec3 pos = gl_Vertex.xyz;
|
||||
vec3 vel = gl_MultiTexCoord2.xyz;
|
||||
//vel = vec3(10.0f,0.0f,0.0f);
|
||||
vec3 pos2 = (pos - (vel+eyeVel)*timestep); // previous position
|
||||
|
||||
gl_Position = gl_ModelViewMatrix * vec4(pos, 1.0); // eye space
|
||||
gl_TexCoord[0] = gl_ModelViewMatrix * vec4(pos2, 1.0);
|
||||
gl_TexCoord[1].x = gl_MultiTexCoord1.x;
|
||||
gl_TexCoord[1].y = max(0.0f, min(gl_MultiTexCoord3.x*iStartFade, 1.0f));
|
||||
gl_TexCoord[2].xyz = pos;
|
||||
gl_TexCoord[3] = gl_MultiTexCoord4;
|
||||
|
||||
gl_FrontColor = gl_Color;
|
||||
}
|
||||
15
kaplademo/externals/resources/shaders/filterh_fs.cpp
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
uniform sampler2D ssaoTex;
|
||||
uniform float sx;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
float SSAO = 0.0;
|
||||
|
||||
for(int x = -4; x <= 4; x++)
|
||||
{
|
||||
SSAO += texture2D(ssaoTex,vec2(x * sx + gl_TexCoord[0].s,gl_TexCoord[0].t)).r * (5.0 - abs(float(x)));
|
||||
}
|
||||
|
||||
gl_FragColor = vec4(vec3(SSAO / 25.0),1.0);
|
||||
gl_FragColor.w = gl_FragColor.x;
|
||||
}
|
||||
17
kaplademo/externals/resources/shaders/filterv_fs.cpp
vendored
Normal file
@ -0,0 +1,17 @@
|
||||
uniform sampler2D ssaoTex;
|
||||
uniform float sy;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
|
||||
float SSAO = 0.0;
|
||||
|
||||
for(int y = -4; y <= 4; y++)
|
||||
{
|
||||
SSAO += texture2D(ssaoTex,vec2(gl_TexCoord[0].s,y * sy + gl_TexCoord[0].t)).r * (5.0 - abs(float(y)));
|
||||
}
|
||||
|
||||
gl_FragColor = vec4(vec3(pow(SSAO / 25.0,1.5)),1.0);
|
||||
gl_FragColor.w = gl_FragColor.x;
|
||||
//gl_FragColor = vec4(1,1,1,1);
|
||||
}
|
||||
5
kaplademo/externals/resources/shaders/filterv_vs.cpp
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
void main(void)
|
||||
{
|
||||
gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||
gl_Position = gl_Vertex * 2.0 - 1.0;
|
||||
}
|
||||
7
kaplademo/externals/resources/shaders/passthrough_vs.cpp
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
void main()
|
||||
{
|
||||
gl_Position = gl_Vertex;
|
||||
gl_TexCoord[0] = gl_MultiTexCoord0;
|
||||
gl_TexCoord[1] = gl_Vertex;
|
||||
gl_FrontColor = gl_Color;
|
||||
}
|
||||
313
kaplademo/externals/resources/shaders/scene_fs.cpp
vendored
Normal file
@ -0,0 +1,313 @@
|
||||
uniform sampler3D ttt3D;
|
||||
uniform float extraNoiseScale = 1.0f;
|
||||
float noise3D(vec3 p)
|
||||
{
|
||||
return texture3D(ttt3D, p).x*2.0f - 1.0f;
|
||||
}
|
||||
|
||||
float turbulence(vec3 p, int octaves, float lacunarity, float gain) {
|
||||
|
||||
float freq = 1.0f;
|
||||
float amp = 0.8f;
|
||||
float sum = 0.0f;
|
||||
|
||||
for(int i=0; i<octaves; i++) {
|
||||
sum += abs(noise3D(p*freq))*amp;
|
||||
freq *= lacunarity;
|
||||
amp *= gain;
|
||||
}
|
||||
return sum;
|
||||
}
|
||||
|
||||
float spike(float c, float w, float x) {
|
||||
return smoothstep(c-w, c, x) * smoothstep(c+w, c, x);
|
||||
}
|
||||
|
||||
vec3 myTexture3D(vec3 p)
|
||||
{
|
||||
|
||||
|
||||
float noiseScale = 0.1f*extraNoiseScale;
|
||||
float noise = turbulence(p*noiseScale, 3, 3.0f, 0.5f);
|
||||
//noise = turbulence(p*noiseScale + vec3(noise, noise, noise*0.3)*0.01f, 8, 3.0f, 0.5f);
|
||||
|
||||
//noise = spike(0.35f, 0.05f, noise);
|
||||
//noise = noise;
|
||||
|
||||
vec3 base = lerp(vec3(164,148,108)*1.63/255, vec3(178,156,126)*1.73/255, spike(0.5f, 0.3f, turbulence(p*noiseScale*0.7f + vec3(noise*0.5, noise, noise)*0.011f, 2, 2.0f, 0.5f)));
|
||||
//vec3 b2 = lerp(base, vec3(0.0f, 0.0f, 0.0f), noise);
|
||||
vec3 b2 = lerp(base, vec3(173, 160, 121)*1.73/255, noise);
|
||||
|
||||
|
||||
|
||||
return b2;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
// scene reflection
|
||||
uniform float reflectionCoeff = 0.0f;
|
||||
uniform float specularCoeff = 0.0f;
|
||||
|
||||
uniform sampler2DRect reflectionTex;
|
||||
|
||||
// Shadow map
|
||||
uniform float shadowAmbient = 0.0;
|
||||
uniform float hdrScale = 5.0;
|
||||
uniform sampler2D texture;
|
||||
uniform sampler2DArrayShadow stex;
|
||||
uniform sampler2DArrayShadow stex2;
|
||||
uniform sampler2DArrayShadow stex3;
|
||||
uniform samplerCube skyboxTex;
|
||||
uniform vec2 texSize; // x - size, y - 1/size
|
||||
uniform vec4 far_d;
|
||||
|
||||
// Spot lights
|
||||
uniform vec3 spotLightDir;
|
||||
uniform vec3 spotLightPos;
|
||||
uniform float spotLightCosineDecayBegin;
|
||||
uniform float spotLightCosineDecayEnd;
|
||||
|
||||
uniform vec3 spotLightDir2;
|
||||
uniform vec3 spotLightPos2;
|
||||
uniform float spotLightCosineDecayBegin2;
|
||||
uniform float spotLightCosineDecayEnd2;
|
||||
|
||||
uniform vec3 spotLightDir3;
|
||||
uniform vec3 spotLightPos3;
|
||||
uniform float spotLightCosineDecayBegin3;
|
||||
uniform float spotLightCosineDecayEnd3;
|
||||
|
||||
uniform vec3 parallelLightDir;
|
||||
uniform float shadowAdd;
|
||||
uniform int useTexture;
|
||||
uniform int numShadows;
|
||||
|
||||
|
||||
uniform float roughnessScale;
|
||||
uniform vec3 ambientColor;
|
||||
|
||||
uniform sampler2DArray diffuseTexArray;
|
||||
uniform sampler2DArray bumpTexArray;
|
||||
uniform sampler2DArray specularTexArray;
|
||||
uniform sampler2DArray emissiveReflectSpecPowerTexArray;
|
||||
|
||||
|
||||
|
||||
float shadowCoeff1()
|
||||
{
|
||||
const int index = 0;
|
||||
|
||||
//int index = 3;
|
||||
//
|
||||
//if(gl_FragCoord.z < far_d.x)
|
||||
// index = 0;
|
||||
//else if(gl_FragCoord.z < far_d.y)
|
||||
// index = 1;
|
||||
//else if(gl_FragCoord.z < far_d.z)
|
||||
// index = 2;
|
||||
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[1].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z + shadowAdd;
|
||||
// tell glsl in which layer to do the look up
|
||||
shadow_coord.z = float(index);
|
||||
|
||||
|
||||
// Gaussian 3x3 filter
|
||||
// return shadow2DArray(stex, shadow_coord).x;
|
||||
const float X = 1.0f;
|
||||
float ret = shadow2DArray(stex, shadow_coord).x * 0.25;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( -X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( -X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( -X, X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( 0, -X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( 0, X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex, shadow_coord, ivec2( X, X)).x * 0.0625;
|
||||
return ret;
|
||||
}
|
||||
float shadowCoeff2()
|
||||
{
|
||||
const int index = 1;
|
||||
|
||||
//int index = 3;
|
||||
//if(gl_FragCoord.z < far_d.x)
|
||||
// index = 0;
|
||||
//else if(gl_FragCoord.z < far_d.y)
|
||||
// index = 1;
|
||||
//else if(gl_FragCoord.z < far_d.z)
|
||||
// index = 2;
|
||||
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[1].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z + shadowAdd;
|
||||
shadow_coord.z = float(0);
|
||||
// return shadow2DArray(stex, shadow_coord).x;
|
||||
|
||||
const float X = 1.0f;
|
||||
float ret = shadow2DArray(stex2, shadow_coord).x * 0.25;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( -X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( -X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( -X, X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( 0, -X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( 0, X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex2, shadow_coord, ivec2( X, X)).x * 0.0625;
|
||||
return ret;
|
||||
}
|
||||
float shadowCoeff3()
|
||||
{
|
||||
const int index = 2;
|
||||
|
||||
//int index = 3;
|
||||
//if(gl_FragCoord.z < far_d.x)
|
||||
// index = 0;
|
||||
//else if(gl_FragCoord.z < far_d.y)
|
||||
// index = 1;
|
||||
//else if(gl_FragCoord.z < far_d.z)
|
||||
// index = 2;
|
||||
|
||||
vec4 shadow_coord = gl_TextureMatrix[index]*vec4(gl_TexCoord[1].xyz, 1);
|
||||
|
||||
shadow_coord.w = shadow_coord.z + shadowAdd;
|
||||
shadow_coord.z = float(0);
|
||||
|
||||
// return shadow2DArray(stex, shadow_coord).x;
|
||||
|
||||
const float X = 1.0f;
|
||||
float ret = shadow2DArray(stex3, shadow_coord).x * 0.25;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( -X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( -X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( -X, X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( 0, -X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( 0, X)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( X, -X)).x * 0.0625;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( X, 0)).x * 0.125;
|
||||
ret += shadow2DArrayOffset(stex3, shadow_coord, ivec2( X, X)).x * 0.0625;
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
uniform float RollOff = 0.5f;
|
||||
uniform float fresnelBias = 0.0;
|
||||
uniform float fresnelScale = 1.0;
|
||||
uniform float fresnelPower = 3.0; // 5.0 is physically correct
|
||||
void main()
|
||||
{
|
||||
//// TODO, expose this as user parameter
|
||||
const float skyLightIntensity = 0.2;
|
||||
const float rimLightIntensity = 0.3;
|
||||
|
||||
vec3 normal = normalize(gl_TexCoord[2].xyz);
|
||||
vec3 t0 = gl_TexCoord[3].xyz;
|
||||
vec3 t1 = gl_TexCoord[4].xyz;
|
||||
|
||||
vec3 diffuseMat;
|
||||
vec3 specularMat;
|
||||
vec3 bump;
|
||||
vec3 emissiveReflectSpecPow;
|
||||
|
||||
// read in material color for diffuse, specular, bump, emmisive
|
||||
if (gl_TexCoord[6].z >= 0.0f) {
|
||||
// 2D texture
|
||||
diffuseMat = texture2DArray(diffuseTexArray, gl_TexCoord[6].xyz).rgb;
|
||||
//specularMat = texture2DArray(specularTexArray, gl_TexCoord[6].xyz).rgb; // TODO Does not seem to work
|
||||
specularMat = vec3(1.0f);
|
||||
bump = texture2DArray(bumpTexArray, gl_TexCoord[6].xyz).xyz;
|
||||
if (dot(bump,bump) < 0.01) bump = vec3(0.5,0.5,1);
|
||||
emissiveReflectSpecPow = texture2DArray(emissiveReflectSpecPowerTexArray, gl_TexCoord[6].xyz).xyz;
|
||||
|
||||
} else {
|
||||
// 3D texture
|
||||
diffuseMat = myTexture3D(gl_TexCoord[0].xyz) * vec3(0.5,0.5,0.5);//texture3D(ttt3D, gl_TexCoord[0].xyz);
|
||||
specularMat = vec3(1.0);
|
||||
bump = texture2D(texture, gl_TexCoord[5].xy).xyz;
|
||||
if (dot(bump,bump) < 0.01) bump = vec3(0.5,0.5,1);
|
||||
emissiveReflectSpecPow = vec3(0.0,0.0,0.0);
|
||||
}
|
||||
|
||||
// apply bump to the normal
|
||||
bump = (bump - vec3(0.5,0.5,0.5)) * 2.0f;
|
||||
bump.xy *= roughnessScale*2;
|
||||
|
||||
float sc = 1.0f;
|
||||
normal = normalize(t0*bump.x + t1*bump.y + sc*normal * bump.z);
|
||||
|
||||
//gl_FragColor.xyz = normal*0.5 + vec3(0.5,0.5,0.5);
|
||||
//gl_FragColor.w = 1;
|
||||
//return;
|
||||
vec3 eyeVec = normalize(gl_TexCoord[1].xyz);
|
||||
|
||||
// apply gamma correction for diffuse textures
|
||||
diffuseMat = pow(diffuseMat, 0.45);
|
||||
|
||||
float specularPower = emissiveReflectSpecPow.b*255.0f + 1.0f;
|
||||
|
||||
// TODO - fix this
|
||||
specularPower = 10.0f;
|
||||
|
||||
float emissive = emissiveReflectSpecPow.r*10.0f;
|
||||
float reflectivity = emissiveReflectSpecPow.b;
|
||||
float fresnel = fresnelBias + fresnelScale*pow(1.0 - max(0.0, dot(normal, eyeVec)), fresnelPower);
|
||||
float specular = 0.0f;
|
||||
|
||||
vec3 skyNormal = reflect(eyeVec, normal);
|
||||
vec3 skyColor = skyLightIntensity * textureCube(skyboxTex, skyNormal).rgb;
|
||||
vec3 ambientSkyColor = diffuseMat * skyColor;
|
||||
|
||||
vec3 diffuseColor = vec3(0.0, 0.0, 0.0);
|
||||
|
||||
if (numShadows >= 1) {
|
||||
vec3 lightColor = hdrScale * vec3(1.0, 0.9, 0.9);
|
||||
vec3 shadowColor = vec3(0.4, 0.4, 0.9); // colored shadow
|
||||
vec3 lvec = normalize(spotLightDir);
|
||||
float ldn = max(0.0f, dot(normal, lvec));
|
||||
float shadowC = shadowCoeff1();
|
||||
vec3 irradiance = shadowC * ldn * lightColor;
|
||||
|
||||
// diffuse irradiance
|
||||
diffuseColor += diffuseMat * irradiance;
|
||||
|
||||
// add colored shadow
|
||||
diffuseColor += (1.0 - shadowC) * shadowAmbient * shadowColor * diffuseMat;
|
||||
|
||||
vec3 r = reflect(lvec, normal);
|
||||
specular += pow(max(0.0, dot(r,eyeVec)), specularPower)*shadowC;
|
||||
}
|
||||
|
||||
// add rim light
|
||||
if (numShadows >= 2) {
|
||||
vec3 lightColor = rimLightIntensity * vec3(1.0, 0.9, 0.9);
|
||||
vec3 lvec = normalize(spotLightDir2);
|
||||
float ldn = max(0.0f, dot(normal, lvec));
|
||||
vec3 irradiance = ldn * lightColor;
|
||||
|
||||
// diffuse irradiance
|
||||
diffuseColor += diffuseMat * irradiance;
|
||||
}
|
||||
|
||||
vec3 color = vec3(0.0, 0.0, 0.0);
|
||||
|
||||
color += diffuseColor;
|
||||
color += ambientSkyColor;
|
||||
color += specular*specularMat;
|
||||
color += hdrScale * emissive * diffuseMat;
|
||||
|
||||
//vec3 reflectColor = diffuseMat * texture2DRect(reflectionTex, gl_FragCoord.xy).rgb;
|
||||
//color = reflectionCoeff * reflectColor + (1.0f - reflectionCoeff) * color;
|
||||
color = (fresnel * skyColor + (1.0 - fresnel) * color) * reflectivity + (1.0 - reflectivity) * color;
|
||||
|
||||
gl_FragColor.rgb = color;
|
||||
gl_FragColor.w = gl_Color.w;
|
||||
|
||||
float fog = clamp(gl_Fog.scale*(gl_Fog.end+gl_TexCoord[1].z), 0.0, 1.0);
|
||||
vec4 fogCol = gl_Fog.color;
|
||||
gl_FragColor = mix(fogCol, gl_FragColor, fog);
|
||||
}
|
||||
79
kaplademo/externals/resources/shaders/scene_vs.cpp
vendored
Normal file
@ -0,0 +1,79 @@
|
||||
|
||||
uniform float uvScale = 1.0f;
|
||||
uniform sampler2D transTex;
|
||||
uniform int transTexSize;
|
||||
uniform float iTransTexSize;
|
||||
uniform float bumpTextureUVScale;
|
||||
//attribute mat4 transformmatrix;
|
||||
void main()
|
||||
{
|
||||
|
||||
int ti = (int)(gl_MultiTexCoord0.w);
|
||||
//int ti = tq;
|
||||
int tpr = transTexSize / 4;
|
||||
int row = ti / tpr;
|
||||
int col = (ti - row*tpr)*4;
|
||||
|
||||
float fx = (col+0.5f)*iTransTexSize;
|
||||
float fy = (row+0.5f)*iTransTexSize;
|
||||
|
||||
|
||||
vec4 r0 = texture2D(transTex, vec2(fx,fy));
|
||||
vec4 r1 = texture2D(transTex, vec2(fx+iTransTexSize,fy));
|
||||
vec4 r2 = texture2D(transTex, vec2(fx+iTransTexSize*2.0f,fy));
|
||||
vec4 r3 = texture2D(transTex, vec2(fx+iTransTexSize*3.0f,fy));
|
||||
// vec4 r3 = vec4(0,0,0,1);
|
||||
|
||||
vec3 offset = vec3(r0.w, r1.w, r2.w);
|
||||
r0.w = 0.0f;
|
||||
r1.w = 0.0f;
|
||||
r2.w = 0.0f;
|
||||
|
||||
float material = r3.w;
|
||||
r3.w = 1.0f;
|
||||
mat4 transformmatrix = mat4(r0,r1,r2,r3);
|
||||
|
||||
|
||||
|
||||
|
||||
mat4 mvp = gl_ModelViewMatrix * transformmatrix;
|
||||
mat4 mvpt = gl_ModelViewMatrixInverseTranspose * transformmatrix;
|
||||
vec4 t0 = vec4(gl_MultiTexCoord0.xyz, 0.0f);
|
||||
|
||||
vec4 t1 = vec4(cross(gl_Normal.xyz, t0.xyz), 0.0f);
|
||||
|
||||
// mat4 mvp = gl_ModelViewMatrix;
|
||||
// mat4 mvpt = gl_ModelViewMatrixInverseTranspose;
|
||||
|
||||
|
||||
vec4 eyeSpacePos = mvp * gl_Vertex;
|
||||
//eyeSpacePos.y += gl_InstanceID * 0.2f;
|
||||
//gl_TexCoord[0].xyz = gl_MultiTexCoord0.xyz*uvScale;
|
||||
vec3 coord3d = gl_Vertex.xyz + offset;
|
||||
gl_TexCoord[0].xyz = (coord3d)*uvScale;
|
||||
gl_TexCoord[1] = eyeSpacePos;
|
||||
gl_FrontColor = gl_Color;
|
||||
gl_Position = gl_ProjectionMatrix*eyeSpacePos;
|
||||
gl_TexCoord[2] = mvpt * vec4(gl_Normal.xyz,0.0);
|
||||
|
||||
gl_TexCoord[3] = mvpt * t0;
|
||||
gl_TexCoord[4].xyz = mvpt * t1;
|
||||
|
||||
gl_TexCoord[5].xy = vec2(dot(coord3d, t0.xyz), dot(coord3d, t1.xyz))*bumpTextureUVScale*2;
|
||||
|
||||
gl_TexCoord[6].xyz = vec3(gl_MultiTexCoord1.xy, material);
|
||||
gl_TexCoord[6].y = 1.0 - gl_TexCoord[6].y;
|
||||
|
||||
float MAX_3D_TEX = 8.0;
|
||||
if (gl_TexCoord[6].x >= 5.0f) {
|
||||
// 2D Tex
|
||||
gl_TexCoord[6].x -= 5.0f;
|
||||
gl_TexCoord[6].z = floor(gl_TexCoord[6].z / MAX_3D_TEX);
|
||||
} else {
|
||||
gl_TexCoord[6].z -= floor(gl_TexCoord[6].z / MAX_3D_TEX)*MAX_3D_TEX;
|
||||
gl_TexCoord[6].z -= 100.0f;
|
||||
|
||||
}
|
||||
|
||||
gl_ClipVertex = vec4(eyeSpacePos.xyz, 1.0f);
|
||||
}
|
||||
8
kaplademo/externals/resources/shaders/shadowdebug_fs.cpp
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
uniform sampler2DArrayShadow tex;
|
||||
uniform float slice;
|
||||
void main()
|
||||
{
|
||||
float v = shadow2DArray(tex, vec4(gl_TexCoord[0].xy,slice,10.001f));
|
||||
gl_FragColor = vec4(v,v,v,1);
|
||||
//gl_FragColor = vec4(1,0,0,1);
|
||||
}
|
||||
45
kaplademo/externals/resources/ssao.fs
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
#define SAMPLEDIV 4
|
||||
#define NUMSAMPLES SAMPLEDIV*SAMPLEDIV
|
||||
#define iNUMSAMPLES 1.0f / (SAMPLEDIV * SAMPLEDIV)
|
||||
#define BIAS 1.0f
|
||||
|
||||
uniform vec3 samples[NUMSAMPLES];
|
||||
uniform sampler2D depthTex;
|
||||
uniform sampler2D normalTex;
|
||||
uniform sampler2D unitVecTex;
|
||||
uniform mat4x4 biasProjMat;
|
||||
uniform mat4x4 biasProjMatInv;
|
||||
|
||||
void main (void)
|
||||
{
|
||||
float ssao = 0.0;
|
||||
float depth = texture2D(depthTex, gl_TexCoord[0].st).r;
|
||||
if(depth < 1.0)
|
||||
{
|
||||
vec3 dir = normalize(texture2D(unitVecTex, gl_TexCoord[1].st).rgb * 2.0f - 1.0f);
|
||||
vec3 n = normalize(texture2D(normalTex, gl_TexCoord[0].st).rgb * 2.0f - 1.0f);
|
||||
vec4 myPosEye = biasProjMatInv * vec4(gl_TexCoord[0].st, depth, 1.0f);
|
||||
myPosEye.xyz /= myPosEye.w;
|
||||
vec3 t0 = normalize(dir - n * dot(dir, n));
|
||||
vec3 t1 = cross(n, t0);
|
||||
mat3x3 rmat = mat3x3(t0, t1, n);
|
||||
for(int i = 0; i < NUMSAMPLES; i++)
|
||||
{
|
||||
vec3 samplePosEye = rmat * samples[i] + myPosEye.xyz;
|
||||
vec4 samplePosScreen = biasProjMat * vec4(samplePosEye, 1.0f);
|
||||
samplePosScreen.xyz /= samplePosScreen.w;
|
||||
float sampleDepth = texture2D(depthTex, samplePosScreen.st).r;
|
||||
if(sampleDepth < samplePosScreen.z)
|
||||
{
|
||||
vec4 surfacePosWorld = biasProjMatInv * vec4(samplePosScreen.st, sampleDepth, 1.0f);
|
||||
surfacePosWorld.xyz /= surfacePosWorld.w;
|
||||
vec3 p2p = surfacePosWorld.xyz - myPosEye.xyz;
|
||||
ssao += 1.0f / (BIAS+dot(p2p, p2p));
|
||||
}
|
||||
}
|
||||
ssao = 1.0f - ssao * iNUMSAMPLES;
|
||||
} else {
|
||||
ssao = 1.0f;
|
||||
}
|
||||
gl_FragColor = vec4(ssao,ssao,ssao,1.0f);
|
||||
}
|
||||
7
kaplademo/externals/resources/ssao.vs
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
uniform vec2 scaleXY;
|
||||
void main(void)
|
||||
{
|
||||
gl_TexCoord[0] = gl_Vertex;
|
||||
gl_TexCoord[1] = vec4(gl_Vertex.xy * scaleXY, gl_Vertex.zw);
|
||||
gl_Position = gl_Vertex * 2.0f - 1.0f;
|
||||
}
|
||||
BIN
kaplademo/externals/resources/stoneBump.bmp
vendored
Normal file
|
After Width: | Height: | Size: 12 MiB |
BIN
kaplademo/externals/resources/terrain_ll2.bmp
vendored
Normal file
|
After Width: | Height: | Size: 12 KiB |