74 lines
1.7 KiB
C
74 lines
1.7 KiB
C
//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
|
|
//
|
|
// Purpose: These are declarations (functions, structs, enums) used in both
|
|
// SPU and PPU on PS/3, as well as potentially on different processor targets
|
|
// on future platforms
|
|
//===========================================================================//
|
|
#ifndef BASESHADER_SHARED_DECLARATIONS_HDR
|
|
#define BASESHADER_SHARED_DECLARATIONS_HDR
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Standard material vars
|
|
//-----------------------------------------------------------------------------
|
|
// Note: if you add to these, add to s_StandardParams in CBaseShader.cpp
|
|
enum ShaderMaterialVars_t
|
|
{
|
|
FLAGS = 0,
|
|
FLAGS_DEFINED, // mask indicating if the flag was specified
|
|
FLAGS2,
|
|
FLAGS_DEFINED2,
|
|
COLOR,
|
|
ALPHA,
|
|
BASETEXTURE,
|
|
FRAME,
|
|
BASETEXTURETRANSFORM,
|
|
FLASHLIGHTTEXTURE,
|
|
FLASHLIGHTTEXTUREFRAME,
|
|
COLOR2,
|
|
SRGBTINT,
|
|
|
|
NUM_SHADER_MATERIAL_VARS
|
|
};
|
|
|
|
// Alpha belnd mode enums. Moved from basevsshader
|
|
enum BlendType_t
|
|
{
|
|
// no alpha blending
|
|
BT_NONE = 0,
|
|
|
|
|
|
|
|
// src * srcAlpha + dst * (1-srcAlpha)
|
|
// two passes for HDR:
|
|
// pass 1:
|
|
// color: src * srcAlpha + dst * (1-srcAlpha)
|
|
// alpha: srcAlpha * zero + dstAlpha * (1-srcAlpha)
|
|
// pass 2:
|
|
// color: none
|
|
// alpha: srcAlpha * one + dstAlpha * one
|
|
//
|
|
BT_BLEND,
|
|
|
|
|
|
|
|
// src * one + dst * one
|
|
// one pass for HDR
|
|
BT_ADD,
|
|
|
|
|
|
|
|
// Why do we ever use this instead of using premultiplied alpha?
|
|
// src * srcAlpha + dst * one
|
|
// two passes for HDR
|
|
// pass 1:
|
|
// color: src * srcAlpha + dst * one
|
|
// alpha: srcAlpha * one + dstAlpha * one
|
|
// pass 2:
|
|
// color: none
|
|
// alpha: srcAlpha * one + dstAlpha * one
|
|
BT_BLENDADD
|
|
};
|
|
|
|
|
|
|
|
#endif |