OpenSceneGraph
3.4.0
|
Encapsulates OpenGL blend/transparency state. More...
Public Types | |
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 ©op=CopyOp::SHALLOW_COPY) | |
Copy constructor using CopyOp to manage deep vs shallow copy. | |
META_StateAttribute (osg, BlendFunc, BLENDFUNC) | |
virtual int | compare (const StateAttribute &sa) const |
Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. | |
virtual bool | getModeUsage (StateAttribute::ModeUsage &usage) const |
Return the modes associated with this StateAttribute. | |
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 |
apply the OpenGL state attributes. | |
Protected Member Functions | |
virtual | ~BlendFunc () |
Protected Attributes | |
GLenum | _source_factor |
GLenum | _destination_factor |
GLenum | _source_factor_alpha |
GLenum | _destination_factor_alpha |
Encapsulates OpenGL blend/transparency state.
Blending combines incoming fragment with a fragment already present in the target buffer.
OpenGL 1.1 supports following source and destination blending factors: GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA, GL_DST_ALPHA, GL_ONE_MINUS_DST_ALPHA, GL_ZERO, GL_ONE.
Moreover, there are three source-only blending factors: GL_DST_COLOR, GL_ONE_MINUS_DST_COLOR, GL_SRC_ALPHA_SATURATE and two destination-only blending factors: GL_SRC_COLOR, GL_ONE_MINUS_SRC_COLOR. OpenGL 1.4 allowed to use these five blending factors as both - source and destination blending factors.
Following four source and destination blending factors were added by Imaging subset of OpenGL 1.2 and made mandatory by OpenGL 1.4: GL_CONSTANT_COLOR, GL_ONE_MINUS_CONSTANT_COLOR, GL_CONSTANT_ALPHA, GL_ONE_MINUS_CONSTANT_ALPHA
OpenGL 1.4 further provides glBlendFuncSeparate (promoted from GL_EXT_blend_func_separate). It makes possible to set blending functions for RGB and Alpha separately. Before, it was possible to set just one blending function for RGBA.
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] |
virtual void osg::BlendFunc::apply | ( | State & | ) | const [virtual] |
apply the OpenGL state attributes.
The render info for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state.
Reimplemented from osg::StateAttribute.
Reimplemented in osg::BlendFunci.
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.
Reimplemented in osg::BlendFunci.
References COMPARE_StateAttribute_Parameter, and COMPARE_StateAttribute_Types.
Referenced by osg::BlendFunci::compare().
GLenum osg::BlendFunc::getDestination | ( | ) | const [inline] |
GLenum osg::BlendFunc::getDestinationAlpha | ( | ) | const [inline] |
GLenum osg::BlendFunc::getDestinationRGB | ( | ) | const [inline] |
virtual bool osg::BlendFunc::getModeUsage | ( | StateAttribute::ModeUsage & | ) | const [inline, virtual] |
Return the modes associated with this StateAttribute.
Reimplemented from osg::StateAttribute.
References osg::StateAttribute::ModeUsage::usesMode().
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] |
void osg::BlendFunc::setFunction | ( | GLenum | source, |
GLenum | destination | ||
) | [inline] |
void osg::BlendFunc::setFunction | ( | GLenum | source_rgb, |
GLenum | destination_rgb, | ||
GLenum | source_alpha, | ||
GLenum | destination_alpha | ||
) | [inline] |
void osg::BlendFunc::setSource | ( | GLenum | source | ) | [inline] |
void osg::BlendFunc::setSourceAlpha | ( | GLenum | source | ) | [inline] |
void osg::BlendFunc::setSourceRGB | ( | GLenum | source | ) | [inline] |
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] |
![]() | Generated at Tue Dec 8 2015 00:14:23 for the OpenSceneGraph by doxygen 1.7.6.1. |