MacGLide/MacGLide/OpenGLide/GLColorAlphaCombineEnvTables.h

85 lines
2.6 KiB
C

//**************************************************************
//* OpenGLide for Macintosh - Glide to OpenGL Wrapper
//* http://macglide.sourceforge.net/
//*
//* Color and Alpha CombineEnv tables
//*
//* OpenGLide is OpenSource under LGPL license
//* Mac version and additional features by Jens-Olaf Hemprich
//**************************************************************
#pragma once
enum CombineFunctionValue
{
CF_Unused = 0,
CF_Replace = GL_REPLACE,
CF_Modulate = GL_MODULATE,
CF_Add = GL_ADD,
CF_Substract = GL_SUBTRACT_ARB,
CF_Blend = GL_INTERPOLATE_EXT,
CF_ModulateAdd = GL_MODULATE_ADD_ATI
};
struct CombineArgument
{
GLint Source;
GLint Operand;
};
enum CombineFunctionColorAlphaArg
{
CFARG_Local = 0,
CFARG_Other = 1,
CFARG_LocalAlpha = 2,
CFARG_OtherAlpha = 3,
CFARG_Factor = 4,
CFARG_None = 5,
CFARG_Constant = GL_CONSTANT_EXT,
CFARG_Previous = GL_PREVIOUS_EXT,
CFARG_Texture = GL_TEXTURE,
CFARG_PrimaryColor = GL_PRIMARY_COLOR_EXT,
CFARG_Zero = GL_ZERO,
CFARG_One = GL_ONE
};
struct CombineFunctionGLTextureUnit
{
CombineFunctionValue Function;
CombineFunctionColorAlphaArg CombineArg[3];
};
struct CombineFunction
{
CombineFunctionGLTextureUnit ColorAlphaUnit[2];
};
struct CombineReduceTerm
{
GrCombineFunction_t ReducedTerm;
};
extern const CombineFunction ColorCombineFunctionsEnvCombineARB[25];
extern const CombineFunction ColorCombineFunctionsEnvCombine3ATI[25];
extern const CombineReduceTerm ColorCombineFunctionsFactorZero[0x11];
extern const CombineReduceTerm ColorCombineFunctionsFactorOne[0x11];
extern const CombineFunction AlphaCombineFunctionsEnvCombineARB[25];
extern const CombineFunction AlphaCombineFunctionsEnvCombine3ATI[25];
extern const CombineReduceTerm AlphaCombineFunctionsFactorZero[0x11];
extern const CombineReduceTerm AlphaCombineFunctionsFactorOne[0x11];
extern const CombineArgument ColorCombineFactors[14];
extern const CombineArgument AlphaCombineFactors[14];
extern const CombineArgument ColorCombineFactorsInverted[14];
extern const CombineArgument AlphaCombineFactorsInverted[14];
extern const CombineArgument ColorCombineLocals[4];
extern const CombineArgument ColorCombineOthers[4];
extern const CombineArgument ColorCombineLocalsInverted[4];
extern const CombineArgument ColorCombineOthersInverted[4];
extern const CombineArgument AlphaCombineLocals[4];
extern const CombineArgument AlphaCombineOthers[4];
extern const CombineArgument AlphaCombineLocalsInverted[4];
extern const CombineArgument AlphaCombineOthersInverted[4];
#define GR_COMBINE_LOCAL_PIXELPIPELINE 0x03
#define GR_COMBINE_OTHER_PIXELPIPELINE 0x03