osg::BlendFunc Class Reference

Inheritance diagram for osg::BlendFunc:

osg::StateAttribute osg::Object osg::Referenced List of all members.

Public Types

 DST_ALPHA = GL_DST_ALPHA
 DST_COLOR = GL_DST_COLOR
 ONE = GL_ONE
 ONE_MINUS_DST_ALPHA = GL_ONE_MINUS_DST_ALPHA
 ONE_MINUS_DST_COLOR = GL_ONE_MINUS_DST_COLOR
 ONE_MINUS_SRC_ALPHA = GL_ONE_MINUS_SRC_ALPHA
 ONE_MINUS_SRC_COLOR = GL_ONE_MINUS_SRC_COLOR
 SRC_ALPHA = GL_SRC_ALPHA
 SRC_ALPHA_SATURATE = GL_SRC_ALPHA_SATURATE
 SRC_COLOR = GL_SRC_COLOR
 CONSTANT_COLOR = GL_CONSTANT_COLOR
 ONE_MINUS_CONSTANT_COLOR = GL_ONE_MINUS_CONSTANT_COLOR
 CONSTANT_ALPHA = GL_CONSTANT_ALPHA
 ONE_MINUS_CONSTANT_ALPHA = GL_ONE_MINUS_CONSTANT_ALPHA
 ZERO = GL_ZERO
enum  BlendFuncMode {
  DST_ALPHA = GL_DST_ALPHA, DST_COLOR = GL_DST_COLOR, ONE = GL_ONE, ONE_MINUS_DST_ALPHA = GL_ONE_MINUS_DST_ALPHA,
  ONE_MINUS_DST_COLOR = GL_ONE_MINUS_DST_COLOR, ONE_MINUS_SRC_ALPHA = GL_ONE_MINUS_SRC_ALPHA, ONE_MINUS_SRC_COLOR = GL_ONE_MINUS_SRC_COLOR, SRC_ALPHA = GL_SRC_ALPHA,
  SRC_ALPHA_SATURATE = GL_SRC_ALPHA_SATURATE, SRC_COLOR = GL_SRC_COLOR, CONSTANT_COLOR = GL_CONSTANT_COLOR, ONE_MINUS_CONSTANT_COLOR = GL_ONE_MINUS_CONSTANT_COLOR,
  CONSTANT_ALPHA = GL_CONSTANT_ALPHA, ONE_MINUS_CONSTANT_ALPHA = GL_ONE_MINUS_CONSTANT_ALPHA, ZERO = GL_ZERO
}

Public Member Functions

 BlendFunc ()
 BlendFunc (GLenum source, GLenum destination)
 BlendFunc (GLenum source, GLenum destination, GLenum source_alpha, GLenum destination_alpha)
 BlendFunc (const BlendFunc &trans, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
 META_StateAttribute (osg, BlendFunc, BLENDFUNC)
virtual int compare (const StateAttribute &sa) const
virtual bool getModeUsage (ModeUsage &usage) const
void setFunction (GLenum source, GLenum destination)
void setFunction (GLenum source_rgb, GLenum destination_rgb, GLenum source_alpha, GLenum destination_alpha)
void setSource (GLenum source)
GLenum getSource () const
void setSourceRGB (GLenum source)
GLenum getSourceRGB () const
void setSourceAlpha (GLenum source)
GLenum getSourceAlpha () const
void setDestination (GLenum destination)
GLenum getDestination () const
void setDestinationRGB (GLenum destination)
GLenum getDestinationRGB () const
void setDestinationAlpha (GLenum destination)
GLenum getDestinationAlpha () const
virtual void apply (State &state) const

Static Public Member Functions

static ExtensionsgetExtensions (unsigned int contextID, bool createIfNotInitalized)
static void setExtensions (unsigned int contextID, Extensions *extensions)

Protected Member Functions

virtual ~BlendFunc ()

Protected Attributes

GLenum _source_factor
GLenum _destination_factor
GLenum _source_factor_alpha
GLenum _destination_factor_alpha

Classes

class  Extensions

Detailed Description

Encapsulates OpenGL blend/transparency state.


Member Enumeration Documentation

enum osg::BlendFunc::BlendFuncMode

Enumerator:
DST_ALPHA 
DST_COLOR 
ONE 
ONE_MINUS_DST_ALPHA 
ONE_MINUS_DST_COLOR 
ONE_MINUS_SRC_ALPHA 
ONE_MINUS_SRC_COLOR 
SRC_ALPHA 
SRC_ALPHA_SATURATE 
SRC_COLOR 
CONSTANT_COLOR 
ONE_MINUS_CONSTANT_COLOR 
CONSTANT_ALPHA 
ONE_MINUS_CONSTANT_ALPHA 
ZERO 


Constructor & Destructor Documentation

osg::BlendFunc::BlendFunc (  ) 

osg::BlendFunc::BlendFunc ( GLenum  source,
GLenum  destination 
)

osg::BlendFunc::BlendFunc ( GLenum  source,
GLenum  destination,
GLenum  source_alpha,
GLenum  destination_alpha 
)

osg::BlendFunc::BlendFunc ( const BlendFunc trans,
const CopyOp copyop = CopyOp::SHALLOW_COPY 
) [inline]

Copy constructor using CopyOp to manage deep vs shallow copy.

virtual osg::BlendFunc::~BlendFunc (  )  [protected, virtual]


Member Function Documentation

virtual void osg::BlendFunc::apply ( State state  )  const [virtual]

apply the OpenGL state attributes. The global state for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state.

Implements osg::StateAttribute.

virtual int osg::BlendFunc::compare ( const StateAttribute sa  )  const [inline, virtual]

Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.

Implements osg::StateAttribute.

GLenum osg::BlendFunc::getDestination (  )  const [inline]

GLenum osg::BlendFunc::getDestinationAlpha (  )  const [inline]

GLenum osg::BlendFunc::getDestinationRGB (  )  const [inline]

static Extensions* osg::BlendFunc::getExtensions ( unsigned int  contextID,
bool  createIfNotInitalized 
) [static]

Returns the Extensions object for the given context. If createIfNotInitalized is true and the Exentsions object doesn't exist, getExtensions() creates it on the given context. Returns NULL if createIfNotInitalized is false and the Extensions object doesn't exist.

virtual bool osg::BlendFunc::getModeUsage ( ModeUsage &  usage  )  const [inline, virtual]

GLenum osg::BlendFunc::getSource (  )  const [inline]

GLenum osg::BlendFunc::getSourceAlpha (  )  const [inline]

GLenum osg::BlendFunc::getSourceRGB (  )  const [inline]

osg::BlendFunc::META_StateAttribute ( osg  ,
BlendFunc  ,
BLENDFUNC   
)

void osg::BlendFunc::setDestination ( GLenum  destination  )  [inline]

void osg::BlendFunc::setDestinationAlpha ( GLenum  destination  )  [inline]

void osg::BlendFunc::setDestinationRGB ( GLenum  destination  )  [inline]

static void osg::BlendFunc::setExtensions ( unsigned int  contextID,
Extensions extensions 
) [static]

setExtensions() allows users to override the extensions across graphics contexts. Typically used when you have different extensions supported across graphics pipes, but need to ensure that they all use the same low common denominator extensions.

void osg::BlendFunc::setFunction ( GLenum  source_rgb,
GLenum  destination_rgb,
GLenum  source_alpha,
GLenum  destination_alpha 
) [inline]

void osg::BlendFunc::setFunction ( GLenum  source,
GLenum  destination 
) [inline]

void osg::BlendFunc::setSource ( GLenum  source  )  [inline]

void osg::BlendFunc::setSourceAlpha ( GLenum  source  )  [inline]

void osg::BlendFunc::setSourceRGB ( GLenum  source  )  [inline]


Member Data Documentation

GLenum osg::BlendFunc::_destination_factor [protected]

GLenum osg::BlendFunc::_destination_factor_alpha [protected]

GLenum osg::BlendFunc::_source_factor [protected]

GLenum osg::BlendFunc::_source_factor_alpha [protected]


The documentation for this class was generated from the following file:
Generated on Sun Oct 1 13:17:05 2006 for openscenegraph by  doxygen 1.4.7