![]() |
AGX Dynamics 2.40.0.0
|
#include <RenderStateManager.h>
Classes | |
struct | Texture |
Public Types | |
enum | Color { AMBIENT , DIFFUSE , SPECULAR , ALPHA , SHININESS , EMISSIVE } |
Public Member Functions | |
RenderState (const std::string &name) | |
void | addTexture (int unit, osg::Texture *texture, osg::TexMat *tm=nullptr, osg::TexGen *texgen=nullptr) |
void | addUniform (osg::Uniform *uniform) |
void | apply (agxOSG::GeometryNode *node, RenderStateManager::Values value=RenderStateManager::ON) |
void | apply (agxOSG::SimulationObject &obj, RenderStateManager::Values value=RenderStateManager::ON) |
void | apply (osg::Group *node, RenderStateManager::Values value=RenderStateManager::ON) |
void | apply (osg::Node *node, RenderStateManager::Values value=RenderStateManager::ON) |
void | apply (osg::StateSet *stateSet, RenderStateManager::Values value=RenderStateManager::ON) |
osg::Uniform * | findUniform (const std::string &name) |
agx::Vec4f | getColor (Color color) |
std::string | getName () const |
void | setColor (Color color, const agx::Vec4f &col) |
DIFFUSE, AMBIENT, SPECULAR, EMISSIVE, SHININESS, ALPHA. | |
void | setName (const std::string &name) |
void | setShaderState (ShaderState *shaderState) |
![]() | |
Referenced () | |
Default constructor. | |
Referenced (const Referenced &) | |
template<typename T > | |
T * | as () |
Subclass casting. | |
template<typename T > | |
const T * | as () const |
template<typename T > | |
T * | asSafe () |
Safe subclass casting, return nullptr if template type does not match. | |
template<typename T > | |
const T * | asSafe () const |
int | getReferenceCount () const |
template<typename T > | |
bool | is () const |
Subclass test. | |
Referenced & | operator= (const Referenced &) |
Assignment operator. Will increment the number of references to the referenced object. | |
void | reference (void *ptr=nullptr) const |
Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it. | |
void | unreference (void *ptr=nullptr) const |
Decrement the reference count by one, indicating that a pointer to this object is referencing it. | |
void | unreference_nodelete () const |
Decrement the reference count by one, indicating that a pointer to this object is referencing it. | |
Protected Types | |
typedef agx::HashTable< agx::UInt, osg::Vec4f > | ColorHash |
typedef agx::HashTable< int, Texture > | TextureHash |
typedef agx::HashTable< std::string, osg::ref_ptr< osg::Uniform > > | UniformHashTable |
Protected Member Functions | |
virtual | ~RenderState () |
![]() | |
virtual | ~Referenced () |
Destructor. | |
void | allocateObserverVector () const |
void | deleteUsingDeleteHandler () const |
Protected Attributes | |
ColorHash | m_colorHash |
std::string | m_name |
agx::ref_ptr< ShaderState > | m_shaderState |
TextureHash | m_textureHash |
UniformHashTable | m_uniforms |
![]() | |
Mutex | m_mutex |
ObserverContainer | m_observers |
AtomicValue | m_refCount |
Additional Inherited Members | |
![]() | |
template<typename T > | |
static bool | ValidateCast (const Referenced *object) |
![]() | |
static DeleteHandler * | getDeleteHandler () |
static void | setDeleteHandler (DeleteHandler *handler) |
Internal: Set a DeleteHandler to which deletion of all referenced counted objects will be delegated to. | |
Definition at line 101 of file RenderStateManager.h.
|
protected |
Definition at line 152 of file RenderStateManager.h.
|
protected |
Definition at line 149 of file RenderStateManager.h.
|
protected |
Definition at line 155 of file RenderStateManager.h.
Enumerator | |
---|---|
AMBIENT | |
DIFFUSE | |
SPECULAR | |
ALPHA | |
SHININESS | |
EMISSIVE |
Definition at line 105 of file RenderStateManager.h.
|
inline |
Definition at line 114 of file RenderStateManager.h.
|
inlineprotectedvirtual |
Definition at line 139 of file RenderStateManager.h.
|
inline |
Definition at line 118 of file RenderStateManager.h.
void agxOSG::RenderStateManager::RenderState::addUniform | ( | osg::Uniform * | uniform | ) |
void agxOSG::RenderStateManager::RenderState::apply | ( | agxOSG::GeometryNode * | node, |
RenderStateManager::Values | value = RenderStateManager::ON |
||
) |
void agxOSG::RenderStateManager::RenderState::apply | ( | agxOSG::SimulationObject & | obj, |
RenderStateManager::Values | value = RenderStateManager::ON |
||
) |
void agxOSG::RenderStateManager::RenderState::apply | ( | osg::Group * | node, |
RenderStateManager::Values | value = RenderStateManager::ON |
||
) |
void agxOSG::RenderStateManager::RenderState::apply | ( | osg::Node * | node, |
RenderStateManager::Values | value = RenderStateManager::ON |
||
) |
void agxOSG::RenderStateManager::RenderState::apply | ( | osg::StateSet * | stateSet, |
RenderStateManager::Values | value = RenderStateManager::ON |
||
) |
osg::Uniform * agxOSG::RenderStateManager::RenderState::findUniform | ( | const std::string & | name | ) |
|
inline |
Definition at line 135 of file RenderStateManager.h.
References OSG_VEC4F_TO_AGX.
|
inline |
Definition at line 116 of file RenderStateManager.h.
|
inline |
DIFFUSE, AMBIENT, SPECULAR, EMISSIVE, SHININESS, ALPHA.
Definition at line 134 of file RenderStateManager.h.
|
inline |
Definition at line 115 of file RenderStateManager.h.
|
inline |
Definition at line 137 of file RenderStateManager.h.
|
protected |
Definition at line 153 of file RenderStateManager.h.
|
protected |
Definition at line 141 of file RenderStateManager.h.
|
protected |
Definition at line 151 of file RenderStateManager.h.
|
protected |
Definition at line 150 of file RenderStateManager.h.
|
protected |
Definition at line 156 of file RenderStateManager.h.