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

glift::DrawAlgArr Class Reference

#include <drawAlgorithm.h>

Inheritance diagram for glift::DrawAlgArr:

glift::DrawAlgorithm glift::GliftObject List of all members.

Detailed Description

DrawAlgArr - Vertex Array OpenGL drawing algorithm.

NOTE: Assumes that all necessary arrays have been enabled!!!

Definition at line 80 of file drawAlgorithm.h.

Public Member Functions

virtual void draw (GLenum primType, const gutz::arrayw2f &vert, const MultiTexCoord *curTexCoords, const gutz::arrayw2f &norm, const gutz::arrayw2f &color, const gutz::arrayw1ub &edgeFlag, const gutz::arrayw1ui *curIndices)
 WARNING: This assumes that all necessary arrays have been enabled. It sets pointers, but does.

void enable (const gutz::arrayw2f &vert, const MultiTexCoord *curTexCoords, const gutz::arrayw2f &norm, const gutz::arrayw2f &color, const gutz::arrayw1ub &edgeFlag)
void disable (const gutz::arrayw2f &vert, const MultiTexCoord *curTexCoords, const gutz::arrayw2f &norm, const gutz::arrayw2f &color, const gutz::arrayw1ub &edgeFlag)
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

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


Protected Attributes

std::ostream * m_err


Member Function Documentation

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.

void DrawAlgArr::disable const gutz::arrayw2f vert,
const MultiTexCoord curTexCoords,
const gutz::arrayw2f norm,
const gutz::arrayw2f color,
const gutz::arrayw1ub edgeFlag
 

Definition at line 114 of file drawAlgArr.cpp.

References g_texUnitName, GL_COLOR_ARRAY, GL_EDGE_FLAG_ARRAY, GL_NORMAL_ARRAY, GL_TEXTURE_COORD_ARRAY, GL_VERTEX_ARRAY, glClientActiveTexture, glDisableClientState(), t, and uint.

Referenced by draw().

void DrawAlgArr::draw GLenum  primType,
const gutz::arrayw2f vert,
const MultiTexCoord curTexCoords,
const gutz::arrayw2f norm,
const gutz::arrayw2f color,
const gutz::arrayw1ub edgeFlag,
const gutz::arrayw1ui curIndices
[virtual]
 

WARNING: This assumes that all necessary arrays have been enabled. It sets pointers, but does.

Draw it!!

TODO: Can/Should this be glRangeElements? Would have to pass in begin/end of indices

TODO: Should not disable here, but still need to set glActiveTexture to 0.

Enable client state and set pointers TODO: Should only set pointers here. Enable client state in 'init()' and leave enabled

Implements glift::DrawAlgorithm.

Definition at line 38 of file drawAlgArr.cpp.

References gutz::arrayw1ui, disable(), enable(), GL_UNSIGNED_INT, glDrawArrays(), glDrawElements(), glift::GliftObject::glerr(), and indices.

void DrawAlgArr::enable const gutz::arrayw2f vert,
const MultiTexCoord curTexCoords,
const gutz::arrayw2f norm,
const gutz::arrayw2f color,
const gutz::arrayw1ub edgeFlag
 

Setup vertices

Setup texture coords

Setup normals

Setup colors

Setup edgeFlags

Definition at line 71 of file drawAlgArr.cpp.

References g_texUnitName, GL_COLOR_ARRAY, GL_EDGE_FLAG, GL_FLOAT, GL_NORMAL_ARRAY, GL_TEXTURE_COORD_ARRAY, GL_VERTEX_ARRAY, glClientActiveTexture, glColorPointer(), glEdgeFlagPointer(), glEnableClientState(), GLfloat, glNormalPointer(), glTexCoordPointer(), glVertexPointer(), t, and uint.

Referenced by draw().

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


Member Data Documentation

std::ostream* glift::GliftObject::m_err [mutable, protected, inherited]
 

Definition at line 87 of file gliftObject.h.

Referenced by glift::GliftObject::derr(), glift::GliftObject::err(), glift::GliftObject::estr(), glift::GliftObject::getErrStream(), glift::GliftObject::GliftObject(), and glift::GliftObject::setErrStream().


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