|
enum | Face { FRONT = 0
, BACK = 1
} |
|
enum | Function {
NEVER = GL_NEVER
, LESS = GL_LESS
, EQUAL = GL_EQUAL
, LEQUAL = GL_LEQUAL
,
GREATER = GL_GREATER
, NOTEQUAL = GL_NOTEQUAL
, GEQUAL = GL_GEQUAL
, ALWAYS = GL_ALWAYS
} |
|
enum | Operation {
KEEP = GL_KEEP
, ZERO = GL_ZERO
, REPLACE = GL_REPLACE
, INCR = GL_INCR
,
DECR = GL_DECR
, INVERT = GL_INVERT
, INCR_WRAP = GL_INCR_WRAP
, DECR_WRAP = GL_DECR_WRAP
} |
|
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
, SAMPLEMASKI
,
PRIMITIVERESTARTINDEX
, CLIPCONTROL
, VALIDATOR
, VIEWMATRIXEXTRACTOR
,
OSGNV_PARAMETER_BLOCK
, OSGNVEXT_TEXTURE_SHADER
, OSGNVEXT_VERTEX_PROGRAM
, OSGNVEXT_REGISTER_COMBINERS
,
OSGNVCG_PROGRAM
, OSGNVSLANG_PROGRAM
, OSGNVPARSE_PROGRAM_PARSER
, UNIFORMBUFFERBINDING
,
TRANSFORMFEEDBACKBUFFERBINDING
, ATOMICCOUNTERBUFFERBINDING
, PATCH_PARAMETER
, FRAME_BUFFER_OBJECT
,
VERTEX_ATTRIB_DIVISOR
, SHADERSTORAGEBUFFERBINDING
, INDIRECTDRAWBUFFERBINDING
, VIEWPORTINDEXED
,
DEPTHRANGEINDEXED
, SCISSORINDEXED
, BINDIMAGETEXTURE
, SAMPLER
,
CAPABILITY = 100
} |
|
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
} |
|
|
| StencilTwoSided () |
|
| StencilTwoSided (const StencilTwoSided &stencil, const CopyOp ©op=CopyOp::SHALLOW_COPY) |
|
| META_StateAttribute (osg, StencilTwoSided, STENCIL) |
|
virtual int | compare (const StateAttribute &sa) const |
|
virtual bool | getModeUsage (StateAttribute::ModeUsage &usage) const |
|
void | setFunction (Face face, Function func, int ref, unsigned int mask) |
|
void | setFunction (Face face, Function func) |
|
Function | getFunction (Face face) const |
|
void | setFunctionRef (Face face, int ref) |
|
int | getFunctionRef (Face face) const |
|
void | setFunctionMask (Face face, unsigned int mask) |
|
unsigned int | getFunctionMask (Face face) const |
|
void | setOperation (Face face, Operation sfail, Operation zfail, Operation zpass) |
|
void | setStencilFailOperation (Face face, Operation sfail) |
|
Operation | getStencilFailOperation (Face face) const |
|
void | setStencilPassAndDepthFailOperation (Face face, Operation zfail) |
|
Operation | getStencilPassAndDepthFailOperation (Face face) const |
|
void | setStencilPassAndDepthPassOperation (Face face, Operation zpass) |
|
Operation | getStencilPassAndDepthPassOperation (Face face) const |
|
void | setWriteMask (Face face, unsigned int mask) |
|
unsigned int | getWriteMask (Face face) 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 StateAttribute * | asStateAttribute () |
|
virtual const StateAttribute * | asStateAttribute () 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) |
|
std::string | getCompoundClassName () const |
|
virtual Node * | asNode () |
|
virtual const Node * | asNode () const |
|
virtual NodeVisitor * | asNodeVisitor () |
|
virtual const NodeVisitor * | asNodeVisitor () const |
|
virtual StateSet * | asStateSet () |
|
virtual const StateSet * | asStateSet () const |
|
virtual Uniform * | asUniform () |
|
virtual const Uniform * | asUniform () const |
|
virtual Camera * | asCamera () |
|
virtual const Camera * | asCamera () const |
|
virtual Drawable * | asDrawable () |
|
virtual const Drawable * | asDrawable () const |
|
virtual Callback * | asCallback () |
|
virtual const Callback * | asCallback () const |
|
virtual CallbackObject * | asCallbackObject () |
|
virtual const CallbackObject * | asCallbackObject () const |
|
virtual UserDataContainer * | asUserDataContainer () |
|
virtual const UserDataContainer * | asUserDataContainer () const |
|
virtual ValueObject * | asValueObject () |
|
virtual const ValueObject * | asValueObject () const |
|
virtual Image * | asImage () |
|
virtual const Image * | asImage () const |
|
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) |
|
template<class T > |
void | setUserDataContainer (const ref_ptr< T > &udc) |
|
osg::UserDataContainer * | getUserDataContainer () |
|
const osg::UserDataContainer * | getUserDataContainer () const |
|
osg::UserDataContainer * | getOrCreateUserDataContainer () |
|
virtual void | setUserData (Referenced *obj) |
|
template<class T > |
void | setUserData (const ref_ptr< T > &ud) |
|
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) |
|
template<typename T > |
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
|
| 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 |
|
Provides OpenGL two sided stencil functionality, also known as separate stencil. It enables to specify different stencil function for front and back facing polygons. Two sided stenciling is used usually to eliminate the need of two rendering passes when using standard stenciling functions. See also
- See also
- osg::Stencil.
Two sided stenciling is available since OpenGL 2.0. It is also supported by EXT_stencil_two_side extension especially on Nvidia cards. Another extension introduced by ATI is ATI_separate_stencil. However, ATI's extension is limited to have reference and mask value the same for both faces. ATI's extension is currently not supported by the current implementation.
osg::StencilTwoSided does nothing if OpenGL 2.0 or EXT_stencil_two_side are not available.