osg::Sampler Class Reference

`#include <Sampler>`

Inheritance diagram for osg::Sampler:

## Public Member Functions

| Sampler ()
| Sampler (const Sampler &text, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
| META_StateAttribute (osg, Sampler, SAMPLER) virtual bool isTextureAttribute() const
void | setWrap (Texture::WrapParameter which, Texture::WrapMode wrap)
Texture::WrapMode | getWrap (Texture::WrapParameter which) const
void | setFilter (Texture::FilterParameter which, Texture::FilterMode filter)
Texture::FilterMode | getFilter (Texture::FilterParameter which) const
void | setShadowCompareFunc (Texture::ShadowCompareFunc func)
Texture::ShadowCompareFunc | getShadowCompareFunc () const
void | setShadowTextureMode (Texture::ShadowTextureMode mode)
Texture::ShadowTextureMode | getShadowTextureMode () const
void | setBorderColor (const Vec4d &color)
const Vec4d & | getBorderColor () const
void | setMaxAnisotropy (float anis)
float | getMaxAnisotropy () const
void | setMinLOD (float anis)
float | getMinLOD () const
void | setMaxLOD (float anis)
float | getMaxLOD () const
void | setLODBias (float anis)
float | getLODBias () const
virtual void | apply (State &state) const
virtual void | compileGLObjects (State &) const
virtual void | releaseGLObjects (State *state=0) const
virtual int | compare (const StateAttribute &sa) const
Public Member Functions inherited from osg::StateAttribute
| StateAttribute ()
| StateAttribute (const StateAttribute &sa, const CopyOp &copyop=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 | getModeUsage (ModeUsage &) 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 | resizeGLObjectBuffers (unsigned int)
Public Member Functions inherited from osg::Object
| Object ()
| Object (bool threadSafeRefUnref)
| Object (const Object &, const CopyOp &copyop=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
Public Member Functions inherited from osg::Referenced
| 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

## Static Public Member Functions

static void | generateSamplerObjects (StateSet &)
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Protected Attributes

Texture::WrapMode | _wrap_s
Texture::WrapMode | _wrap_t
Texture::WrapMode | _wrap_r
Texture::ShadowCompareFunc | _shadow_compare_func
Texture::ShadowTextureMode | _shadow_texture_mode
Vec4d | _borderColor
Texture::FilterMode | _min_filter
Texture::FilterMode | _mag_filter
float | _maxAnisotropy
float | _minlod
float | _maxlod
float | _lodbias
buffered_value< GLuint > | _PCsampler
buffered_value< uint8_t > | _PCdirtyflags
Protected Attributes inherited from osg::StateAttribute
ParentList | _parents
ref_ptr< ShaderComponent > | _shaderComponent
ref_ptr< StateAttributeCallback > | _updateCallback
ref_ptr< StateAttributeCallback > | _eventCallback
Protected Attributes inherited from osg::Object
std::string | _name
DataVariance | _dataVariance
osg::UserDataContainer * | _userDataContainer
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Additional Inherited Members

Public Types inherited from osg::StateAttribute
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
Public Types inherited from osg::Object
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED }
Protected Member Functions inherited from osg::StateAttribute
virtual | ~StateAttribute ()
void | addParent (osg::StateSet *object)
void | removeParent (osg::StateSet *object)
Protected Member Functions inherited from osg::Object
virtual | ~Object ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Detailed Description

OpenGL Sampler OpenGL 3.3 required https://www.khronos.org/registry/OpenGL/extensions/ARB/ARB_sampler_objects.txt State Attribute controllig sampling instead of Texture Sampler is prioritary over Texture sample parameter (don't play with both)

## Constructor & Destructor Documentation

## Sampler() [1/2]

osg::Sampler::Sampler | ( |  | ) |

Referenced by META_StateAttribute(), and Sampler().

## Sampler() [2/2]

osg::Sampler::Sampler | ( | const Sampler & | text,
|  | const CopyOp & | copyop = CopyOp::SHALLOW_COPY )

Copy constructor using CopyOp to manage deep vs shallow copy.

References Sampler(), and osg::CopyOp::SHALLOW_COPY.

## Member Function Documentation

## apply()

virtual void osg::Sampler::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.

## compare()

virtual int osg::Sampler::compare | ( | const StateAttribute & | sa | ) | const

virtual

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

Implements osg::StateAttribute.

References osg::StateAttribute::StateAttribute().

## compileGLObjects()

virtual void osg::Sampler::compileGLObjects | ( | State & |  | ) | const

virtual

Default to nothing to compile - all state is applied immediately.

Reimplemented from osg::StateAttribute.

## generateSamplerObjects()

void osg::Sampler::generateSamplerObjects | ( | StateSet & |  | ) |

static

helper method to generate Sampler from Texture's sampling parameters (except shadow_texture_mode left to NONE)

References osg::StateAttribute::osg::StateSet.

## getBorderColor()

const Vec4d & osg::Sampler::getBorderColor | ( |  | ) | const

inline

Gets the border color.

References _borderColor.

## getFilter()

Texture::FilterMode osg::Sampler::getFilter | ( | Texture::FilterParameter | which | ) | const

Gets the texture filter mode.

## getLODBias()

float osg::Sampler::getLODBias | ( |  | ) | const

inline

Gets the maximum anisotropy value.

References _lodbias.

## getMaxAnisotropy()

float osg::Sampler::getMaxAnisotropy | ( |  | ) | const

inline

Gets the maximum anisotropy value.

References _maxAnisotropy.

## getMaxLOD()

float osg::Sampler::getMaxLOD | ( |  | ) | const

inline

Gets the maximum anisotropy value.

References _maxlod.

## getMinLOD()

float osg::Sampler::getMinLOD | ( |  | ) | const

inline

Gets the maximum anisotropy value.

References _minlod.

## getShadowCompareFunc()

Texture::ShadowCompareFunc osg::Sampler::getShadowCompareFunc | ( |  | ) | const

inline

References _shadow_compare_func.

## getShadowTextureMode()

Texture::ShadowTextureMode osg::Sampler::getShadowTextureMode | ( |  | ) | const

inline

References _shadow_texture_mode.

## getWrap()

Texture::WrapMode osg::Sampler::getWrap | ( | Texture::WrapParameter | which | ) | const

Gets the texture wrap mode.

## META_StateAttribute()

osg::Sampler::META_StateAttribute | ( | osg | ,
|  | Sampler | ,
|  | SAMPLER | ) const

inline

References osg::StateAttribute::isTextureAttribute(), osg::StateAttribute::SAMPLER, and Sampler().

## releaseGLObjects()

virtual void osg::Sampler::releaseGLObjects | ( | State * | state = 0 | ) | const

virtual

release state's SamplerObject

Reimplemented from osg::StateAttribute.

## setBorderColor()

void osg::Sampler::setBorderColor | ( | const Vec4d & | color | ) |

Sets the border color. Only used when wrap mode is CLAMP_TO_BORDER. The border color will be casted to the appropriate type to match the internal pixel format of the texture.

## setFilter()

void osg::Sampler::setFilter | ( | Texture::FilterParameter | which,
|  | Texture::FilterMode | filter )

Sets the texture filter mode.

## setLODBias()

void osg::Sampler::setLODBias | ( | float | anis | ) |

## setMaxAnisotropy()

void osg::Sampler::setMaxAnisotropy | ( | float | anis | ) |

Sets the maximum anisotropy value, default value is 1.0 for no anisotropic filtering. If hardware does not support anisotropic filtering, use normal filtering (equivalent to a max anisotropy value of 1.0. Valid range is 1.0f upwards. The maximum value depends on the graphics system.

## setMaxLOD()

void osg::Sampler::setMaxLOD | ( | float | anis | ) |

## setMinLOD()

void osg::Sampler::setMinLOD | ( | float | anis | ) |

## setShadowCompareFunc()

void osg::Sampler::setShadowCompareFunc | ( | Texture::ShadowCompareFunc | func | ) |

Sets shadow texture comparison function.

## setShadowTextureMode()

void osg::Sampler::setShadowTextureMode | ( | Texture::ShadowTextureMode | mode | ) |

Sets shadow texture mode after comparison.

## setWrap()

void osg::Sampler::setWrap | ( | Texture::WrapParameter | which,
|  | Texture::WrapMode | wrap )

Sets the texture wrap mode.

## Member Data Documentation

## _borderColor

Vec4d osg::Sampler::_borderColor

protected

Referenced by getBorderColor().

## _lodbias

float osg::Sampler::_lodbias

protected

Referenced by getLODBias().

## _mag_filter

Texture::FilterMode osg::Sampler::_mag_filter

protected

## _maxAnisotropy

float osg::Sampler::_maxAnisotropy

protected

Referenced by getMaxAnisotropy().

## _maxlod

float osg::Sampler::_maxlod

protected

Referenced by getMaxLOD().

## _min_filter

Texture::FilterMode osg::Sampler::_min_filter

protected

## _minlod

float osg::Sampler::_minlod

protected

Referenced by getMinLOD().

## _PCdirtyflags

buffered_value<uint8_t> osg::Sampler::_PCdirtyflags

mutable protected

## _PCsampler

buffered_value<GLuint> osg::Sampler::_PCsampler

mutable protected

## _shadow_compare_func

Texture::ShadowCompareFunc osg::Sampler::_shadow_compare_func

protected

Referenced by getShadowCompareFunc().

## _shadow_texture_mode

Texture::ShadowTextureMode osg::Sampler::_shadow_texture_mode

protected

Referenced by getShadowTextureMode().

## _wrap_r

Texture::WrapMode osg::Sampler::_wrap_r

protected

## _wrap_s

Texture::WrapMode osg::Sampler::_wrap_s

protected

## _wrap_t

Texture::WrapMode osg::Sampler::_wrap_t

protected

The documentation for this class was generated from the following file:

- osg/Sampler