OSG
3.4.0
|
#include <SpecularHighlights.h>
Public Member Functions | |
SpecularHighlights () | |
SpecularHighlights (const SpecularHighlights ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
META_Effect (osgFX, SpecularHighlights,"Specular Highlights","This effect applies additive specular highlights at fragment level (instead ""of OpenGL's vertex-level lighting) by using a cube map and reflective texgen. ""A texture matrix is computed to rotate the cube map automatically; this makes ""the specular effect consistent with respect to view direction and light position. ""The user can choose which light should be used to compute the texture matrix.\n""This effect requires the GL_ARB_texture_env_add extension and one of the cube map ""extensions (GL_EXT_texture_cube_map, GL_ARB_texture_cube_map or OpenGL v1.3).","Marco Jez") | |
int | getLightNumber () const |
void | setLightNumber (int n) |
int | getTextureUnit () const |
void | setTextureUnit (int n) |
const osg::Vec4 & | getSpecularColor () const |
void | setSpecularColor (const osg::Vec4 &color) |
float | getSpecularExponent () const |
void | setSpecularExponent (float e) |
![]() | |
Effect () | |
Effect (const Effect ©, const osg::CopyOp ©op=osg::CopyOp::SHALLOW_COPY) | |
virtual bool | isSameKindAs (const osg::Object *obj) const |
virtual const char * | libraryName () const |
virtual const char * | className () const |
virtual const char * | effectName () const =0 |
virtual const char * | effectDescription () const =0 |
virtual const char * | effectAuthor () const =0 |
bool | getEnabled () const |
void | setEnabled (bool v) |
virtual void | setUpDemo () |
int | getNumTechniques () const |
Technique * | getTechnique (int i) |
const Technique * | getTechnique (int i) const |
int | getSelectedTechnique () const |
void | selectTechnique (int i=AUTO_DETECT) |
virtual void | traverse (osg::NodeVisitor &nv) |
void | inherited_traverse (osg::NodeVisitor &nv) |
![]() | |
Group () | |
Group (const Group &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
META_Node (osg, Group) | |
virtual Group * | asGroup () |
virtual const Group * | asGroup () const |
virtual bool | addChild (Node *child) |
virtual bool | insertChild (unsigned int index, Node *child) |
virtual bool | removeChild (Node *child) |
bool | removeChild (unsigned int pos, unsigned int numChildrenToRemove=1) |
virtual bool | removeChildren (unsigned int pos, unsigned int numChildrenToRemove) |
virtual bool | replaceChild (Node *origChild, Node *newChild) |
virtual unsigned int | getNumChildren () const |
virtual bool | setChild (unsigned int i, Node *node) |
Node * | getChild (unsigned int i) |
const Node * | getChild (unsigned int i) const |
bool | containsNode (const Node *node) const |
unsigned int | getChildIndex (const Node *node) const |
virtual void | setThreadSafeRefUnref (bool threadSafe) |
virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
virtual void | releaseGLObjects (osg::State *=0) const |
virtual BoundingSphere | computeBound () const |
![]() | |
Node () | |
Node (const Node &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
virtual Object * | cloneType () const |
virtual Object * | clone (const CopyOp ©op) const |
virtual Node * | asNode () |
virtual const Node * | asNode () const |
virtual Drawable * | asDrawable () |
virtual const Drawable * | asDrawable () const |
virtual Geometry * | asGeometry () |
virtual const Geometry * | asGeometry () const |
virtual Transform * | asTransform () |
virtual const Transform * | asTransform () const |
virtual Camera * | asCamera () |
virtual const Camera * | asCamera () const |
virtual Switch * | asSwitch () |
virtual const Switch * | asSwitch () const |
virtual Geode * | asGeode () |
virtual const Geode * | asGeode () const |
virtual osgTerrain::Terrain * | asTerrain () |
virtual const osgTerrain::Terrain * | asTerrain () const |
virtual void | accept (NodeVisitor &nv) |
virtual void | ascend (NodeVisitor &nv) |
const ParentList & | getParents () const |
ParentList | getParents () |
Group * | getParent (unsigned int i) |
const Group * | getParent (unsigned int i) const |
unsigned int | getNumParents () const |
NodePathList | getParentalNodePaths (osg::Node *haltTraversalAtNode=0) const |
MatrixList | getWorldMatrices (const osg::Node *haltTraversalAtNode=0) const |
void | setUpdateCallback (Callback *nc) |
Callback * | getUpdateCallback () |
const Callback * | getUpdateCallback () const |
void | addUpdateCallback (Callback *nc) |
void | removeUpdateCallback (Callback *nc) |
unsigned int | getNumChildrenRequiringUpdateTraversal () const |
void | setEventCallback (Callback *nc) |
Callback * | getEventCallback () |
const Callback * | getEventCallback () const |
void | addEventCallback (Callback *nc) |
void | removeEventCallback (Callback *nc) |
unsigned int | getNumChildrenRequiringEventTraversal () const |
void | setCullCallback (Callback *nc) |
Callback * | getCullCallback () |
const Callback * | getCullCallback () const |
void | addCullCallback (Callback *nc) |
void | removeCullCallback (Callback *nc) |
void | setCullingActive (bool active) |
bool | getCullingActive () const |
unsigned int | getNumChildrenWithCullingDisabled () const |
bool | isCullingActive () const |
unsigned int | getNumChildrenWithOccluderNodes () const |
bool | containsOccluderNodes () const |
void | setNodeMask (NodeMask nm) |
NodeMask | getNodeMask () const |
void | setStateSet (osg::StateSet *stateset) |
osg::StateSet * | getOrCreateStateSet () |
osg::StateSet * | getStateSet () |
const osg::StateSet * | getStateSet () const |
void | setDescriptions (const DescriptionList &descriptions) |
DescriptionList & | getDescriptions () |
const DescriptionList & | getDescriptions () const |
const std::string & | getDescription (unsigned int i) const |
std::string & | getDescription (unsigned int i) |
unsigned int | getNumDescriptions () const |
void | addDescription (const std::string &desc) |
void | setInitialBound (const osg::BoundingSphere &bsphere) |
const BoundingSphere & | getInitialBound () const |
void | dirtyBound () |
const BoundingSphere & | getBound () const |
void | setComputeBoundingSphereCallback (ComputeBoundingSphereCallback *callback) |
ComputeBoundingSphereCallback * | getComputeBoundingSphereCallback () |
const ComputeBoundingSphereCallback * | getComputeBoundingSphereCallback () const |
![]() | |
Object () | |
Object (bool threadSafeRefUnref) | |
Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
std::string | getCompoundClassName () const |
virtual NodeVisitor * | asNodeVisitor () |
virtual const NodeVisitor * | asNodeVisitor () const |
virtual StateAttribute * | asStateAttribute () |
virtual const StateAttribute * | asStateAttribute () const |
virtual Uniform * | asUniform () |
virtual const Uniform * | asUniform () const |
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) |
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 |
Protected Member Functions | |
virtual | ~SpecularHighlights () |
SpecularHighlights & | operator= (const SpecularHighlights &) |
bool | define_techniques () |
![]() | |
virtual | ~Effect () |
Effect & | operator= (const Effect &) |
void | dirtyTechniques () |
void | addTechnique (Technique *tech) |
![]() | |
virtual | ~Group () |
virtual void | childRemoved (unsigned int, unsigned int) |
virtual void | childInserted (unsigned int) |
![]() | |
virtual | ~Node () |
void | addParent (osg::Group *parent) |
void | removeParent (osg::Group *parent) |
void | setNumChildrenRequiringUpdateTraversal (unsigned int num) |
void | setNumChildrenRequiringEventTraversal (unsigned int num) |
void | setNumChildrenWithCullingDisabled (unsigned int num) |
void | setNumChildrenWithOccluderNodes (unsigned int num) |
![]() | |
virtual | ~Object () |
![]() | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
This effect applies additive specular highlights at fragment level (instead of OpenGL's vertex-level lighting) by using a cube map and reflective texgen. A texture matrix is computed to rotate the cube map automatically; this makes the specular effect consistent with respect to view direction and light position. The user can choose which light should be used to compute the texture matrix. This effect requires the GL_ARB_texture_env_add extension and one of the cube map extensions (GL_EXT_texture_cube_map, GL_ARB_texture_cube_map or OpenGL v1.3).
Definition at line 33 of file SpecularHighlights.h.
osgFX::SpecularHighlights::SpecularHighlights | ( | ) |
osgFX::SpecularHighlights::SpecularHighlights | ( | const SpecularHighlights & | copy, |
const osg::CopyOp & | copyop = osg::CopyOp::SHALLOW_COPY |
||
) |
|
inlineprotectedvirtual |
Definition at line 78 of file SpecularHighlights.h.
|
protectedvirtual |
abstract method to be implemented in derived classes; its purpose if to create the techniques that can be used for obtaining the desired effect. You will usually call addTechnique() inside this method.
Implements osgFX::Effect.
|
inline |
get the OpenGL light number
Definition at line 92 of file SpecularHighlights.h.
|
inline |
get the specular color
Definition at line 114 of file SpecularHighlights.h.
|
inline |
get the specular exponent
Definition at line 125 of file SpecularHighlights.h.
|
inline |
get the texture unit number
Definition at line 103 of file SpecularHighlights.h.
osgFX::SpecularHighlights::META_Effect | ( | osgFX | , |
SpecularHighlights | , | ||
"Specular Highlights" | , | ||
"This effect applies additive specular highlights at fragment level (instead ""of OpenGL's vertex-level lighting) by using a cube map and reflective texgen. ""A texture matrix is computed to rotate the cube map automatically; this makes ""the specular effect consistent with respect to view direction and light position. ""The user can choose which light should be used to compute the texture matrix.\n""This effect requires the GL_ARB_texture_env_add extension and one of the cube map ""extensions (GL_EXT_texture_cube_map, GL_ARB_texture_cube_map or OpenGL v1.3)." | , | ||
"Marco Jez" | |||
) |
|
inlineprotected |
Definition at line 79 of file SpecularHighlights.h.
|
inline |
set the OpenGL light number that will be used in lighting computations
Definition at line 97 of file SpecularHighlights.h.
|
inline |
set the specular color
Definition at line 119 of file SpecularHighlights.h.
|
inline |
set the specular exponent
Definition at line 130 of file SpecularHighlights.h.
|
inline |
set the texture unit that will be used to apply the cube map
Definition at line 108 of file SpecularHighlights.h.