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

glift::SingleTex Class Reference

#include <singleTex.h>

Inheritance diagram for glift::SingleTex:

glift::Texture glift::StateGLI glift::GliftObject glift::Compilable gutz::Counted glift::CoreTex glift::SubTex glift::EmptyTex glift::Tex1D glift::Tex2D glift::Tex3D glift::TexCube glift::TexRect List of all members.

Detailed Description

SingleTex - Single texture base class.

SingleTex - Abstract base class for all Single texture classes

Definition at line 48 of file singleTex.h.

Public Member Functions

virtual ~SingleTex ()
virtual int numTexUnits () const
 The 'Texture' interface.

virtual GLenum texType () const=0
 1D, 2D, 3D, CUBE_MAP, ...

virtual GLuint texNum () const=0
 The OpenGL texture number (name).

virtual PBuffGliftpbuff () const=0
 Ptr to the pbuffer.

virtual gutz::vec3i dimen () const=0
 Dimen of the current data.

virtual bool tryToBindPbuff () const=0
 will it try to use a pbuffer

virtual void setTexCoordNum (int texCNum)=0
 set/get the texture coordinate number this texture should use

virtual int getTexCoordNum ()=0
virtual void getDataub (GLenum format, int mipLevel, gutz::arraybub &data)=0
virtual void getDataf (GLenum format, int mipLevel, gutz::arraybf &data)=0
virtual void setTexData (TexData *texData, int mipLevel=0, bool setTexSize=true)=0
 Set Functions Assume no cube map (Cube map subclass handles this).

virtual void setTexState (TexObjState *state)=0
 Add texture object state.

virtual void setTexState (const MultiTexOState &texState)=0
 Bind new texState vector and set the state therein.

virtual void tryToBindPbuff (bool tryToUsePbuff)=0
 Should the pbuffer be bound with the texture?

virtual void copyToTex (int mipLevel, const gutz::vec3i &texOrig, const gutz::vec2i &screenOrig, const gutz::vec2i &copySize)=0
 Call correct copyToTex. "texOrig" will ignore unused components depending on dimension of texture.

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 ()=0
 Redefine these for specific attributes.

virtual void releaseDef ()=0
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

virtual glift::SingleTex::~SingleTex  )  [inline, virtual]
 

Definition at line 53 of file singleTex.h.


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().

virtual void glift::SingleTex::bindDef  )  [protected, pure virtual]
 

Redefine these for specific attributes.

  • All calls def'd inside will be compiled into display list.

Implements glift::Texture.

Implemented in glift::EmptyTex, glift::CoreTex, glift::SubTex, and glift::TexCube.

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().

virtual void glift::SingleTex::copyToTex int  mipLevel,
const gutz::vec3i texOrig,
const gutz::vec2i screenOrig,
const gutz::vec2i copySize
[pure virtual]
 

Call correct copyToTex. "texOrig" will ignore unused components depending on dimension of texture.

Implemented in glift::EmptyTex, glift::SubTex, glift::Tex1D, glift::Tex2D, glift::TexRect, glift::Tex3D, and glift::TexCube.

Referenced by glift::SubTex::copyToTex(), and glift::RenderPass::renderDef().

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.

virtual gutz::vec3i glift::SingleTex::dimen  )  const [pure virtual]
 

Dimen of the current data.

Implemented in glift::EmptyTex, glift::CoreTex, and glift::SubTex.

Referenced by glift::drawSingleTexQuad(), and glift::SubTex::SubTex().

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(), glift::MultiTex::bindDef(), glift::EmptyTex::bindDef(), glift::DispList::compile(), glift::CoreTex::CoreTex(), glift::VertexProgARB::init(), glift::FragProgARB::init(), glift::MultiTex::releaseDef(), and glift::EmptyTex::releaseDef().

virtual void glift::SingleTex::getDataf GLenum  format,
int  mipLevel,
gutz::arraybf data
[pure virtual]
 

Implemented in glift::CoreTex, and glift::SubTex.

Referenced by glift::SubTex::getDataf().

virtual void glift::SingleTex::getDataub GLenum  format,
int  mipLevel,
gutz::arraybub data
[pure virtual]
 

Implemented in glift::CoreTex, and glift::SubTex.

Referenced by glift::SubTex::getDataub().

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.

virtual int glift::SingleTex::getTexCoordNum  )  [pure virtual]
 

Implemented in glift::CoreTex.

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::SingleTex::numTexUnits  )  const [inline, virtual]
 

The 'Texture' interface.

Implements glift::Texture.

Definition at line 56 of file singleTex.h.

virtual PBuffGlift* glift::SingleTex::pbuff  )  const [pure virtual]
 

Ptr to the pbuffer.

Implemented in glift::EmptyTex, glift::CoreTex, and glift::SubTex.

Referenced by glift::SubTex::SubTex().

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().

virtual void glift::SingleTex::releaseDef  )  [protected, pure virtual]
 

Implements glift::Texture.

Implemented in glift::EmptyTex, glift::CoreTex, glift::SubTex, and glift::TexCube.

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.

virtual void glift::SingleTex::setTexCoordNum int  texCNum  )  [pure virtual]
 

set/get the texture coordinate number this texture should use

Implemented in glift::CoreTex.

virtual void glift::SingleTex::setTexData TexData texData,
int  mipLevel = 0,
bool  setTexSize = true
[pure virtual]
 

Set Functions Assume no cube map (Cube map subclass handles this).

Implemented in glift::EmptyTex, glift::CoreTex, and glift::SubTex.

virtual void glift::SingleTex::setTexState const MultiTexOState texState  )  [pure virtual]
 

Bind new texState vector and set the state therein.

Implemented in glift::CoreTex, and glift::SubTex.

virtual void glift::SingleTex::setTexState TexObjState state  )  [pure virtual]
 

Add texture object state.

Implemented in glift::CoreTex, and glift::SubTex.

virtual GLuint glift::SingleTex::texNum  )  const [pure virtual]
 

The OpenGL texture number (name).

Implemented in glift::CoreTex, and glift::SubTex.

virtual GLenum glift::SingleTex::texType  )  const [pure virtual]
 

1D, 2D, 3D, CUBE_MAP, ...

Implemented in glift::CoreTex, and glift::SubTex.

virtual void glift::SingleTex::tryToBindPbuff bool  tryToUsePbuff  )  [pure virtual]
 

Should the pbuffer be bound with the texture?

Implemented in glift::EmptyTex, glift::CoreTex, and glift::SubTex.

virtual bool glift::SingleTex::tryToBindPbuff  )  const [pure virtual]
 

will it try to use a pbuffer

Implemented in glift::EmptyTex, glift::CoreTex, and glift::SubTex.


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 file:
Send questions, comments, and bug reports to:
jmk