OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
osgUtil::CubeMapGenerator Class Referenceabstract

#include <CubeMapGenerator.h>

Inheritance diagram for osgUtil::CubeMapGenerator:
Inheritance graph
[legend]
Collaboration diagram for osgUtil::CubeMapGenerator:
Collaboration graph
[legend]

Public Member Functions

 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 threadSafe)
 
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 ~CubeMapGenerator ()
 
CubeMapGeneratoroperator= (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::MutexgetGlobalReferencedMutex ()
 
static void setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting)
 
static bool getThreadSafeReferenceCounting ()
 
static void setDeleteHandler (DeleteHandler *handler)
 
static DeleteHandlergetDeleteHandler ()
 
- 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.

Definition at line 35 of file CubeMapGenerator.h.

Constructor & Destructor Documentation

osgUtil::CubeMapGenerator::CubeMapGenerator ( int  texture_size = 64)
explicit
osgUtil::CubeMapGenerator::CubeMapGenerator ( const CubeMapGenerator copy,
const osg::CopyOp copyop = osg::CopyOp::SHALLOW_COPY 
)
virtual osgUtil::CubeMapGenerator::~CubeMapGenerator ( )
inlineprotectedvirtual

Definition at line 50 of file CubeMapGenerator.h.

Member Function Documentation

virtual osg::Vec4 osgUtil::CubeMapGenerator::compute_color ( const osg::Vec3 R) const
protectedpure 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::HighlightMapGenerator, osgUtil::HalfWayMapGenerator, and osgUtil::ReflectionMapGenerator.

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.

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

Definition at line 71 of file CubeMapGenerator.h.

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

Definition at line 84 of file CubeMapGenerator.h.

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

Definition at line 51 of file CubeMapGenerator.h.

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

Definition at line 97 of file CubeMapGenerator.h.

Here is the call graph for this function:

osg::Vec4 osgUtil::CubeMapGenerator::vector_to_color ( const osg::Vec3 vec)
inlinestaticprotected

Definition at line 110 of file CubeMapGenerator.h.

Here is the call graph for this function:

Here is the caller graph for this function:


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