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

glift::ProgShader Class Reference

#include <progShader.h>

Inheritance diagram for glift::ProgShader:

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

Detailed Description

ProgShader - A wrapper class for a programmable shader.

Final. Not intended to be subclassed

Definition at line 34 of file progShader.h.

Public Member Functions

 ProgShader (int numTexUnits, PixelShader *pixShader, TexCoordPerturb *texCoordPerturb=NULL)
 ProgShader (int numTexUnits, VertexShader *vertShader, TexCoordPerturb *texCoordPerturb=NULL)
 ProgShader (int numTexUnits, PixelShader *pixShader, VertexShader *vertShader, TexCoordPerturb *texCoordPerturb=NULL)
 ProgShader (const ProgShader &rhs)
ProgShaderoperator= (const ProgShader &rhs)
 ~ProgShader ()
void setPixelShader (PixelShader *shader)
void setVertexShader (VertexShader *shader)
MultiTexCoordgenTexCoords (const gutz::arrayw2f &rawTexCoord, const gutz::vec3f &primScale) const
 The 'MultiTexCrdGenerator' interface Generate appropriate texture coordinates, taking into account multiTexturing, texCoordTransforms, and texture contants.

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

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.


Friends

class SmartPtr
class SmartPtrRef


Constructor & Destructor Documentation

ProgShader::ProgShader int  numTexUnits,
PixelShader pixShader,
TexCoordPerturb texCoordPerturb = NULL
 

Definition at line 28 of file progShader.cpp.

ProgShader::ProgShader int  numTexUnits,
VertexShader vertShader,
TexCoordPerturb texCoordPerturb = NULL
 

Definition at line 33 of file progShader.cpp.

ProgShader::ProgShader int  numTexUnits,
PixelShader pixShader,
VertexShader vertShader,
TexCoordPerturb texCoordPerturb = NULL
 

Definition at line 38 of file progShader.cpp.

ProgShader::ProgShader const ProgShader rhs  ) 
 

Definition at line 43 of file progShader.cpp.

ProgShader::~ProgShader  ) 
 

Definition at line 56 of file progShader.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(), bindDef(), glift::ShadedPrim::drawDef(), and VolRenAlgBase::drawTris().

void ProgShader::bindDef  )  [protected, virtual]
 

Redefine these for specific attributes.

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

Implements glift::StateGLI.

Definition at line 92 of file progShader.cpp.

References glift::StateGLI::bind().

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

MultiTexCoord * ProgShader::genTexCoords const gutz::arrayw2f rawTexCoord,
const gutz::vec3f primScale
const [virtual]
 

The 'MultiTexCrdGenerator' interface Generate appropriate texture coordinates, taking into account multiTexturing, texCoordTransforms, and texture contants.

Implements glift::MultiTexCoordGen.

Definition at line 82 of file progShader.cpp.

References glift::TexCoordPerturb::genTexCoords(), and glift::MultiTexCoord.

Referenced by glift::Shader::genTexCoords().

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

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

int glift::ProgShader::numTexUnits  )  [inline]
 

Definition at line 55 of file progShader.h.

ProgShader & ProgShader::operator= const ProgShader rhs  ) 
 

Definition at line 48 of file progShader.cpp.

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

void ProgShader::releaseDef  )  [protected, virtual]
 

Implements glift::StateGLI.

Definition at line 98 of file progShader.cpp.

References glift::StateGLI::release().

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::ProgShader::setPixelShader PixelShader shader  )  [inline]
 

Definition at line 46 of file progShader.h.

void glift::ProgShader::setVertexShader VertexShader shader  )  [inline]
 

Definition at line 47 of file progShader.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.


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