openscenegraph
osgUtil::HighlightMapGenerator Class Reference

#include <HighlightMapGenerator>

Inheritance diagram for osgUtil::HighlightMapGenerator:
osgUtil::CubeMapGenerator osg::Referenced

Public Member Functions

 HighlightMapGenerator (const osg::Vec3 &light_direction, const osg::Vec4 &light_color, float specular_exponent, int texture_size=64)
 HighlightMapGenerator (const HighlightMapGenerator &copy, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
Public Member Functions inherited from osgUtil::CubeMapGenerator
 CubeMapGenerator (int texture_size=64)
 CubeMapGenerator (const CubeMapGenerator &copy, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
osg::ImagegetImage (osg::TextureCubeMap::Face face)
const osg::ImagegetImage (osg::TextureCubeMap::Face face) const
void generateMap (bool use_osg_system=true)
Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
virtual void setThreadSafeRefUnref (bool)
bool getThreadSafeRefUnref () const
OpenThreads::MutexgetRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSetgetObserverSet () const
ObserverSetgetOrCreateObserverSet () const
void addObserver (Observer *observer) const
void removeObserver (Observer *observer) const

Protected Member Functions

virtual ~HighlightMapGenerator ()
HighlightMapGeneratoroperator= (const HighlightMapGenerator &)
virtual osg::Vec4 compute_color (const osg::Vec3 &R) const
Protected Member Functions inherited from osgUtil::CubeMapGenerator
virtual ~CubeMapGenerator ()
CubeMapGeneratoroperator= (const CubeMapGenerator &)
void set_pixel (int index, int c, int r, const osg::Vec4 &color)
Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
void deleteUsingDeleteHandler () const

Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()
Static Protected Member Functions inherited from osgUtil::CubeMapGenerator
static osg::Vec4 vector_to_color (const osg::Vec3 &vec)
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount

Detailed Description

This cube map generator produces a specular highlight map. The vector-color association is: C = (R dot (-L)) ^ n, where C is the resulting color, R is the reflection vector, L is the light direction and n is the specular exponent.

Constructor & Destructor Documentation

◆ HighlightMapGenerator() [1/2]

osgUtil::HighlightMapGenerator::HighlightMapGenerator ( const osg::Vec3 & light_direction,
const osg::Vec4 & light_color,
float specular_exponent,
int texture_size = 64 )

Referenced by HighlightMapGenerator(), and operator=().

◆ HighlightMapGenerator() [2/2]

osgUtil::HighlightMapGenerator::HighlightMapGenerator ( const HighlightMapGenerator & copy,
const osg::CopyOp & copyop = osg::CopyOp::SHALLOW_COPY )

◆ ~HighlightMapGenerator()

virtual osgUtil::HighlightMapGenerator::~HighlightMapGenerator ( )
inlineprotectedvirtual

Member Function Documentation

◆ compute_color()

osg::Vec4 osgUtil::HighlightMapGenerator::compute_color ( const osg::Vec3 & R) const
inlineprotectedvirtual

Override this method to define how colors are computed. The parameter R is the reflection vector, pointing from the center of the cube. The return value should be the RGBA color associated with that reflection ray.

Implements osgUtil::CubeMapGenerator.

References osg::Vec3f::length(), and osg::Vec4f::w().

◆ operator=()

HighlightMapGenerator & osgUtil::HighlightMapGenerator::operator= ( const HighlightMapGenerator & )
inlineprotected

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