osgUtil::CubeMapGenerator Class Referenceabstract

`#include <CubeMapGenerator>`

Inheritance diagram for osgUtil::CubeMapGenerator:

## Public Member Functions

| CubeMapGenerator (int texture_size=64)
| CubeMapGenerator (const CubeMapGenerator &copy, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
osg::Image * | getImage (osg::TextureCubeMap::Face face)
const osg::Image * | getImage (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 &)
Referenced & | operator= (const Referenced &)
virtual void | setThreadSafeRefUnref (bool)
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 | ~CubeMapGenerator ()
CubeMapGenerator & | operator= (const CubeMapGenerator &)
void | set_pixel (int index, int c, int r, const osg::Vec4 &color)
virtual osg::Vec4 | compute_color (const osg::Vec3 &R) const =0
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Static Protected Member Functions

static osg::Vec4 | vector_to_color (const osg::Vec3 &vec)

## Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Detailed Description

This is the base class for cube map generators. It exposes the necessary interface to access the six generated images; descendants should only override the compute_color() method.

## Constructor & Destructor Documentation

## CubeMapGenerator() [1/2]

osgUtil::CubeMapGenerator::CubeMapGenerator | ( | int | texture_size = 64 | ) |

explicit

Referenced by CubeMapGenerator(), operator=(), osgUtil::ReflectionMapGenerator::ReflectionMapGenerator(), and osgUtil::ReflectionMapGenerator::ReflectionMapGenerator().

## CubeMapGenerator() [2/2]

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

References CubeMapGenerator(), getImage(), and osg::CopyOp::SHALLOW_COPY.

## ~CubeMapGenerator()

virtual osgUtil::CubeMapGenerator::~CubeMapGenerator | ( |  | ) |

inline protected virtual

## Member Function Documentation

## compute_color()

virtual osg::Vec4 osgUtil::CubeMapGenerator::compute_color | ( | const osg::Vec3 & | R | ) | const

protected pure virtual

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.

Implemented in osgUtil::HalfWayMapGenerator, osgUtil::HighlightMapGenerator, and osgUtil::ReflectionMapGenerator.

## generateMap()

void osgUtil::CubeMapGenerator::generateMap | ( | bool | use_osg_system = true | ) |

Generate the six cube images. If use_osg_system is true, then the OSG's coordinate system is used instead of the default OpenGL one.

## getImage() [1/2]

osg::Image * osgUtil::CubeMapGenerator::getImage | ( | osg::TextureCubeMap::Face | face | ) |

inline

References osg::TextureCubeMap::NEGATIVE_X, osg::TextureCubeMap::NEGATIVE_Y, osg::TextureCubeMap::NEGATIVE_Z, osg::TextureCubeMap::POSITIVE_X, osg::TextureCubeMap::POSITIVE_Y, and osg::TextureCubeMap::POSITIVE_Z.

Referenced by CubeMapGenerator().

## getImage() [2/2]

const osg::Image * osgUtil::CubeMapGenerator::getImage | ( | osg::TextureCubeMap::Face | face | ) | const

inline

References osg::TextureCubeMap::NEGATIVE_X, osg::TextureCubeMap::NEGATIVE_Y, osg::TextureCubeMap::NEGATIVE_Z, osg::TextureCubeMap::POSITIVE_X, osg::TextureCubeMap::POSITIVE_Y, and osg::TextureCubeMap::POSITIVE_Z.

## operator=()

CubeMapGenerator & osgUtil::CubeMapGenerator::operator= | ( | const CubeMapGenerator & |  | ) |

inline protected

References CubeMapGenerator().

## set_pixel()

void osgUtil::CubeMapGenerator::set_pixel | ( | int | index,
|  | int | c,
|  | int | r,
|  | const osg::Vec4 & | color )

inline protected

References osg::clampBetween(), osg::Image::data(), osg::notify(), osg::Vec4f::w(), osg::WARN, osg::Vec4f::x(), osg::Vec4f::y(), and osg::Vec4f::z().

## vector_to_color()

osg::Vec4 osgUtil::CubeMapGenerator::vector_to_color | ( | const osg::Vec3 & | vec | ) |

inline static protected

References osg::Vec3f::length(), osg::Vec3f::x(), osg::Vec3f::y(), and osg::Vec3f::z().

Referenced by osgUtil::HalfWayMapGenerator::compute_color(), and osgUtil::ReflectionMapGenerator::compute_color().

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

- CubeMapGenerator