arbeit
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Compound List | File List | Namespace Members | Compound Members | File Members

glift::MultiTex Class Reference

#include <multiTex.h>

Inheritance diagram for glift::MultiTex:

glift::Texture glift::StateGLI glift::GliftObject glift::Compilable gutz::Counted List of all members.

Detailed Description

multiTexture.h: - Container class for multitexturing - Pass in vector of SingleTex ptrs and an optional vector of MultiTexUnitState objects to set the texture unit state for each texUnit.

TODO: 1) Should this be vector of MultiTexUnitState pointers instead of objects?

2) VecMultiTexUState is a HORRIBLE name!!

Definition at line 43 of file multiTex.h.

Public Member Functions

 MultiTex (const VecTexP &vecTex, const VecMultiTexUState &vecTexUnitState=VecMultiTexUState())
 MultiTex (const MultiTex &rhs)
MultiTexoperator= (const MultiTex &rhs)
virtual ~MultiTex ()
virtual int numTexUnits () const
int numTexUnitStates () const
SingleTex *& operator[] (int i)
 Get/Set individual textures.

const SingleTexoperator[] (int i) const
MultiTexUStatetexUnitState (int i)
 Get/Set individual textureUnit states.

const MultiTexUStatetexUnitState (int i) const
void reset (const VecTexP &vecTexP, const VecMultiTexUState &vecTexUnitState=VecMultiTexUState())
 Set all textures and/or texUnitStates.

void reset (const VecMultiTexUState &vecTexUnitState)
std::string getName ()
void setName (std::string name)
void bind ()
void release ()
bool isBound ()
virtual void compile ()
virtual bool hasNonCompilable ()
virtual void setErrStream (std::ostream *os)
 Where do you want gl errors to go? they must go somewhere, so don't set it to zero please.

virtual std::ostream * getErrStream () const
 Where are gl errors going?


Protected Member Functions

virtual void bindDef ()
 Set new TexUnitState.

virtual void releaseDef ()
virtual bool isCompiled () const
void err (const char *where, const char *when=0) const
 error

std::ostream & err () const
 a simpler way, just use the stream! only for always print, this one automatically adds the objects name

void derr (const char *where, const char *when=0) const
 debug error

bool glerr (const char *where, const char *when=0) const
 gl error report only in debug mode, only if there is an error, if so return true

std::ostream & estr () const
 this one just gives you the stream

virtual void _incCount ()
 gutz::Counted interface, increment reference count by one.

virtual void _decCount ()
 gutz::Counted interface, decrement reference count by one.

virtual int _getCount () const
 gutz::Counted interface, get the current reference count.


Protected Attributes

std::string _name

Friends

class SmartPtr
class SmartPtrRef


Constructor & Destructor Documentation

MultiTex::MultiTex const VecTexP vecTex,
const VecMultiTexUState vecTexUnitState = VecMultiTexUState()
 

Definition at line 34 of file multiTex.cpp.

MultiTex::MultiTex const MultiTex rhs  ) 
 

Definition at line 39 of file multiTex.cpp.

References m_texPtr, and m_texUnitState.

MultiTex::~MultiTex  )  [virtual]
 

Definition at line 52 of file multiTex.cpp.


Member Function Documentation

virtual void gutz::Counted::_decCount  )  [inline, protected, virtual, inherited]
 

gutz::Counted interface, decrement reference count by one.

Not generaly used by subclasses, mostly for collaboration with gutz::SmartPtr. Sometimes you need to call this though, see the documentation for gutz::SmartPtr

Definition at line 54 of file smartptr.h.

Referenced by TFImage::clear(), NrroImage::fBlendOverRGBA(), and Nrro::updateMinMax().

virtual int gutz::Counted::_getCount  )  const [inline, protected, virtual, inherited]
 

gutz::Counted interface, get the current reference count.

Not generaly used by subclasses, mostly for collaboration with gutz::SmartPtr.

Definition at line 58 of file smartptr.h.

virtual void gutz::Counted::_incCount  )  [inline, protected, virtual, inherited]
 

gutz::Counted interface, increment reference count by one.

Not generaly used by subclasses, mostly for collaboration with gutz::SmartPtr. Sometimes you need to call this though, see the documentation for gutz::SmartPtr

Definition at line 48 of file smartptr.h.

Referenced by TFImage::clear(), NrroImage::fBlendOverRGBA(), and Nrro::updateMinMax().

void StateGLI::bind  )  [inherited]
 

Definition at line 34 of file stateGLI.cpp.

References glift::StateGLI::bindDef(), glift::DispList::isCompiled(), and glift::DispList::issue().

Referenced by glift::SubTex::bindDef(), glift::CoreTex::bindDef(), glift::Shader::bindDef(), glift::ProgShader::bindDef(), glift::ShadedPrim::drawDef(), and VolRenAlgBase::drawTris().

void MultiTex::bindDef  )  [protected, virtual]
 

Set new TexUnitState.

Implements glift::Texture.

Definition at line 76 of file multiTex.cpp.

References glift::GliftObject::estr(), g_texUnitName, glActiveTexture, and glErr().

void StateGLI::compile  )  [virtual, inherited]
 

Compile new disply lists

Force deletion/construction of new objects in case a display list already exists for this object.

Implements glift::Compilable.

Definition at line 81 of file stateGLI.cpp.

References glift::DispList::compile(), and glift::g_compiling.

Referenced by glift::VertexProgARB::reset(), glift::PixelShaderATI8K::reset(), and glift::FragProgARB::reset().

void glift::GliftObject::derr const char *  where,
const char *  when = 0
const [inline, protected, inherited]
 

debug error

Definition at line 122 of file gliftObject.h.

References glift::GliftObject::m_err.

std::ostream & glift::GliftObject::err  )  const [inline, protected, inherited]
 

a simpler way, just use the stream! only for always print, this one automatically adds the objects name

Definition at line 111 of file gliftObject.h.

References glift::GliftObject::m_err.

Referenced by glift::CoordTrans::apply(), glift::SubTex::bindDef(), glift::PrimGL::bindIndices(), glift::SubdivPlanarQuadS::bindQuads(), glift::PrimGL::bindTexCoords(), glift::CoreTex::checkTexType(), glift::EmptyTex::copyToTex(), glift::CoreTex::CoreTex(), glift::FuncTex::FuncTex(), glift::Shader::genTexCoords(), glift::CoreTex::getDataf(), glift::CoreTex::getDataub(), glift::VertexProgARB::init(), glift::FragProgARB::init(), glift::PriorityTex::PriorityTex(), glift::VertexProgARB::reload(), glift::FragProgARB::reload(), glift::RenderableGLI::render(), glift::RenderPass::renderDef(), glift::EmptyTex::resetTexState(), glift::PixelShaderATI8K::setLocalConstf(), glift::TexCube::setTexData(), glift::EmptyTex::setTexData(), glift::ShadedPrim::ShadedPrim(), glift::TexConst::TexConst(), glift::TexCube::TexCube(), and glift::EmptyTex::tryToBindPbuff().

void glift::GliftObject::err const char *  where,
const char *  when = 0
const [inline, protected, inherited]
 

error

Definition at line 101 of file gliftObject.h.

References glift::GliftObject::m_err.

Referenced by glift::SubPBuff::enable().

std::ostream& glift::GliftObject::estr  )  const [inline, protected, inherited]
 

this one just gives you the stream

Definition at line 84 of file gliftObject.h.

References glift::GliftObject::m_err.

Referenced by glift::CoreTex::bindDef(), glift::Shader::bindDef(), bindDef(), glift::EmptyTex::bindDef(), glift::DispList::compile(), glift::CoreTex::CoreTex(), glift::VertexProgARB::init(), glift::FragProgARB::init(), releaseDef(), and glift::EmptyTex::releaseDef().

virtual std::ostream* glift::GliftObject::getErrStream  )  const [inline, virtual, inherited]
 

Where are gl errors going?

Definition at line 49 of file gliftObject.h.

References glift::GliftObject::m_err.

Referenced by glift::getProgShaderFromFile(), and glift::getProgShaderFromText().

std::string glift::Texture::getName  )  [inline, inherited]
 

Definition at line 39 of file texture.h.

bool GliftObject::glerr const char *  where,
const char *  when = 0
const [protected, inherited]
 

gl error report only in debug mode, only if there is an error, if so return true

Definition at line 31 of file gliftObject.cpp.

References glGetError(), and GLuint.

Referenced by RenderState2D::bindDef(), glift::NormalAttrib< VAT >::disableDef(), glift::IndexAttrib< VAT >::disableDef(), glift::TexCoordAttrib< VAT >::disableDef(), glift::VertAttrib< VAT >::disableDef(), glift::GenDrawAttrib< VAT >::disableDef(), glift::DrawAlgImm::draw(), glift::DrawAlgArr::draw(), glift::ShadedPrim::drawDef(), glift::NormalAttrib< VAT >::enableDef(), glift::IndexAttrib< VAT >::enableDef(), glift::TexCoordAttrib< VAT >::enableDef(), glift::VertAttrib< VAT >::enableDef(), glift::GenDrawAttrib< VAT >::enableDef(), and RenderState2D::releaseDef().

virtual bool glift::StateGLI::hasNonCompilable  )  [inline, virtual, inherited]
 

Definition at line 72 of file stateGLI.h.

bool glift::StateGLI::isBound  )  [inline, inherited]
 

Definition at line 70 of file stateGLI.h.

Referenced by glift::GenPrimGL< VERTA, TEXCA, IDXA, RANGEA >::drawDef(), VolShader::setBlend(), VolRenAlgBase::setGeom(), VolShader::setPixelShader(), VolRenAlgBase::setShader(), VolShader::setVertexShader(), and VolRenAlgBase::setVolytope().

virtual bool glift::StateGLI::isCompiled  )  const [inline, protected, virtual, inherited]
 

Implements glift::Compilable.

Definition at line 81 of file stateGLI.h.

Referenced by glift::VertexProgARB::reset(), glift::PixelShaderATI8K::reset(), and glift::FragProgARB::reset().

virtual int glift::MultiTex::numTexUnits  )  const [inline, virtual]
 

Implements glift::Texture.

Definition at line 53 of file multiTex.h.

int glift::MultiTex::numTexUnitStates  )  const [inline]
 

Definition at line 54 of file multiTex.h.

MultiTex & MultiTex::operator= const MultiTex rhs  ) 
 

Definition at line 44 of file multiTex.cpp.

References m_texPtr, and m_texUnitState.

const SingleTex* glift::MultiTex::operator[] int  i  )  const [inline]
 

Definition at line 58 of file multiTex.h.

SingleTex*& glift::MultiTex::operator[] int  i  )  [inline]
 

Get/Set individual textures.

Definition at line 57 of file multiTex.h.

void StateGLI::release  )  [inherited]
 

Definition at line 57 of file stateGLI.cpp.

References glift::DispList::isCompiled(), glift::DispList::issue(), and glift::StateGLI::releaseDef().

Referenced by glift::ShadedPrim::drawDef(), VolRenAlgBase::drawTris(), glift::CoreTex::getDataub(), glift::SubTex::releaseDef(), glift::CoreTex::releaseDef(), glift::Shader::releaseDef(), and glift::ProgShader::releaseDef().

void MultiTex::releaseDef  )  [protected, virtual]
 

Implements glift::Texture.

Definition at line 100 of file multiTex.cpp.

References glift::GliftObject::estr(), g_texUnitName, glActiveTexture, and glErr().

void MultiTex::reset const VecMultiTexUState vecTexUnitState  ) 
 

Definition at line 133 of file multiTex.cpp.

void MultiTex::reset const VecTexP texture,
const VecMultiTexUState vecTexUnitState = VecMultiTexUState()
 

Set all textures and/or texUnitStates.

Only replace 'm_texUnitState' if 'vecTexUnitState' is non-empty.

Parameters:
vecTexUnitState  Set new texture and optionally new TexUnitState

Definition at line 122 of file multiTex.cpp.

virtual void glift::GliftObject::setErrStream std::ostream *  os  )  [inline, virtual, inherited]
 

Where do you want gl errors to go? they must go somewhere, so don't set it to zero please.

Definition at line 44 of file gliftObject.h.

References glift::GliftObject::m_err.

Referenced by glift::getProgShaderFromFile(), and glift::getProgShaderFromText().

void glift::Texture::setName std::string  name  )  [inline, inherited]
 

Definition at line 40 of file texture.h.

References name.

const MultiTexUState& glift::MultiTex::texUnitState int  i  )  const [inline]
 

Definition at line 62 of file multiTex.h.

MultiTexUState& glift::MultiTex::texUnitState int  i  )  [inline]
 

Get/Set individual textureUnit states.

Definition at line 61 of file multiTex.h.


Friends And Related Function Documentation

friend class SmartPtr [friend, inherited]
 

Definition at line 40 of file smartptr.h.

Referenced by Nrro::NrroIter< T >::NrroIter().

friend class SmartPtrRef [friend, inherited]
 

Definition at line 41 of file smartptr.h.


Member Data Documentation

std::string glift::Texture::_name [protected, inherited]
 

Definition at line 48 of file texture.h.


The documentation for this class was generated from the following files:
Send questions, comments, and bug reports to:
jmk