Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | Related Pages

BlendMode Class Reference

#include <material.h>

List of all members.


Detailed Description

Data describing a blend mode.

Author:
Mattias Jansson (mattias@realityrift.com)


Public Types

enum  SRCBLENDMODE {
  SRC_ONE = 0x00000000, SRC_ZERO = 0x00000001, SRC_DESTCOLOR = 0x00000004, SRC_ONEMINUSDESTCOLOR = 0x00000005,
  SRC_SRCCOLOR = 0x00000007, SRC_FACTOR = 0x00000008, SRC_SRCALPHA = 0x00000009, SRC_ONEMINUSSRCALPHA = 0x0000000a,
  SRC_DESTALPHA = 0x0000000c, SRC_ONEMINUSDESTALPHA = 0x0000000d , SRCBITS = 0x0000000f
}
 Source blend modes Source factor (S_factor) in blend equation, where final output fragment color is S_factor * S_rgb + D_factor * D_rgb. More...

enum  DESTBLENDMODE {
  DEST_ZERO = 0x00000000, DEST_ONE = 0x00000010, DEST_SRCCOLOR = 0x00000040, DEST_ONEMINUSSRCCOLOR = 0x00000050,
  DEST_ONEMINUSFACTOR = 0x00000060, DEST_SRCALPHA = 0x00000080, DEST_ONEMINUSSRCALPHA = 0x00000090, DEST_DESTALPHA = 0x000000b0,
  DEST_ONEMINUSDESTALPHA = 0x000000c0, DESTBITS = 0x000000f0
}
 Destination blend modes Destination factor (D_factor) in blend equation, where final output fragment color is S_factor * S_rgb + D_factor * D_rgb. More...

enum  BLENDMODE {
  NORMAL = 0x00000000, DECAL = ( SRC_SRCALPHA | DEST_ONEMINUSSRCALPHA ), DECALFACTOR = ( SRC_FACTOR | DEST_ONEMINUSFACTOR ), MODULATE = ( SRC_DESTCOLOR | DEST_ZERO ),
  MODULATE_ALT = ( SRC_ZERO | DEST_SRCCOLOR ), MODULATE_2X = ( SRC_DESTCOLOR | DEST_SRCCOLOR ), ADD = ( SRC_ONE | DEST_ONE ), ADDSMOOTH = ( SRC_ONE | DEST_ONEMINUSSRCCOLOR ),
  ADDSMOOTH_ALT = ( SRC_ONEMINUSDESTCOLOR | DEST_ONE ), ZERO = ( SRC_ZERO | DEST_ZERO ), BITS = ( SRCBITS | DESTBITS )
}
 Predefined combined blend modes. More...


Public Member Functions

 BlendMode ()
 BlendMode (const BlendMode &rkMode)
void Set (unsigned int uiSrcMode, unsigned int uiDestMode)
void Set (unsigned int uiMode)
int Get () const
BlendModeoperator= (const BlendMode &rkBlendMode)

Static Public Member Functions

std::string GetSrcModeAsString (unsigned int uiMode)
std::string GetDestModeAsString (unsigned int uiMode)
unsigned int GetSrcModeFromString (const std::string &rstrMode)
unsigned int GetDestModeFromString (const std::string &rstrMode)

Public Attributes

float m_fFactor

Protected Attributes

unsigned int m_uiMode


Member Enumeration Documentation

enum SRCBLENDMODE
 

Source blend modes Source factor (S_factor) in blend equation, where final output fragment color is S_factor * S_rgb + D_factor * D_rgb.

Enumeration values:
SRC_ONE  1 * S_rgb
SRC_ZERO  0 * S_rgb
SRC_DESTCOLOR  D_rgb * S_rgb
SRC_ONEMINUSDESTCOLOR  ( 1 - D_rgb ) * S_rgb
SRC_SRCCOLOR  S_rgb * S_rgb
SRC_FACTOR  S_rgb * factor (only allowed in conjunction with DEST_ONEMINUSFACTOR, otherwise results are undefined)
SRC_SRCALPHA  S_alpha * S_rgb
SRC_ONEMINUSSRCALPHA  ( 1 - S_alpha ) * S_rgb
SRC_DESTALPHA  D_alpha * S_rgb
SRC_ONEMINUSDESTALPHA  ( 1 - D_alpha ) * S_rgb
SRCBITS  Bitmask for bits by source blend factor identifiers

enum DESTBLENDMODE
 

Destination blend modes Destination factor (D_factor) in blend equation, where final output fragment color is S_factor * S_rgb + D_factor * D_rgb.

Enumeration values:
DEST_ZERO  0 * D_rgb
DEST_ONE  1 * D_rgb
DEST_SRCCOLOR  S_rgb * D_rgb
DEST_ONEMINUSSRCCOLOR  ( 1 - S_rgb ) * D_rgb
DEST_ONEMINUSFACTOR  ( 1 - factor ) * D_rgb (only allowed in conjunction with SRC_FACTOR, otherwise results are undefined)
DEST_SRCALPHA  S_alpha * D_rgb
DEST_ONEMINUSSRCALPHA  ( 1 - S_alpha ) * D_rgb
DEST_DESTALPHA  D_alpha * D_rgb
DEST_ONEMINUSDESTALPHA  ( 1 - D_alpha ) * D_rgb
DESTBITS  Bitmask for bits used by destination blend factor identifiers

enum BLENDMODE
 

Predefined combined blend modes.

Enumeration values:
NORMAL  OUT = S_rgb
DECAL  OUT = S_alpha * S_rgb + ( 1 - S_alpha ) * D_rgb
DECALFACTOR  OUT = factor * S_rgb + ( 1 - factor ) * D_rgb
MODULATE  OUT = D_rgb * S_rgb
MODULATE_ALT  OUT = S_rgb * D_rgb
MODULATE_2X  OUT = D_rgb * S_rgb * 2
ADD  OUT = S_rgb + D_rgb
ADDSMOOTH  OUT = S_rgb + ( 1 - S_rgb ) * D_rgb
ADDSMOOTH_ALT  OUT = ( 1 - D_rgb ) * S_rgb + D_rgb
ZERO  OUT = 0
BITS  Bitmask for bits used by combined blend factor identifiers


Constructor & Destructor Documentation

BlendMode  )  [inline]
 

BlendMode const BlendMode rkMode  )  [inline]
 

Parameters:
rkMode Reference mode


Member Function Documentation

void Set unsigned int  uiSrcMode,
unsigned int  uiDestMode
[inline]
 

Set blend mode

Parameters:
uiSrcMode Source mode
uiDestMode Dest mode

void Set unsigned int  uiMode  )  [inline]
 

Set from predefined constant

Parameters:
uiMode Blend mode

int Get  )  const [inline]
 

Access mode as integer

Returns:
Blend mode

std::string GetSrcModeAsString unsigned int  uiMode  )  [static]
 

Get src mode as string

Parameters:
uiMode Mode identifier
Returns:
Src mode

std::string GetDestModeAsString unsigned int  uiMode  )  [static]
 

Get dest mode as string

Parameters:
uiMode Mode identifier
Returns:
Dest mode

unsigned int GetSrcModeFromString const std::string &  rstrMode  )  [static]
 

Get src mode from string

Parameters:
rstrMode Mode name string
Returns:
Src mode

unsigned int GetDestModeFromString const std::string &  rstrMode  )  [static]
 

Get dest mode from string

Parameters:
rstrMode Mode name string
Returns:
Src mode

BlendMode& operator= const BlendMode rkBlendMode  )  [inline]
 

Copy

Parameters:
rkBlendMode Values to copy
Returns:
ref to resulting blend mode (this)


Member Data Documentation

unsigned int m_uiMode [protected]
 

Src and dest blend func

float m_fFactor
 

Factor


The documentation for this class was generated from the following file:
Generated on Wed Jan 21 14:21:11 2004 for NeoEngine by doxygen 1.3.5