openscenegraph
Public Member Functions | Protected Member Functions | List of all members
osgUtil::HalfWayMapGenerator Class Reference

#include <HalfWayMapGenerator>

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

Public Member Functions

 HalfWayMapGenerator (const osg::Vec3 &light_direction, int texture_size=64)
 
 HalfWayMapGenerator (const HalfWayMapGenerator &copy, const osg::CopyOp &copyop)
 
- 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 ~HalfWayMapGenerator ()
 
HalfWayMapGeneratoroperator= (const HalfWayMapGenerator &)
 
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 an Half-way vector map, useful for hardware-based specular lighting effects. It computes: C = normalize(R - L), where C is the resulting color, R is the reflection vector and L is the light direction.

Constructor & Destructor Documentation

◆ HalfWayMapGenerator() [1/2]

osgUtil::HalfWayMapGenerator::HalfWayMapGenerator ( const osg::Vec3 light_direction,
int  texture_size = 64 
)

◆ HalfWayMapGenerator() [2/2]

osgUtil::HalfWayMapGenerator::HalfWayMapGenerator ( const HalfWayMapGenerator copy,
const osg::CopyOp copyop 
)

◆ ~HalfWayMapGenerator()

virtual osgUtil::HalfWayMapGenerator::~HalfWayMapGenerator ( )
inlineprotectedvirtual

Member Function Documentation

◆ compute_color()

osg::Vec4 osgUtil::HalfWayMapGenerator::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.

◆ operator=()

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

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