initial
This commit is contained in:
133
public/shaderapi/shareddefs.h
Normal file
133
public/shaderapi/shareddefs.h
Normal file
@@ -0,0 +1,133 @@
|
||||
//===== Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ======//
|
||||
//
|
||||
// Purpose: NOTE: This file is for backward compat!
|
||||
// We'll get rid of it soon. Most of the contents of this file were moved
|
||||
// into shaderpi/ishadershadow.h, shaderapi/ishaderdynamic.h, or
|
||||
// shaderapi/shareddefs.h
|
||||
//
|
||||
// $NoKeywords: $
|
||||
//
|
||||
//===========================================================================//
|
||||
|
||||
#ifndef SHADERAPI_SHAREDDEFS_H
|
||||
#define SHADERAPI_SHAREDDEFS_H
|
||||
|
||||
#ifdef _WIN32
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Important enumerations
|
||||
//-----------------------------------------------------------------------------
|
||||
enum ShaderShadeMode_t
|
||||
{
|
||||
SHADER_FLAT = 0,
|
||||
SHADER_SMOOTH
|
||||
};
|
||||
|
||||
enum ShaderTexCoordComponent_t
|
||||
{
|
||||
SHADER_TEXCOORD_S = 0,
|
||||
SHADER_TEXCOORD_T,
|
||||
SHADER_TEXCOORD_U
|
||||
};
|
||||
|
||||
enum ShaderTexFilterMode_t
|
||||
{
|
||||
SHADER_TEXFILTERMODE_NEAREST,
|
||||
SHADER_TEXFILTERMODE_LINEAR,
|
||||
SHADER_TEXFILTERMODE_NEAREST_MIPMAP_NEAREST,
|
||||
SHADER_TEXFILTERMODE_LINEAR_MIPMAP_NEAREST,
|
||||
SHADER_TEXFILTERMODE_NEAREST_MIPMAP_LINEAR,
|
||||
SHADER_TEXFILTERMODE_LINEAR_MIPMAP_LINEAR,
|
||||
SHADER_TEXFILTERMODE_ANISOTROPIC
|
||||
};
|
||||
|
||||
enum ShaderTexWrapMode_t
|
||||
{
|
||||
SHADER_TEXWRAPMODE_CLAMP,
|
||||
SHADER_TEXWRAPMODE_REPEAT,
|
||||
SHADER_TEXWRAPMODE_BORDER
|
||||
// MIRROR? - probably don't need it.
|
||||
};
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Sampler identifiers
|
||||
// Samplers are used to enable and bind textures + by programmable shading algorithms
|
||||
//-----------------------------------------------------------------------------
|
||||
enum Sampler_t
|
||||
{
|
||||
SHADER_SAMPLER_INVALID = -1,
|
||||
|
||||
SHADER_SAMPLER0 = 0,
|
||||
SHADER_SAMPLER1,
|
||||
SHADER_SAMPLER2,
|
||||
SHADER_SAMPLER3,
|
||||
SHADER_SAMPLER4,
|
||||
SHADER_SAMPLER5,
|
||||
SHADER_SAMPLER6,
|
||||
SHADER_SAMPLER7,
|
||||
SHADER_SAMPLER8,
|
||||
SHADER_SAMPLER9,
|
||||
SHADER_SAMPLER10,
|
||||
SHADER_SAMPLER11,
|
||||
SHADER_SAMPLER12,
|
||||
SHADER_SAMPLER13,
|
||||
SHADER_SAMPLER14,
|
||||
SHADER_SAMPLER15,
|
||||
|
||||
SHADER_SAMPLER_COUNT,
|
||||
};
|
||||
|
||||
//----------------------------------------------------------------------
|
||||
// texture binding options
|
||||
//----------------------------------------------------------------------
|
||||
enum TextureBindFlags_t
|
||||
{
|
||||
// these flags are OR'd into the sampler index for texture binding commands
|
||||
TEXTURE_BINDFLAGS_SRGBREAD = ( 1 << 31 ),
|
||||
|
||||
// Enables shadow filtering or ATI Fetch4 depending on the platform/device caps.
|
||||
TEXTURE_BINDFLAGS_SHADOWDEPTH = ( 1 << 30 ),
|
||||
|
||||
// Disables mipmapping
|
||||
TEXTURE_BINDFLAGS_NOMIP = ( 1 << 29 ),
|
||||
|
||||
TEXTURE_BINDFLAGS_NONE = 0,
|
||||
};
|
||||
|
||||
#define TEXTURE_BINDFLAGS_VALID_MASK ( TEXTURE_BINDFLAGS_SRGBREAD | TEXTURE_BINDFLAGS_SHADOWDEPTH | TEXTURE_BINDFLAGS_NOMIP )
|
||||
|
||||
// return the appropriate bindflags based upon a bool which reflects whether srgbread is desired.
|
||||
static inline TextureBindFlags_t SRGBReadMask( bool bSRGBRead )
|
||||
{
|
||||
return ( bSRGBRead ) ? TEXTURE_BINDFLAGS_SRGBREAD : TEXTURE_BINDFLAGS_NONE;
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Vertex texture sampler identifiers
|
||||
//-----------------------------------------------------------------------------
|
||||
enum VertexTextureSampler_t
|
||||
{
|
||||
SHADER_VERTEXTEXTURE_SAMPLER0 = 0,
|
||||
SHADER_VERTEXTEXTURE_SAMPLER1,
|
||||
SHADER_VERTEXTEXTURE_SAMPLER2,
|
||||
SHADER_VERTEXTEXTURE_SAMPLER3,
|
||||
};
|
||||
|
||||
|
||||
#if defined( _X360 )
|
||||
#define REVERSE_DEPTH_ON_X360 //uncomment to use D3DFMT_D24FS8 with an inverted depth viewport for better performance. Keep this in sync with the same named #define in materialsystem/stdshaders/common_fxc.h
|
||||
#endif
|
||||
|
||||
#if defined( REVERSE_DEPTH_ON_X360 )
|
||||
#define ReverseDepthOnX360() true
|
||||
#else
|
||||
#define ReverseDepthOnX360() false
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#endif // SHADERAPI_SHAREDDEFS_H
|
||||
Reference in New Issue
Block a user