mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 08:34:40 +00:00
Engine directory for ticket #1
This commit is contained in:
parent
352279af7a
commit
7dbfe6994d
3795 changed files with 1363358 additions and 0 deletions
624
Engine/source/gfx/gfxEnums.h
Normal file
624
Engine/source/gfx/gfxEnums.h
Normal file
|
|
@ -0,0 +1,624 @@
|
|||
//-----------------------------------------------------------------------------
|
||||
// Copyright (c) 2012 GarageGames, LLC
|
||||
//
|
||||
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
// of this software and associated documentation files (the "Software"), to
|
||||
// deal in the Software without restriction, including without limitation the
|
||||
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
// sell copies of the Software, and to permit persons to whom the Software is
|
||||
// furnished to do so, subject to the following conditions:
|
||||
//
|
||||
// The above copyright notice and this permission notice shall be included in
|
||||
// all copies or substantial portions of the Software.
|
||||
//
|
||||
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||
// IN THE SOFTWARE.
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
#ifndef _GFXENUMS_H_
|
||||
#define _GFXENUMS_H_
|
||||
|
||||
#include "core/util/fourcc.h"
|
||||
|
||||
// These are for the enum translation. It will help with porting to other platforms
|
||||
// and API's.
|
||||
#define GFX_UNSUPPORTED_VAL 0xDEADBEEF
|
||||
#define GFX_UNINIT_VAL 0xDECAFBAD
|
||||
|
||||
// Adjust these pools to your app's needs. Be aware dynamic vertices are much more
|
||||
// expensive than static vertices. These are in gfxEnums because they should be
|
||||
// consistant across all APIs/platforms so that the dynamic buffer performance
|
||||
// and behavior is also consistant. -patw
|
||||
#define MAX_DYNAMIC_VERTS (8192*2)
|
||||
#define MAX_DYNAMIC_INDICES (8192*4)
|
||||
|
||||
enum GFXBufferType
|
||||
{
|
||||
GFXBufferTypeStatic, ///< Static vertex buffers are created and filled one time.
|
||||
///< incur a performance penalty. Resizing a static vertex buffer is not
|
||||
///< allowed.
|
||||
GFXBufferTypeDynamic, ///< Dynamic vertex buffers are meant for vertices that can be changed
|
||||
///< often. Vertices written into dynamic vertex buffers will remain valid
|
||||
///< until the dynamic vertex buffer is released. Resizing a dynamic vertex buffer is not
|
||||
///< allowed.
|
||||
GFXBufferTypeVolatile, ///< Volatile vertex or index buffers are meant for vertices or indices that are essentially
|
||||
///< only used once. They can be resized without any performance penalty.
|
||||
|
||||
GFXBufferType_COUNT ///< Number of buffer types.
|
||||
};
|
||||
|
||||
enum GFXTexCallbackCode
|
||||
{
|
||||
GFXZombify,
|
||||
GFXResurrect,
|
||||
};
|
||||
|
||||
|
||||
enum GFXPrimitiveType
|
||||
{
|
||||
GFXPT_FIRST = 0,
|
||||
GFXPointList = 0,
|
||||
GFXLineList,
|
||||
GFXLineStrip,
|
||||
GFXTriangleList,
|
||||
GFXTriangleStrip,
|
||||
GFXTriangleFan,
|
||||
GFXPT_COUNT
|
||||
};
|
||||
|
||||
enum GFXTextureType
|
||||
{
|
||||
GFXTextureType_Normal,
|
||||
GFXTextureType_KeepBitmap,
|
||||
GFXTextureType_Dynamic,
|
||||
GFXTextureType_RenderTarget,
|
||||
GFXTextureType_Count
|
||||
};
|
||||
|
||||
enum GFXBitmapFlip
|
||||
{
|
||||
GFXBitmapFlip_None = 0,
|
||||
GFXBitmapFlip_X = 1 << 0,
|
||||
GFXBitmapFlip_Y = 1 << 1,
|
||||
GFXBitmapFlip_XY = GFXBitmapFlip_X | GFXBitmapFlip_Y
|
||||
};
|
||||
|
||||
enum GFXTextureOp
|
||||
{
|
||||
GFXTOP_FIRST = 0,
|
||||
GFXTOPDisable = 0,
|
||||
GFXTOPSelectARG1,
|
||||
GFXTOPSelectARG2,
|
||||
GFXTOPModulate,
|
||||
GFXTOPModulate2X,
|
||||
GFXTOPModulate4X,
|
||||
GFXTOPAdd,
|
||||
GFXTOPAddSigned,
|
||||
GFXTOPAddSigned2X,
|
||||
GFXTOPSubtract,
|
||||
GFXTOPAddSmooth,
|
||||
GFXTOPBlendDiffuseAlpha,
|
||||
GFXTOPBlendTextureAlpha,
|
||||
GFXTOPBlendFactorAlpha,
|
||||
GFXTOPBlendTextureAlphaPM,
|
||||
GFXTOPBlendCURRENTALPHA,
|
||||
GFXTOPPreModulate,
|
||||
GFXTOPModulateAlphaAddColor,
|
||||
GFXTOPModulateColorAddAlpha,
|
||||
GFXTOPModulateInvAlphaAddColor,
|
||||
GFXTOPModulateInvColorAddAlpha,
|
||||
GFXTOPBumpEnvMap,
|
||||
GFXTOPBumpEnvMapLuminance,
|
||||
GFXTOPDotProduct3,
|
||||
GFXTOPLERP,
|
||||
GFXTOP_COUNT
|
||||
};
|
||||
|
||||
enum GFXTextureAddressMode
|
||||
{
|
||||
GFXAddress_FIRST = 0,
|
||||
GFXAddressWrap = 0,
|
||||
GFXAddressMirror,
|
||||
GFXAddressClamp,
|
||||
GFXAddressBorder,
|
||||
GFXAddressMirrorOnce,
|
||||
GFXAddress_COUNT
|
||||
};
|
||||
|
||||
enum GFXTextureFilterType
|
||||
{
|
||||
GFXTextureFilter_FIRST = 0,
|
||||
GFXTextureFilterNone = 0,
|
||||
GFXTextureFilterPoint,
|
||||
GFXTextureFilterLinear,
|
||||
GFXTextureFilterAnisotropic,
|
||||
GFXTextureFilterPyramidalQuad,
|
||||
GFXTextureFilterGaussianQuad,
|
||||
GFXTextureFilter_COUNT
|
||||
};
|
||||
|
||||
enum GFXFillMode
|
||||
{
|
||||
GFXFill_FIRST = 1,
|
||||
GFXFillPoint = 1,
|
||||
GFXFillWireframe,
|
||||
GFXFillSolid,
|
||||
GFXFill_COUNT
|
||||
};
|
||||
|
||||
enum GFXFormat
|
||||
{
|
||||
// when adding formats make sure to place
|
||||
// them in the correct group!
|
||||
//
|
||||
// if displacing the first entry in the group
|
||||
// make sure to update the GFXFormat_xBIT entries!
|
||||
//
|
||||
GFXFormat_FIRST = 0,
|
||||
|
||||
// 8 bit texture formats...
|
||||
GFXFormatA8 = 0,// first in group...
|
||||
GFXFormatL8,
|
||||
GFXFormatA4L4,
|
||||
|
||||
// 16 bit texture formats...
|
||||
GFXFormatR5G6B5,// first in group...
|
||||
GFXFormatR5G5B5A1,
|
||||
GFXFormatR5G5B5X1,
|
||||
GFXFormatA8L8,
|
||||
GFXFormatL16,
|
||||
GFXFormatR16F,
|
||||
GFXFormatD16,
|
||||
|
||||
// 24 bit texture formats...
|
||||
GFXFormatR8G8B8,// first in group...
|
||||
|
||||
// 32 bit texture formats...
|
||||
GFXFormatR8G8B8A8,// first in group...
|
||||
GFXFormatR8G8B8X8,
|
||||
GFXFormatR32F,
|
||||
GFXFormatR16G16,
|
||||
GFXFormatR16G16F,
|
||||
GFXFormatR10G10B10A2,
|
||||
GFXFormatD32,
|
||||
GFXFormatD24X8,
|
||||
GFXFormatD24S8,
|
||||
GFXFormatD24FS8,
|
||||
|
||||
// 64 bit texture formats...
|
||||
GFXFormatR16G16B16A16,// first in group...
|
||||
GFXFormatR16G16B16A16F,
|
||||
|
||||
// 128 bit texture formats...
|
||||
GFXFormatR32G32B32A32F,// first in group...
|
||||
|
||||
// unknown size...
|
||||
GFXFormatDXT1,// first in group...
|
||||
GFXFormatDXT2,
|
||||
GFXFormatDXT3,
|
||||
GFXFormatDXT4,
|
||||
GFXFormatDXT5,
|
||||
|
||||
GFXFormat_COUNT,
|
||||
|
||||
GFXFormat_8BIT = GFXFormatA8,
|
||||
GFXFormat_16BIT = GFXFormatR5G6B5,
|
||||
GFXFormat_24BIT = GFXFormatR8G8B8,
|
||||
GFXFormat_32BIT = GFXFormatR8G8B8A8,
|
||||
GFXFormat_64BIT = GFXFormatR16G16B16A16,
|
||||
GFXFormat_128BIT = GFXFormatR32G32B32A32F,
|
||||
GFXFormat_UNKNOWNSIZE = GFXFormatDXT1,
|
||||
};
|
||||
|
||||
/// Returns the byte size of the pixel for non-compressed formats.
|
||||
inline U32 GFXFormat_getByteSize( GFXFormat format )
|
||||
{
|
||||
AssertFatal( format < GFXFormat_UNKNOWNSIZE,
|
||||
"GFXDevice::formatByteSize - Cannot size a compressed format!" );
|
||||
|
||||
if ( format < GFXFormat_16BIT )
|
||||
return 1;// 8 bit...
|
||||
else if ( format < GFXFormat_24BIT )
|
||||
return 2;// 16 bit...
|
||||
else if ( format < GFXFormat_32BIT )
|
||||
return 3;// 24 bit...
|
||||
else if ( format < GFXFormat_64BIT )
|
||||
return 4;// 32 bit...
|
||||
else if ( format < GFXFormat_128BIT )
|
||||
return 8;// 64 bit...
|
||||
|
||||
// This should be 128bits... else its a DDS and
|
||||
// the assert should have gone off above.
|
||||
return 16;
|
||||
}
|
||||
|
||||
enum GFXShadeMode
|
||||
{
|
||||
GFXShadeFlat = 1,
|
||||
GFXShadeGouraud,
|
||||
GFXShadePhong,
|
||||
};
|
||||
|
||||
enum GFXClearFlags
|
||||
{
|
||||
GFXClearTarget = 1 << 0,
|
||||
GFXClearZBuffer = 1 << 1,
|
||||
GFXClearStencil = 1 << 2,
|
||||
};
|
||||
|
||||
/// The supported blend modes.
|
||||
enum GFXBlend
|
||||
{
|
||||
GFXBlend_FIRST = 0,
|
||||
GFXBlendZero = 0, /// (0, 0, 0, 0)
|
||||
GFXBlendOne, /// (1, 1, 1, 1)
|
||||
GFXBlendSrcColor, /// (Rs, Gs, Bs, As)
|
||||
GFXBlendInvSrcColor, /// (1 - Rs, 1 - Gs, 1 - Bs, 1 - As)
|
||||
GFXBlendSrcAlpha, /// (As, As, As, As)
|
||||
GFXBlendInvSrcAlpha, /// ( 1 - As, 1 - As, 1 - As, 1 - As)
|
||||
GFXBlendDestAlpha, /// (Ad Ad Ad Ad)
|
||||
GFXBlendInvDestAlpha, /// (1 - Ad 1 - Ad 1 - Ad 1 - Ad)
|
||||
GFXBlendDestColor, /// (Rd, Gd, Bd, Ad)
|
||||
GFXBlendInvDestColor, /// (1 - Rd, 1 - Gd, 1 - Bd, 1 - Ad)
|
||||
GFXBlendSrcAlphaSat, /// (f, f, f, 1) where f = min(As, 1 - Ad)
|
||||
GFXBlend_COUNT
|
||||
};
|
||||
|
||||
/// Constants that name each GFXDevice type. Any new GFXDevice subclass must be
|
||||
/// added to this enum. A string representing its name must also be added to
|
||||
/// GFXInit::getAdapterNameFromType().
|
||||
enum GFXAdapterType
|
||||
{
|
||||
OpenGL = 0,
|
||||
Direct3D9,
|
||||
Direct3D8,
|
||||
NullDevice,
|
||||
Direct3D9_360,
|
||||
GFXAdapterType_Count
|
||||
};
|
||||
|
||||
enum GFXCullMode
|
||||
{
|
||||
GFXCull_FIRST = 0,
|
||||
GFXCullNone = 0,
|
||||
GFXCullCW,
|
||||
GFXCullCCW,
|
||||
GFXCull_COUNT
|
||||
};
|
||||
|
||||
enum GFXCmpFunc
|
||||
{
|
||||
GFXCmp_FIRST = 0,
|
||||
GFXCmpNever = 0,
|
||||
GFXCmpLess,
|
||||
GFXCmpEqual,
|
||||
GFXCmpLessEqual,
|
||||
GFXCmpGreater,
|
||||
GFXCmpNotEqual,
|
||||
GFXCmpGreaterEqual,
|
||||
GFXCmpAlways,
|
||||
GFXCmp_COUNT
|
||||
};
|
||||
|
||||
enum GFXStencilOp
|
||||
{
|
||||
GFXStencilOp_FIRST = 0,
|
||||
GFXStencilOpKeep = 0,
|
||||
GFXStencilOpZero,
|
||||
GFXStencilOpReplace,
|
||||
GFXStencilOpIncrSat,
|
||||
GFXStencilOpDecrSat,
|
||||
GFXStencilOpInvert,
|
||||
GFXStencilOpIncr,
|
||||
GFXStencilOpDecr,
|
||||
GFXStencilOp_COUNT
|
||||
};
|
||||
|
||||
enum GFXMaterialColorSource
|
||||
{
|
||||
GFXMCSMaterial = 0,
|
||||
GFXMCSColor1,
|
||||
GFXMCSColor2,
|
||||
};
|
||||
|
||||
enum GFXBlendOp
|
||||
{
|
||||
GFXBlendOp_FIRST = 0,
|
||||
GFXBlendOpAdd = 0,
|
||||
GFXBlendOpSubtract,
|
||||
GFXBlendOpRevSubtract,
|
||||
GFXBlendOpMin,
|
||||
GFXBlendOpMax,
|
||||
GFXBlendOp_COUNT
|
||||
};
|
||||
|
||||
enum GFXRenderState
|
||||
{
|
||||
GFXRenderState_FIRST = 0,
|
||||
GFXRSZEnable = 0,
|
||||
GFXRSFillMode,
|
||||
GFXRSShadeMode,
|
||||
GFXRSZWriteEnable,
|
||||
GFXRSAlphaTestEnable,
|
||||
GFXRSLastPixel,
|
||||
GFXRSSrcBlend,
|
||||
GFXRSDestBlend,
|
||||
GFXRSCullMode,
|
||||
GFXRSZFunc,
|
||||
GFXRSAlphaRef,
|
||||
GFXRSAlphaFunc,
|
||||
GFXRSDitherEnable,
|
||||
GFXRSAlphaBlendEnable,
|
||||
GFXRSFogEnable,
|
||||
GFXRSSpecularEnable,
|
||||
GFXRSFogColor,
|
||||
GFXRSFogTableMode,
|
||||
GFXRSFogStart,
|
||||
GFXRSFogEnd,
|
||||
GFXRSFogDensity,
|
||||
GFXRSRangeFogEnable,
|
||||
GFXRSStencilEnable,
|
||||
GFXRSStencilFail,
|
||||
GFXRSStencilZFail,
|
||||
GFXRSStencilPass,
|
||||
GFXRSStencilFunc,
|
||||
GFXRSStencilRef,
|
||||
GFXRSStencilMask,
|
||||
GFXRSStencilWriteMask,
|
||||
GFXRSTextureFactor,
|
||||
GFXRSWrap0,
|
||||
GFXRSWrap1,
|
||||
GFXRSWrap2,
|
||||
GFXRSWrap3,
|
||||
GFXRSWrap4,
|
||||
GFXRSWrap5,
|
||||
GFXRSWrap6,
|
||||
GFXRSWrap7,
|
||||
GFXRSClipping,
|
||||
GFXRSLighting,
|
||||
GFXRSAmbient,
|
||||
GFXRSFogVertexMode,
|
||||
GFXRSColorVertex,
|
||||
GFXRSLocalViewer,
|
||||
GFXRSNormalizeNormals,
|
||||
GFXRSDiffuseMaterialSource,
|
||||
GFXRSSpecularMaterialSource,
|
||||
GFXRSAmbientMaterialSource,
|
||||
GFXRSEmissiveMaterialSource,
|
||||
GFXRSVertexBlend,
|
||||
GFXRSClipPlaneEnable,
|
||||
GFXRSPointSize,
|
||||
GFXRSPointSizeMin,
|
||||
GFXRSPointSpriteEnable,
|
||||
GFXRSPointScaleEnable,
|
||||
GFXRSPointScale_A,
|
||||
GFXRSPointScale_B,
|
||||
GFXRSPointScale_C,
|
||||
GFXRSMultiSampleantiAlias,
|
||||
GFXRSMultiSampleMask,
|
||||
GFXRSPatchEdgeStyle,
|
||||
GFXRSDebugMonitorToken,
|
||||
GFXRSPointSize_Max,
|
||||
GFXRSIndexedVertexBlendEnable,
|
||||
GFXRSColorWriteEnable,
|
||||
GFXRSTweenFactor,
|
||||
GFXRSBlendOp,
|
||||
GFXRSPositionDegree,
|
||||
GFXRSNormalDegree,
|
||||
GFXRSScissorTestEnable,
|
||||
GFXRSSlopeScaleDepthBias,
|
||||
GFXRSAntiAliasedLineEnable,
|
||||
GFXRSMinTessellationLevel,
|
||||
GFXRSMaxTessellationLevel,
|
||||
GFXRSAdaptiveTess_X,
|
||||
GFXRSAdaptiveTess_Y,
|
||||
GFXRSdaptiveTess_Z,
|
||||
GFXRSAdaptiveTess_W,
|
||||
GFXRSEnableAdaptiveTesselation,
|
||||
GFXRSTwoSidedStencilMode,
|
||||
GFXRSCCWStencilFail,
|
||||
GFXRSCCWStencilZFail,
|
||||
GFXRSCCWStencilPass,
|
||||
GFXRSCCWStencilFunc,
|
||||
GFXRSColorWriteEnable1,
|
||||
GFXRSColorWriteEnable2,
|
||||
GFXRSolorWriteEnable3,
|
||||
GFXRSBlendFactor,
|
||||
GFXRSSRGBWriteEnable,
|
||||
GFXRSDepthBias,
|
||||
GFXRSWrap8,
|
||||
GFXRSWrap9,
|
||||
GFXRSWrap10,
|
||||
GFXRSWrap11,
|
||||
GFXRSWrap12,
|
||||
GFXRSWrap13,
|
||||
GFXRSWrap14,
|
||||
GFXRSWrap15,
|
||||
GFXRSSeparateAlphaBlendEnable,
|
||||
GFXRSSrcBlendAlpha,
|
||||
GFXRSDestBlendAlpha,
|
||||
GFXRSBlendOpAlpha,
|
||||
GFXRenderState_COUNT ///< Don't use this one, this is a counter
|
||||
};
|
||||
|
||||
#define GFXCOLORWRITEENABLE_RED 1
|
||||
#define GFXCOLORWRITEENABLE_GREEN 2
|
||||
#define GFXCOLORWRITEENABLE_BLUE 4
|
||||
#define GFXCOLORWRITEENABLE_ALPHA 8
|
||||
|
||||
enum GFXTextureStageState
|
||||
{
|
||||
GFXTSS_FIRST = 0,
|
||||
GFXTSSColorOp = 0,
|
||||
GFXTSSColorArg1,
|
||||
GFXTSSColorArg2,
|
||||
GFXTSSAlphaOp,
|
||||
GFXTSSAlphaArg1,
|
||||
GFXTSSAlphaArg2,
|
||||
GFXTSSBumpEnvMat00,
|
||||
GFXTSSBumpEnvMat01,
|
||||
GFXTSSBumpEnvMat10,
|
||||
GFXTSSBumpEnvMat11,
|
||||
GFXTSSTexCoordIndex,
|
||||
GFXTSSBumpEnvlScale,
|
||||
GFXTSSBumpEnvlOffset,
|
||||
GFXTSSTextureTransformFlags,
|
||||
GFXTSSColorArg0,
|
||||
GFXTSSAlphaArg0,
|
||||
GFXTSSResultArg,
|
||||
GFXTSSConstant,
|
||||
GFXTSS_COUNT ///< Don't use this one, this is a counter
|
||||
};
|
||||
|
||||
enum GFXTextureTransformFlags
|
||||
{
|
||||
GFXTTFFDisable = 0,
|
||||
GFXTTFFCoord1D = 1,
|
||||
GFXTTFFCoord2D = 2,
|
||||
GFXTTFFCoord3D = 3,
|
||||
GFXTTFFCoord4D = 4,
|
||||
GFXTTFFProjected = 256,
|
||||
};
|
||||
|
||||
// CodeReview: This number is used for the declaration of variables, but it
|
||||
// should *not* be used for any run-time purposes [7/2/2007 Pat]
|
||||
#define TEXTURE_STAGE_COUNT 16
|
||||
|
||||
enum GFXSamplerState
|
||||
{
|
||||
GFXSAMP_FIRST = 0,
|
||||
GFXSAMPAddressU = 0,
|
||||
GFXSAMPAddressV,
|
||||
GFXSAMPAddressW,
|
||||
GFXSAMPBorderColor,
|
||||
GFXSAMPMagFilter,
|
||||
GFXSAMPMinFilter,
|
||||
GFXSAMPMipFilter,
|
||||
GFXSAMPMipMapLODBias,
|
||||
GFXSAMPMaxMipLevel,
|
||||
GFXSAMPMaxAnisotropy,
|
||||
GFXSAMPSRGBTexture,
|
||||
GFXSAMPElementIndex,
|
||||
GFXSAMPDMapOffset,
|
||||
GFXSAMP_COUNT ///< Don't use this one, this is a counter
|
||||
};
|
||||
|
||||
enum GFXTextureArgument
|
||||
{
|
||||
GFXTA_FIRST = 0,
|
||||
GFXTADiffuse = 0,
|
||||
GFXTACurrent,
|
||||
GFXTATexture,
|
||||
GFXTATFactor,
|
||||
GFXTASpecular,
|
||||
GFXTATemp,
|
||||
GFXTAConstant,
|
||||
GFXTA_COUNT,
|
||||
GFXTAComplement = 0x00000010, // take 1.0 - x (read modifier)
|
||||
GFXTAAlphaReplicate = 0x00000020, // replicate alpha to color components (read modifier)
|
||||
};
|
||||
|
||||
// Matrix stuff
|
||||
#define WORLD_STACK_MAX 24
|
||||
|
||||
enum GFXMatrixType
|
||||
{
|
||||
GFXMatrixWorld = 256,
|
||||
GFXMatrixView = 2,
|
||||
GFXMatrixProjection = 3,
|
||||
GFXMatrixTexture = 16, // This value is texture matrix for sampler 0, can use this for offset
|
||||
GFXMatrixTexture0 = 16,
|
||||
GFXMatrixTexture1 = 17,
|
||||
GFXMatrixTexture2 = 18,
|
||||
GFXMatrixTexture3 = 19,
|
||||
GFXMatrixTexture4 = 20,
|
||||
GFXMatrixTexture5 = 21,
|
||||
GFXMatrixTexture6 = 22,
|
||||
GFXMatrixTexture7 = 23,
|
||||
};
|
||||
|
||||
// Light define
|
||||
#define LIGHT_STAGE_COUNT 8
|
||||
|
||||
#define GFXVERTEXFLAG_F32 3
|
||||
#define GFXVERTEXFLAG_POINT2F 0
|
||||
#define GFXVERTEXFLAG_POINT3F 1
|
||||
#define GFXVERTEXFLAG_POINT4F 2
|
||||
|
||||
#define GFXVERTEXFLAG_TEXCOORD_F32(CoordIndex) ( GFXVERTEXFLAG_F32 << ( CoordIndex * 2 + 16 ) )
|
||||
#define GFXVERTEXFLAG_TEXCOORD_POINT2F(CoordIndex) ( GFXVERTEXFLAG_POINT2F )
|
||||
#define GFXVERTEXFLAG_TEXCOORD_POINT3F(CoordIndex) ( GFXVERTEXFLAG_POINT3F << ( CoordIndex * 2 + 16 ) )
|
||||
#define GFXVERTEXFLAG_TEXCOORD_POINT4F(CoordIndex) ( GFXVERTEXFLAG_POINT4F << ( CoordIndex * 2 + 16 ) )
|
||||
|
||||
#define STATE_STACK_SIZE 32
|
||||
|
||||
// Index Formats
|
||||
enum GFXIndexFormat
|
||||
{
|
||||
GFXIndexFormat_FIRST = 0,
|
||||
GFXIndexFormat16 = 0,
|
||||
GFXIndexFormat32,
|
||||
GFXIndexFormat_COUNT
|
||||
};
|
||||
|
||||
enum GFXShaderConstType
|
||||
{
|
||||
/// GFX"S"hader"C"onstant"T"ype
|
||||
// Scalar
|
||||
GFXSCT_Float,
|
||||
// Vectors
|
||||
GFXSCT_Float2,
|
||||
GFXSCT_Float3,
|
||||
GFXSCT_Float4,
|
||||
// Matrices
|
||||
GFXSCT_Float2x2,
|
||||
GFXSCT_Float3x3,
|
||||
GFXSCT_Float4x4,
|
||||
// Scalar
|
||||
GFXSCT_Int,
|
||||
// Vectors
|
||||
GFXSCT_Int2,
|
||||
GFXSCT_Int3,
|
||||
GFXSCT_Int4,
|
||||
// Samplers
|
||||
GFXSCT_Sampler,
|
||||
GFXSCT_SamplerCube
|
||||
};
|
||||
|
||||
|
||||
/// Defines a vertex declaration type.
|
||||
/// @see GFXVertexElement
|
||||
/// @see GFXVertexFormat
|
||||
enum GFXDeclType
|
||||
{
|
||||
GFXDeclType_FIRST = 0,
|
||||
|
||||
/// A single component F32.
|
||||
GFXDeclType_Float = 0,
|
||||
|
||||
/// A two-component F32.
|
||||
/// @see Point2F
|
||||
GFXDeclType_Float2,
|
||||
|
||||
/// A three-component F32.
|
||||
/// @see Point3F
|
||||
GFXDeclType_Float3,
|
||||
|
||||
/// A four-component F32.
|
||||
/// @see Point4F
|
||||
GFXDeclType_Float4,
|
||||
|
||||
/// A four-component, packed, unsigned bytes mapped to 0 to 1 range.
|
||||
/// @see GFXVertexColor
|
||||
GFXDeclType_Color,
|
||||
|
||||
/// The count of total GFXDeclTypes.
|
||||
GFXDeclType_COUNT,
|
||||
};
|
||||
|
||||
#endif // _GFXENUMS_H_
|
||||
Loading…
Add table
Add a link
Reference in a new issue