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
} |
enum | Values {
OFF = 0x0,
ON = 0x1,
OVERRIDE = 0x2,
PROTECTED = 0x4,
INHERIT = 0x8
} |
enum | Type {
TEXTURE,
POLYGONMODE,
POLYGONOFFSET,
MATERIAL,
ALPHAFUNC,
ANTIALIAS,
COLORTABLE,
CULLFACE,
FOG,
FRONTFACE,
LIGHT,
POINT,
LINEWIDTH,
LINESTIPPLE,
POLYGONSTIPPLE,
SHADEMODEL,
TEXENV,
TEXENVFILTER,
TEXGEN,
TEXMAT,
LIGHTMODEL,
BLENDFUNC,
BLENDEQUATION,
LOGICOP,
STENCIL,
COLORMASK,
DEPTH,
VIEWPORT,
SCISSOR,
BLENDCOLOR,
MULTISAMPLE,
CLIPPLANE,
COLORMATRIX,
VERTEXPROGRAM,
FRAGMENTPROGRAM,
POINTSPRITE,
PROGRAM,
CLAMPCOLOR,
HINT,
VALIDATOR,
VIEWMATRIXEXTRACTOR,
OSGNV_PARAMETER_BLOCK,
OSGNVEXT_TEXTURE_SHADER,
OSGNVEXT_VERTEX_PROGRAM,
OSGNVEXT_REGISTER_COMBINERS,
OSGNVCG_PROGRAM,
OSGNVSLANG_PROGRAM,
OSGNVPARSE_PROGRAM_PARSER,
UNIFORMBUFFERBINDING,
TRANSFORMFEEDBACKBUFFERBINDING
} |
typedef GLenum | GLMode |
typedef unsigned int | GLModeValue |
typedef unsigned int | OverrideValue |
typedef std::pair< Type,
unsigned int > | TypeMemberPair |
typedef std::vector< StateSet * > | ParentList |
typedef osg::StateAttributeCallback | Callback |
enum | DataVariance { DYNAMIC,
STATIC,
UNSPECIFIED
} |
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) |
| META_StateAttribute (osg, BlendFunc, BLENDFUNC) |
virtual int | compare (const StateAttribute &sa) const |
virtual bool | getModeUsage (StateAttribute::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 |
| StateAttribute () |
| StateAttribute (const StateAttribute &sa, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
virtual Object * | cloneType () const =0 |
virtual Object * | clone (const CopyOp &) const =0 |
virtual bool | isSameKindAs (const Object *obj) const |
virtual const char * | libraryName () const |
virtual const char * | className () const |
virtual Texture * | asTexture () |
virtual const Texture * | asTexture () const |
virtual Type | getType () const =0 |
virtual unsigned int | getMember () const |
TypeMemberPair | getTypeMemberPair () const |
virtual bool | isTextureAttribute () const |
bool | operator< (const StateAttribute &rhs) const |
bool | operator== (const StateAttribute &rhs) const |
bool | operator!= (const StateAttribute &rhs) const |
const ParentList & | getParents () const |
StateSet * | getParent (unsigned int i) |
const StateSet * | getParent (unsigned int i) const |
unsigned int | getNumParents () const |
void | setShaderComponent (ShaderComponent *sc) |
ShaderComponent * | getShaderComponent () |
const ShaderComponent * | getShaderComponent () const |
virtual bool | checkValidityOfAssociatedModes (osg::State &) const |
void | setUpdateCallback (StateAttributeCallback *uc) |
StateAttributeCallback * | getUpdateCallback () |
const StateAttributeCallback * | getUpdateCallback () const |
void | setEventCallback (StateAttributeCallback *ec) |
StateAttributeCallback * | getEventCallback () |
const StateAttributeCallback * | getEventCallback () const |
virtual void | compileGLObjects (State &) const |
virtual void | resizeGLObjectBuffers (unsigned int) |
virtual void | releaseGLObjects (State *=0) const |
| Object () |
| Object (bool threadSafeRefUnref) |
| Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
virtual void | setName (const std::string &name) |
void | setName (const char *name) |
const std::string & | getName () const |
void | setDataVariance (DataVariance dv) |
DataVariance | getDataVariance () const |
virtual void | computeDataVariance () |
void | setUserDataContainer (osg::UserDataContainer *udc) |
osg::UserDataContainer * | getUserDataContainer () |
const osg::UserDataContainer * | getUserDataContainer () const |
osg::UserDataContainer * | getOrCreateUserDataContainer () |
virtual void | setUserData (Referenced *obj) |
virtual Referenced * | getUserData () |
virtual const Referenced * | getUserData () const |
template<typename T > |
bool | getUserValue (const std::string &name, T &value) const |
template<typename T > |
void | setUserValue (const std::string &name, const T &value) |
| Referenced () |
| Referenced (bool threadSafeRefUnref) |
| Referenced (const Referenced &) |
Referenced & | operator= (const Referenced &) |
bool | getThreadSafeRefUnref () const |
OpenThreads::Mutex * | getRefMutex () const |
int | ref () const |
int | unref () const |
int | unref_nodelete () const |
int | referenceCount () const |
ObserverSet * | getObserverSet () const |
ObserverSet * | getOrCreateObserverSet () const |
void | addObserver (Observer *observer) const |
void | removeObserver (Observer *observer) const |
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.