#include <shader.h>
Inheritance diagram for glift::Shader:
Definition at line 50 of file shader.h.
Public Member Functions | |
Shader (GenState *genState) | |
Construction/Destruction. | |
Shader (const VecStateP &genAttribs) | |
Shader (Texture *tex, GenState *genState=NULL) | |
Shader (Texture *tex, const VecStateP &genAttribs) | |
Shader (Texture *tex, ProgShader *progShader, GenState *genState=NULL) | |
Shader (Texture *tex, ProgShader *progShader, const VecStateP &genAttribs) | |
Shader (const Shader &rhs) | |
Shader & | operator= (const Shader &rhs) |
virtual | ~Shader () |
virtual MultiTexCoord * | genTexCoords (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 () const |
Accessors. | |
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 |
|
Construction/Destruction.
Definition at line 38 of file shader.cpp. References glift::VecStateP. |
|
Definition at line 43 of file shader.cpp. |
|
Definition at line 48 of file shader.cpp. References glift::VecStateP. |
|
Definition at line 53 of file shader.cpp. |
|
Definition at line 58 of file shader.cpp. References glift::VecStateP. |
|
Definition at line 63 of file shader.cpp. |
|
Definition at line 68 of file shader.cpp. |
|
Definition at line 126 of file shader.cpp. |
|
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(). |
|
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. |
|
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(). |
|
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(), bindDef(), glift::ProgShader::bindDef(), glift::ShadedPrim::drawDef(), and VolRenAlgBase::drawTris(). |
|
Redefine these for specific attributes.
Implements glift::StateGLI. Definition at line 171 of file shader.cpp. References glift::StateGLI::bind(), glift::GliftObject::estr(), and glErr(). |
|
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(). |
|
debug error
Definition at line 122 of file gliftObject.h. References glift::GliftObject::m_err. |
|
|
error
Definition at line 101 of file gliftObject.h. References glift::GliftObject::m_err. Referenced by glift::SubPBuff::enable(). |
|
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(), 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(). |
|
The 'MultiTexCrdGenerator' interface Generate appropriate texture coordinates, taking into account multiTexturing, texCoordTransforms, and texture contants. Perturb the texture coords if subTextures are being used Single Texture Note: m_progShader and m_tex are guaranteed (by the Shader Constructor) to have the same number of texture units. Implements glift::MultiTexCoordGen. Definition at line 131 of file shader.cpp. References glift::SubTex::adjustTexCoord(), glift::GliftObject::err(), glift::ProgShader::genTexCoords(), glift::MultiTexCoord, numTexUnits(), and t. Referenced by glift::SinglePrim::genTexCoords(), and glift::MultiPrim::genTexCoords(). |
|
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(). |
|
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(). |
|
Definition at line 72 of file stateGLI.h. |
|
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(). |
|
Implements glift::Compilable. Definition at line 81 of file stateGLI.h. Referenced by glift::VertexProgARB::reset(), glift::PixelShaderATI8K::reset(), and glift::FragProgARB::reset(). |
|
Accessors.
Definition at line 72 of file shader.h. Referenced by genTexCoords(). |
|
Definition at line 73 of file shader.cpp. |
|
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(), releaseDef(), and glift::ProgShader::releaseDef(). |
|
Implements glift::StateGLI. Definition at line 182 of file shader.cpp. References glift::StateGLI::release(). |
|
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(). |
|
Definition at line 40 of file smartptr.h. Referenced by Nrro::NrroIter< T >::NrroIter(). |
|
Definition at line 41 of file smartptr.h. |