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

glift Namespace Reference


Detailed Description

gliftObject.h the base class for all Glift Objects


Compounds

class  BorderTex
 BorderTex - 'color' sets the texture border color. More...

class  Command
 command.h - A simple "Command" object that allows for 'void name()' member callbacks. More...

class  Command0
 Command0 - Base class. More...

class  Compilable
class  CoordGenTex
 CoordGenTex - Set state for automatic texture coordinate generation - 'coord' is GL_S, GL_T, GL_R, GL_S - 'genMode' is GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, GL_REFLECTION_MAP_ARB, GL_NORMAL_MAP_ARB - 'planeCoeff' contains the coefficients for the plane equation - 'state' is a vector of GenState ptrs to set the state before setting the plane eqn with GL_EYE_LINEAR. More...

class  CoordTrans
 CoordTrans - Encapsulates a 4x4 matrix transform that can be specified as an absolute or relative transform. More...

class  CoreTex
 CoreTex base class. More...

class  DispList
 Final. More...

class  DrawableGLI
 Abstract base class for anything that can be drawn. More...

class  DrawAlgArr
 DrawAlgArr - Vertex Array OpenGL drawing algorithm. More...

class  DrawAlgImm
 DrawAlgImm - Standard OpenGL drawing algorithm. More...

class  DrawAlgorithm
 DrawAlgorithm - Interface for an OpenGL Drawing algorithm. More...

class  DrawAttrib
 drawAttrib.h More...

class  EdgeModeTex
 EdgeModeTex - 'coord' is GL_S, GL_T, GL_R, GL_Q - 'edgeMode' is GL_CLAMP, GL_REPEAT, ... More...

class  EmptyTex
 //////////////////////////////////////////////////////////////////// More...

class  FilterTex
 FilterTex - 'minFilter' is minification filter: GL_NEAREST or GL_LINEAR - 'magFilter' is magnification filter: GL_NEAREST or GL_LINEAR - Note: To use mipmapping, use the 'MipMapTex' class. More...

class  FragProgARB
 FragProgARB.h: interface for the FragProgARB class. More...

class  FuncTex
 FuncTex - 'texFunc' is GL_REPLACE, GL_MODULATE, GL_DECAL - Use the 'blendColor' constructor to use GL_BLEND. More...

class  GenDrawAttrib
 type of this attribute: see gutzAttrib.h More...

class  GenPrimGL
 GenPrimGL, A (very) generic geometry primitive. More...

class  GenState
 A Generic State object Any attribute where it is okay to have more than one of the same attribute in a shader. More...

class  GliftObject
struct  GutzAttrib
class  IndexAttrib
 attribute type for a vertex array More...

class  LineLoopGL
class  LinesGL
class  LineStripGL
class  MemberCommand0
 MemberCommand0 - Base class. More...

class  MipMapTex
 MipMapTex - 'minFilter' is minification filter: GL_NEAREST_MIPMAP_NEAREST, GL_LINEAR_MIPMAP_NEAREST, GL_NEAREST_MIPMAP_LINEAR, GL_LINEAR_MIPMAP_LINEAR - 'magFilter' is magnification filter: GL_NEAREST or GL_LINEAR - 'autoMipGen' enables/diables GL_GENERATE_MIPMAP_SGIS - 'minLevel' is minimum mipmap level - 'maxLevel' is maximum mipmap level - 'minLOD' is minimum mipmap lambda value - 'maxLOD' is maximum mipmap lambda value Note: lambda = lg( rho ) base2 rho = scale factor between texture size and polygon. More...

class  MultiPrim
 MultiPrim: Base Container class for multiple SinglePrim objects. More...

class  MultiTex
 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. More...

class  MultiTexCoordGen
class  MultiTexOState
 MultiTexOState - Class that enforces use of TexObjState ptrs. More...

class  MultiTexUState
 MultiTexUState - Class that enforces use of TexUnitState ptrs. More...

class  NormalAttrib
 attribute type for a vertex array More...

class  PBuffGlift
 PBuffGlift - An adapter class to turn a PBuffer into a StateGLI object - Adds the ability to initialize the render context via a member or non-member callback, 'initCB'. More...

class  PixelShader
 Pixel shader. More...

class  PixelShaderATI8K
 
  • The class constructor takes care of all state except the actual shader (eg.
More...

class  PlanarQuad
 planarQuad.h: interface for the PlanarQuad class. More...

class  PlanarQuadZ
 
  • BaseClass for all quad primitives that are planar and
    and orthogonal to the z-axis.
More...

class  PointsGL
 Wrapper around all the OpenGL 1.2 primitives. More...

class  PolygonGL
class  PrimGL
 PrimGL - GLIFT wrapper for an OpenGL primitive. More...

class  PriorityTex
 PriorityTex - 'priority' is in [0,1] and sets the texture object's priority - 0.0 is lowest, 1.0 is highest priority. More...

class  ProgShader
 ProgShader - A wrapper class for a programmable shader. More...

class  QuadsGL
class  QuadStripGL
class  QuadTexGen
 QuadTexGen: Generate the texture coordinates for a quad. More...

class  RawPrim
class  RenderableGLI
 Renderable: Base class for a render pass. More...

class  RenderPass
 RenderPass.h: interface for the RenderPass class. More...

class  ScaleTexGen2D
 ScaleTexGen2D: Generate the 2D texture coordinates by dividing each vertex position by the dimension coordinate. More...

class  ShadedPrim
 ShadedPrim - The class that binds a shader and primitive together. More...

class  Shader
 Shader.h: interface for the Shader class. More...

class  SinglePrim
class  SingleTex
 SingleTex - Single texture base class. More...

class  StateGLI
 "state.h" implementation file for the Attribute class More...

class  SubdivPlanarQuadM
 SubdivPlanarQuadM.h: interface for the SubdivPlanarQuadM class. More...

class  SubdivPlanarQuadS
 subdivPlanarQuad.h: interface for the SubdivPlanarQuadS class. More...

class  SubPBuff
 SubPBuff - A Wrapper class to make sub-buffers within a larger pbuffer - Sets and restores the viewport specified for this subBuffer - Can also specify a surface (GL_FRONT_LEFT, GL_AUXn, etc). More...

class  SubTex
 SubTex - A sub-region of a larger texture that is treated as its own Glift texture. More...

class  Tex1D
 Tex1D, Tex2D, Tex3D, TexCube - These are the publicly constructed texture objects - 'texState' is vector of TexState pointers that initialize the texture object's state - 'pbuff' is NULL or a pbuffer pointer that is bound with this texture unit - Texture memory is initialized by passing 'setTexData(...)' functions a 'TexData' object - 'copyToTex*D(...)' copies data from the framebuffer to the texture object - See 'SingleTex' header for rest of public interface. More...

class  Tex2D
 Tex2D - 2D Textures. More...

class  Tex3D
 Tex3D - 3D Textures. More...

class  TexConst
 A floating-point constant that is set to a texture coordinate. More...

class  TexCoordAttrib
 attribute type for a vertex array More...

class  TexCoordGen
class  TexCoordPerturb
 TexCoordPerturb: Definition of texture coord transforms and constants that accompany a programmable pixel and vertex shader. More...

class  TexCube
 TexCube - CubeMap Textures. More...

class  TexData
 TexData - Base wrapper class used to set texture data - 'setTexData(...)' calls glTexImage*D(...) - This class stores all information necessary to describe the data to OpenGL. More...

class  TexDataArr1
 Texture Data classes - These are adapter classes between your favorite data
structure and the 'TexData' interface. More...

class  TexDataArr2
 TexDataArr2<T> - TexData for arrayWrap2<T> data - Template parameter is OpenGL-compatible basic type - Use for 2D textures and CubeMaps. More...

class  TexObjState
 TexObjState - Abstract base class for all texture state associated with a texture object. More...

class  TexRect
 TexRect - Rectangular Textures (non-power-of-two). More...

class  TexState
 TexState - Abstract base class for all texture state. More...

class  TexTrans
 TexTrans - Encapsulation of a scale/bias linear transform on raw texture coordinates. More...

class  Texture
 Texture - Base class for any texture class. More...

class  TexUnitState
 TexUnitState - Abstract base class for all texture state associated with a texture unit. More...

class  TriangleFanGL
class  TrianglesGL
class  TriangleStripGL
class  VertAttrib
 attribute type for a vertex array More...

class  VertexProgARB
 VertexProgARB.h: interface for the VertexProgARB class. More...

class  VertexShader
 Vertex shader. More...

class  WinTexGen2D
 WinTexGen2D: Generate the 2D texture coordinates in window coordinates (similar to scaleTexGen2D but no divide). More...

class  WrappedPrim
 FactoryPrimGL - A factory class for PrimGL classes. More...


some handy structs for mapping gutz features to glift types

typedef GutzAttrib< double,
double, 1, GL_DOUBLE > 
DoubleV1A
typedef GutzAttrib< double,
gutz::vec2d, 2, GL_DOUBLE > 
DoubleV2A
typedef GutzAttrib< double,
gutz::vec3d, 3, GL_DOUBLE > 
DoubleV3A
typedef GutzAttrib< double,
gutz::vec4d, 4, GL_DOUBLE > 
DoubleV4A
typedef GutzAttrib< float,
float, 1, GL_FLOAT > 
FloatV1A
typedef GutzAttrib< float,
gutz::vec2f, 2, GL_FLOAT > 
FloatV2A
typedef GutzAttrib< float,
gutz::vec3f, 3, GL_FLOAT > 
FloatV3A
typedef GutzAttrib< float,
gutz::vec4f, 4, GL_FLOAT > 
FloatV4A
typedef GutzAttrib< int, int,
1, GL_INT > 
IntV1A
typedef GutzAttrib< int, gutz::vec2i,
2, GL_INT > 
IntV2A
typedef GutzAttrib< int, gutz::vec3i,
3, GL_INT > 
IntV3A
typedef GutzAttrib< int, gutz::vec4i,
4, GL_INT > 
IntV4A
typedef GutzAttrib< unsigned
int, unsigned int, 1, GL_UNSIGNED_INT > 
UIntV1A
typedef GutzAttrib< unsigned
int, gutz::vec2ui, 2, GL_UNSIGNED_INT > 
UIntV2A
typedef GutzAttrib< unsigned
int, gutz::vec3ui, 3, GL_UNSIGNED_INT > 
UIntV3A
typedef GutzAttrib< unsigned
int, gutz::vec4ui, 4, GL_UNSIGNED_INT > 
UIntV4A
typedef GutzAttrib< short,
short, 1, GL_SHORT > 
ShortV1A
typedef GutzAttrib< short,
gutz::vec2s, 2, GL_SHORT > 
ShortV2A
typedef GutzAttrib< short,
gutz::vec3s, 3, GL_SHORT > 
ShortV3A
typedef GutzAttrib< short,
gutz::vec4s, 4, GL_SHORT > 
ShortV4A
typedef GutzAttrib< unsigned
short, unsigned short,
1, GL_UNSIGNED_SHORT > 
UShortV1A
typedef GutzAttrib< unsigned
short, gutz::vec2us, 2, GL_UNSIGNED_SHORT > 
UShortV2A
typedef GutzAttrib< unsigned
short, gutz::vec3us, 3, GL_UNSIGNED_SHORT > 
UShortV3A
typedef GutzAttrib< unsigned
short, gutz::vec4us, 4, GL_UNSIGNED_SHORT > 
UShortV4A
typedef GutzAttrib< char,
char, 1, GL_BYTE > 
ByteV1A
typedef GutzAttrib< char,
gutz::vec2b, 2, GL_BYTE > 
ByteV2A
typedef GutzAttrib< char,
gutz::vec3b, 3, GL_BYTE > 
ByteV3A
typedef GutzAttrib< char,
gutz::vec4b, 4, GL_BYTE > 
ByteV4A
typedef GutzAttrib< unsigned
char, unsigned char, 1, GL_UNSIGNED_BYTE > 
UByteV1A
typedef GutzAttrib< unsigned
char, gutz::vec2b, 2, GL_UNSIGNED_BYTE > 
UByteV2A
typedef GutzAttrib< unsigned
char, gutz::vec3b, 3, GL_UNSIGNED_BYTE > 
UByteV3A
typedef GutzAttrib< unsigned
char, gutz::vec4b, 4, GL_UNSIGNED_BYTE > 
UByteV4A

Typedefs

typedef VertAttrib< FloatV2AVertAttribV2F
 usefull typedefs, try to use these, no templates! hurray

typedef VertAttrib< FloatV3AVertAttribV3F
typedef VertAttrib< FloatV4AVertAttribV4F
typedef VertAttrib< DoubleV2AVertAttribV2D
typedef VertAttrib< DoubleV3AVertAttribV3D
typedef VertAttrib< DoubleV4AVertAttribV4D
typedef VertAttrib< IntV2AVertAttribV2I
typedef VertAttrib< IntV3AVertAttribV3I
typedef VertAttrib< IntV4AVertAttribV4I
typedef VertAttrib< ShortV2AVertAttribV2S
typedef VertAttrib< ShortV3AVertAttribV3S
typedef VertAttrib< ShortV4AVertAttribV4S
typedef TexCoordAttrib< FloatV1ATexCoordAttribV1F
 usefull typedefs, try to use these, no templates! hurray

typedef TexCoordAttrib< FloatV2ATexCoordAttribV2F
typedef TexCoordAttrib< FloatV3ATexCoordAttribV3F
typedef TexCoordAttrib< FloatV4ATexCoordAttribV4F
typedef TexCoordAttrib< DoubleV1ATexCoordAttribV1D
typedef TexCoordAttrib< DoubleV2ATexCoordAttribV2D
typedef TexCoordAttrib< DoubleV3ATexCoordAttribV3D
typedef TexCoordAttrib< DoubleV4ATexCoordAttribV4D
typedef IndexAttrib< UIntV1AIndexAttribV1UI
typedef IndexAttrib< UIntV2AIndexAttribV2UI
typedef IndexAttrib< UIntV3AIndexAttribV3UI
typedef IndexAttrib< UIntV4AIndexAttribV4UI
typedef IndexAttrib< UShortV1AIndexAttribV1US
typedef IndexAttrib< UShortV2AIndexAttribV2US
typedef IndexAttrib< UShortV3AIndexAttribV3US
typedef IndexAttrib< UShortV4AIndexAttribV4US
typedef IndexAttrib< UByteV1AIndexAttribV1UB
typedef IndexAttrib< UByteV2AIndexAttribV2UB
typedef IndexAttrib< UByteV3AIndexAttribV3UB
typedef IndexAttrib< UByteV4AIndexAttribV4UB
typedef NormalAttrib< FloatV3ANormalAttribV3F
typedef NormalAttrib< DoubleV3ANormalAttribV3D
typedef NormalAttrib< IntV3ANormalAttribV3I
typedef NormalAttrib< ShortV3ANormalAttribV3S
typedef NormalAttrib< ByteV3ANormalAttribV3B
typedef std::vector< SinglePrim * > VecSinglePrimP
 Typedefs.

typedef std::vector< gutz::arrayo1ui * > MultiPrimIndices
typedef std::vector< gutz::vec3fVecvec3f
typedef std::vector< gutz::vec2iVecvec2i
typedef std::vector< DrawableGLI * > VecDrawP
typedef gutz::SmartPtr< FragProgARBFragProgARBSP
typedef std::vector< PBuffGliftVecPbuff
typedef std::vector< PBuffGlift * > VecPbuffP
typedef gutz::SmartPtr< ProgShaderProgShaderSP
typedef gutz::SmartPtr< GenStateGenStateSP
typedef std::vector< GenState * > VecStateP
typedef gutz::SmartPtr< PixelShaderPixelShaderSP
typedef gutz::SmartPtr< VertexShaderVertexShaderSP
typedef std::vector< SubPBuffVecSubPbuff
typedef std::vector< SubPBuff * > VecSubPbuffP
typedef gutz::SmartPtr< VertexProgARBVertexProgARBSP
typedef std::vector< TexConstVecTexConst
typedef std::vector< TexConst * > VecTexConstP
typedef std::vector< VecTexConstVecVecTexConst
typedef std::vector< VecTexConstPVecVecTexConstP
typedef std::vector< gutz::arrayw2fVecarrayw2f
typedef std::vector< gutz::arrayo2fMultiTexCoord
typedef std::vector< MultiTexCoord * > MultiPrimTexCoord
typedef std::vector< bool > VecBool
typedef std::vector< TexCoordPerturbVecTexPerturb
typedef std::vector< TexCoordPerturb * > VecTexPerturbP
typedef std::vector< TexTransVecTexTrans
typedef std::vector< TexTrans * > VecTexTransP
typedef std::vector< VecTexTransVecVecTexTrans
typedef std::vector< VecTexTransPVecVecTexTransP
typedef std::vector< MultiTexOStateVecMultiTexOState
typedef std::vector< MultiTexOState * > VecMultiTexOStateP
typedef std::vector< MultiTexUStateVecMultiTexUState
typedef std::vector< MultiTexUState * > VecMultiTexUStateP
typedef gutz::SmartPtr< SingleTexSingleTexSP
typedef std::vector< SingleTexSPSingleTexSPVec
typedef SingleTexSPVec::iterator SingleTexSPVecIter
typedef std::vector< SingleTex * > VecTexP
typedef VecTexP::iterator VecTexPIter
typedef std::vector< TexDataVecTexData
typedef std::vector< TexData * > VecTexDataP
typedef std::vector< TexStateVecTexState
typedef std::vector< TexState * > VecTexStateP
typedef std::vector< TexObjStateVecTexOState
typedef std::vector< TexObjState * > VecTexOStateP
typedef std::vector< TexUnitStateVecTexUState
typedef std::vector< TexUnitState * > VecTexUStateP
typedef void(* VoidFuncPtr )()
 Typdefs.

typedef std::vector< CoordTransVecCoordTrans
typedef std::vector< CoordTrans * > VecCoordTransP

Enumerations

enum  DrawAlg { GLIFT_DRAW_IMM, GLIFT_DRAW_ARR }
 TODO: Extend this as more algorithm subclasses are defined. More...

enum  GliftShadeLang {
  GSL_UNKNOWN = -1, GSL_ATI8K = 0, GSL_ATI9K = 1, GSL_ARB = 2,
  GSL_NV2X = 3, GSL_NV30 = 4, GSL_LAST = 5
}
enum  GliftArch {
  GA_UNKNOWN = -1, GA_ATI8K = 0, GA_ATI9K = 1, GA_NV2X = 2,
  GA_NV30 = 3, GA_LAST = 4
}

Functions

DrawAlgorithmmakeDrawAlg (DrawAlg type)
 Factory function.

ProgShaderSP getProgShaderFromFile (const char *fileName, std::ostream *es=0)
 get Prog from file

ProgShaderSP getProgShaderFromText (const char *progText, std::ostream *es=0)
 get Prog from text

MultiTexOStateoperator<< (MultiTexOState &rhs, TexObjState *state)
MultiTexOStateoperator<< (MultiTexOState &rhs, const TexObjState *state)
MultiTexUStateoperator<< (MultiTexUState &rhs, TexUnitState *state)
MultiTexUStateoperator<< (MultiTexUState &rhs, const TexUnitState *state)
void drawSubPixels (const gutz::vec2i &dataOrig, const gutz::vec2i &texOrig, const gutz::vec2i &dimen, const gutz::arrayw3ub &data, SingleTex *tex, GLenum drawBuffer=GL_FRONT_LEFT)
 Draw a 2D tile of pixels from 'data' into 'tex' - 'dataOrig' and 'dimen' denote the data tile - 'texOrig' and 'dimen' denote where in the texture the data is written - Number of color channels is determined by 'data.dim(2)' - Data is sent to texture via render-to-texture or by glCopySubTexImage2D(...).

void drawPixels (const gutz::arrayw3ub &data, SingleTex *tex, GLenum drawBuffer=GL_FRONT_LEFT)
 Draw pixels in 'data' into the texture, 'tex'.

void drawPixels (const gutz::arrayw3f &data, SingleTex *tex)
 
  • Draw pixels in 'data' into the texture, 'tex' - Dimensions of pixel rectangle are 'data.dim(1)' x 'data.dim(0)' - Number of color channels is determined by 'data.dim(2)' - Draws to the currenly set surface UNLESS 'tex->pbuff()' is a SubPBuff.


void drawSingleTexQuad (SingleTex *tex, bool drawToPbuff=false)
 Draw a quad to the screen that is of size 'tex->dimen()' Will draw 'tex->pbuff()' if 'drawToPbuff' is true Assumes that render mode is in appropriate state ( glOrtho2D(...)? ).

void drawSingleTexQuad (SingleTex *tex, const gutz::vec2i &dimen, bool drawToPbuff=false)
void drawColoredTile (const gutz::vec2i &origin, const gutz::vec2i &dimen, const gutz::vec2i &fullQuadDim, const gutz::vec3f &color, SingleTex *tex)
 Draw a quad of 'color' to lowerLeft=origin, upperRight=origin + dimen to 'tex' or current context (if pbuff==NULL).

int readDimenNrrd (const char *fileName, gutz::arrayo1i &dimen, bool &isPNM)
 Get header info from 'fileName's header - 'fileName' can be a PGM, PPM, or any Nrrd-compatible file - 'dimen' will hold the size of each dimension of the dataset - 'dimen.size()' is the dimensionality of the dataset - Note 1: Ordering of the dimensions is Glift-like.

int loadPNM (GLenum channels, bool makeScalar, const char *inFileName, gutz::arrayo3ub &data)
 Read the PNM file, 'inFileName', sets 'width' and 'height' based on input file, and returns image in 'rgbaImage' - If file is PGM, all 'channels' have the replicated, scalar value - If file is PPM, up to 'channels' are output.

int loadNrrd3D (GLenum channels, const char *inFileName, gutz::arrayo4ub &data)
 Read the Nrrd file, 'inFileName'.

void writeFBtoPPM (GLenum channels, const gutz::vec2i &origin, const gutz::vec2i &dimen, char *baseFileName, bool sepChannels=false)
 Read framebuffer to CPU memory and write to file.

void writePNM (char *baseFileName, const gutz::arrayw3ub &data, bool sepChannels)
 Write to a pgm or ppm file called 'baseFileName.pgm' or 'baseFileName.ppm' - 'data' has dimens: height, width, numChannels - PGM is written if 'numChannels' == 1, otherwise a PPM is written - If 'numChannels' == 4, the last channel (alpha) is written to a separate pgm.

void writeNrrd3D (const char *baseFileName, const gutz::arrayw4ub &data)
 Write to a nrrd file called 'baseFileName.nrrd' - 'data' has dimens: numSlabs, height, width, numChannels.

gutz::arrayw4ub packScalarToRGB (const gutz::arrayw4ub &data, int maxZ)
 Take a scalar volume and pack into an RGB volume - maxZ is the number of slabs in 'data' to process - maxZ MUST be a multiple of 3!!! - Returned data MUST be deleted to avoid memory leaks :( TODO: This could be fixed with a transfer operation?

gutz::arrayw4ub unpackRGBToScalar (const gutz::arrayw4ub &data, int unpackZ)
 Take an RGB-packed, scalar volume and unpack it into scalar slabs - Returned data MUST be deleted to avoid memory leaks :( TODO: This could be fixed with a transfer operation? - 'unpackZ' is the maxZ value for the unpacked data.

std::string itoa (int i)

Variables

bool g_compiling = false
const SingleTexSPVec SingleTexSPVec_empty
const VecTexP VecTexP_empty
const EdgeModeTexTS_S_CLAMP = new EdgeModeTex(GL_S, GL_CLAMP)
 Global, pre-defined TexState pointers - These are here for conveniently pre-defined states that are common.

const EdgeModeTexTS_T_CLAMP = new EdgeModeTex(GL_T, GL_CLAMP)
const EdgeModeTexTS_R_CLAMP = new EdgeModeTex(GL_R, GL_CLAMP)
const EdgeModeTexTS_S_CLAMP_TO_EDGE = new EdgeModeTex(GL_S, GL_CLAMP_TO_EDGE)
const EdgeModeTexTS_T_CLAMP_TO_EDGE = new EdgeModeTex(GL_T, GL_CLAMP_TO_EDGE)
const EdgeModeTexTS_R_CLAMP_TO_EDGE = new EdgeModeTex(GL_R, GL_CLAMP_TO_EDGE)
const EdgeModeTexTS_S_REPEAT = new EdgeModeTex(GL_S, GL_REPEAT)
const EdgeModeTexTS_T_REPEAT = new EdgeModeTex(GL_T, GL_REPEAT)
const EdgeModeTexTS_R_REPEAT = new EdgeModeTex(GL_R, GL_REPEAT)
const FilterTexTS_NEAREST = new FilterTex( GL_NEAREST, GL_NEAREST )
const FilterTexTS_LINEAR = new FilterTex( GL_LINEAR, GL_LINEAR )
const MipMapTexTS_NEAREST_MIPMAP_NEAREST = new MipMapTex( GL_NEAREST_MIPMAP_NEAREST, GL_NEAREST )
const MipMapTexTS_LINEAR_MIPMAP_NEAREST = new MipMapTex( GL_LINEAR_MIPMAP_NEAREST, GL_LINEAR )
const MipMapTexTS_LINEAR_MIPMAP_LINEAR = new MipMapTex( GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR )
const FuncTexTS_MODULATE = new FuncTex( GL_MODULATE )
const FuncTexTS_REPLACE = new FuncTex( GL_REPLACE )
const FuncTexTS_DECAL = new FuncTex( GL_DECAL )
const GLenum g_texUnitName [NUM_TEX_UNIT_NAMES]
 The OpenGL texture unit names, indexable by texUnitNumber - glim.max_tex_units should be checked for number of texture units available on GPU.


Typedef Documentation

typedef GutzAttrib<char,char, 1,GL_BYTE> glift::ByteV1A
 

Definition at line 78 of file gutzAttrib.h.

typedef GutzAttrib<char,gutz::vec2b,2,GL_BYTE> glift::ByteV2A
 

Definition at line 79 of file gutzAttrib.h.

typedef GutzAttrib<char,gutz::vec3b,3,GL_BYTE> glift::ByteV3A
 

Definition at line 80 of file gutzAttrib.h.

typedef GutzAttrib<char,gutz::vec4b,4,GL_BYTE> glift::ByteV4A
 

Definition at line 81 of file gutzAttrib.h.

typedef GutzAttrib<double,double, 1,GL_DOUBLE> glift::DoubleV1A
 

Definition at line 48 of file gutzAttrib.h.

typedef GutzAttrib<double,gutz::vec2d, 2,GL_DOUBLE> glift::DoubleV2A
 

Definition at line 49 of file gutzAttrib.h.

typedef GutzAttrib<double,gutz::vec3d, 3,GL_DOUBLE> glift::DoubleV3A
 

Definition at line 50 of file gutzAttrib.h.

typedef GutzAttrib<double,gutz::vec4d, 4,GL_DOUBLE> glift::DoubleV4A
 

Definition at line 51 of file gutzAttrib.h.

typedef GutzAttrib<float,float, 1,GL_FLOAT> glift::FloatV1A
 

Definition at line 53 of file gutzAttrib.h.

typedef GutzAttrib<float,gutz::vec2f,2,GL_FLOAT> glift::FloatV2A
 

Definition at line 54 of file gutzAttrib.h.

typedef GutzAttrib<float,gutz::vec3f,3,GL_FLOAT> glift::FloatV3A
 

Definition at line 55 of file gutzAttrib.h.

typedef GutzAttrib<float,gutz::vec4f,4,GL_FLOAT> glift::FloatV4A
 

Definition at line 56 of file gutzAttrib.h.

typedef gutz::SmartPtr<FragProgARB> glift::FragProgARBSP
 

Definition at line 85 of file fragProgARB.h.

typedef gutz::SmartPtr<GenState> glift::GenStateSP
 

Definition at line 101 of file stateGLI.h.

typedef IndexAttrib<UByteV1A> glift::IndexAttribV1UB
 

Definition at line 259 of file drawAttrib.h.

typedef IndexAttrib<UIntV1A> glift::IndexAttribV1UI
 

Definition at line 249 of file drawAttrib.h.

typedef IndexAttrib<UShortV1A> glift::IndexAttribV1US
 

Definition at line 254 of file drawAttrib.h.

typedef IndexAttrib<UByteV2A> glift::IndexAttribV2UB
 

Definition at line 260 of file drawAttrib.h.

typedef IndexAttrib<UIntV2A> glift::IndexAttribV2UI
 

Definition at line 250 of file drawAttrib.h.

typedef IndexAttrib<UShortV2A> glift::IndexAttribV2US
 

Definition at line 255 of file drawAttrib.h.

typedef IndexAttrib<UByteV3A> glift::IndexAttribV3UB
 

Definition at line 261 of file drawAttrib.h.

typedef IndexAttrib<UIntV3A> glift::IndexAttribV3UI
 

Definition at line 251 of file drawAttrib.h.

typedef IndexAttrib<UShortV3A> glift::IndexAttribV3US
 

Definition at line 256 of file drawAttrib.h.

typedef IndexAttrib<UByteV4A> glift::IndexAttribV4UB
 

Definition at line 262 of file drawAttrib.h.

typedef IndexAttrib<UIntV4A> glift::IndexAttribV4UI
 

Definition at line 252 of file drawAttrib.h.

typedef IndexAttrib<UShortV4A> glift::IndexAttribV4US
 

Definition at line 257 of file drawAttrib.h.

typedef GutzAttrib<int,int, 1,GL_INT> glift::IntV1A
 

Definition at line 58 of file gutzAttrib.h.

typedef GutzAttrib<int,gutz::vec2i,2,GL_INT> glift::IntV2A
 

Definition at line 59 of file gutzAttrib.h.

typedef GutzAttrib<int,gutz::vec3i,3,GL_INT> glift::IntV3A
 

Definition at line 60 of file gutzAttrib.h.

typedef GutzAttrib<int,gutz::vec4i,4,GL_INT> glift::IntV4A
 

Definition at line 61 of file gutzAttrib.h.

typedef std::vector<gutz::arrayo1ui*> glift::MultiPrimIndices
 

Definition at line 38 of file rawPrim.h.

typedef std::vector<MultiTexCoord*> glift::MultiPrimTexCoord
 

Definition at line 28 of file texCoordGen/texCoordGen.h.

Referenced by glift::SinglePrim::genTexCoords(), glift::RawPrim::genTexCoords(), and glift::MultiPrim::genTexCoords().

typedef std::vector<gutz::arrayo2f> glift::MultiTexCoord
 

Definition at line 27 of file texCoordGen/texCoordGen.h.

Referenced by glift::TexCoordPerturb::genTexCoords(), glift::Shader::genTexCoords(), glift::SinglePrim::genTexCoords(), glift::RawPrim::genTexCoords(), glift::ProgShader::genTexCoords(), glift::MultiPrim::genTexCoords(), and glift::PrimGL::PrimGL().

typedef NormalAttrib<ByteV3A> glift::NormalAttribV3B
 

Definition at line 291 of file drawAttrib.h.

typedef NormalAttrib<DoubleV3A> glift::NormalAttribV3D
 

Definition at line 288 of file drawAttrib.h.

typedef NormalAttrib<FloatV3A> glift::NormalAttribV3F
 

Definition at line 287 of file drawAttrib.h.

typedef NormalAttrib<IntV3A> glift::NormalAttribV3I
 

Definition at line 289 of file drawAttrib.h.

typedef NormalAttrib<ShortV3A> glift::NormalAttribV3S
 

Definition at line 290 of file drawAttrib.h.

typedef gutz::SmartPtr<PixelShader> glift::PixelShaderSP
 

Definition at line 116 of file stateGLI.h.

Referenced by Crank::getPixelShader().

typedef gutz::SmartPtr<ProgShader> glift::ProgShaderSP
 

Definition at line 73 of file progShader.h.

Referenced by getProgShaderFromFile(), getProgShaderFromText(), and Crank::getShader().

typedef GutzAttrib<short,short,1,GL_SHORT> glift::ShortV1A
 

Definition at line 68 of file gutzAttrib.h.

typedef GutzAttrib<short,gutz::vec2s,2,GL_SHORT> glift::ShortV2A
 

Definition at line 69 of file gutzAttrib.h.

typedef GutzAttrib<short,gutz::vec3s,3,GL_SHORT> glift::ShortV3A
 

Definition at line 70 of file gutzAttrib.h.

typedef GutzAttrib<short,gutz::vec4s,4,GL_SHORT> glift::ShortV4A
 

Definition at line 71 of file gutzAttrib.h.

typedef gutz::SmartPtr<SingleTex> glift::SingleTexSP
 

Definition at line 97 of file singleTex.h.

Referenced by GrinderKeys::getTexture().

typedef std::vector<SingleTexSP> glift::SingleTexSPVec
 

Definition at line 98 of file singleTex.h.

typedef SingleTexSPVec::iterator glift::SingleTexSPVecIter
 

Definition at line 99 of file singleTex.h.

typedef TexCoordAttrib<DoubleV1A> glift::TexCoordAttribV1D
 

Definition at line 221 of file drawAttrib.h.

typedef TexCoordAttrib<FloatV1A> glift::TexCoordAttribV1F
 

usefull typedefs, try to use these, no templates! hurray

Definition at line 216 of file drawAttrib.h.

typedef TexCoordAttrib<DoubleV2A> glift::TexCoordAttribV2D
 

Definition at line 222 of file drawAttrib.h.

typedef TexCoordAttrib<FloatV2A> glift::TexCoordAttribV2F
 

Definition at line 217 of file drawAttrib.h.

typedef TexCoordAttrib<DoubleV3A> glift::TexCoordAttribV3D
 

Definition at line 223 of file drawAttrib.h.

typedef TexCoordAttrib<FloatV3A> glift::TexCoordAttribV3F
 

Definition at line 218 of file drawAttrib.h.

typedef TexCoordAttrib<DoubleV4A> glift::TexCoordAttribV4D
 

Definition at line 224 of file drawAttrib.h.

typedef TexCoordAttrib<FloatV4A> glift::TexCoordAttribV4F
 

Definition at line 219 of file drawAttrib.h.

typedef GutzAttrib<unsigned char,unsigned char, 1,GL_UNSIGNED_BYTE> glift::UByteV1A
 

Definition at line 83 of file gutzAttrib.h.

typedef GutzAttrib<unsigned char,gutz::vec2b, 2,GL_UNSIGNED_BYTE> glift::UByteV2A
 

Definition at line 84 of file gutzAttrib.h.

typedef GutzAttrib<unsigned char,gutz::vec3b, 3,GL_UNSIGNED_BYTE> glift::UByteV3A
 

Definition at line 85 of file gutzAttrib.h.

typedef GutzAttrib<unsigned char,gutz::vec4b, 4,GL_UNSIGNED_BYTE> glift::UByteV4A
 

Definition at line 86 of file gutzAttrib.h.

typedef GutzAttrib<unsigned int,unsigned int,1,GL_UNSIGNED_INT> glift::UIntV1A
 

Definition at line 63 of file gutzAttrib.h.

typedef GutzAttrib<unsigned int,gutz::vec2ui,2,GL_UNSIGNED_INT> glift::UIntV2A
 

Definition at line 64 of file gutzAttrib.h.

typedef GutzAttrib<unsigned int,gutz::vec3ui,3,GL_UNSIGNED_INT> glift::UIntV3A
 

Definition at line 65 of file gutzAttrib.h.

typedef GutzAttrib<unsigned int,gutz::vec4ui,4,GL_UNSIGNED_INT> glift::UIntV4A
 

Definition at line 66 of file gutzAttrib.h.

typedef GutzAttrib<unsigned short,unsigned short,1,GL_UNSIGNED_SHORT> glift::UShortV1A
 

Definition at line 73 of file gutzAttrib.h.

typedef GutzAttrib<unsigned short,gutz::vec2us, 2,GL_UNSIGNED_SHORT> glift::UShortV2A
 

Definition at line 74 of file gutzAttrib.h.

typedef GutzAttrib<unsigned short,gutz::vec3us, 3,GL_UNSIGNED_SHORT> glift::UShortV3A
 

Definition at line 75 of file gutzAttrib.h.

typedef GutzAttrib<unsigned short,gutz::vec4us, 4,GL_UNSIGNED_SHORT> glift::UShortV4A
 

Definition at line 76 of file gutzAttrib.h.

typedef std::vector<gutz::arrayw2f> glift::Vecarrayw2f
 

Definition at line 26 of file texCoordGen/texCoordGen.h.

typedef std::vector<bool> glift::VecBool
 

Definition at line 41 of file texCoordPerturb.h.

typedef std::vector<CoordTrans> glift::VecCoordTrans
 

Definition at line 32 of file coordTrans.h.

typedef std::vector<CoordTrans*> glift::VecCoordTransP
 

Definition at line 33 of file coordTrans.h.

typedef std::vector<DrawableGLI*> glift::VecDrawP
 

Definition at line 36 of file renderPass.h.

Referenced by init(), and glift::RenderPass::RenderPass().

typedef std::vector<MultiTexOState> glift::VecMultiTexOState
 

Definition at line 30 of file multiTexState.h.

typedef std::vector<MultiTexOState*> glift::VecMultiTexOStateP
 

Definition at line 31 of file multiTexState.h.

typedef std::vector<MultiTexUState> glift::VecMultiTexUState
 

Definition at line 32 of file multiTexState.h.

typedef std::vector<MultiTexUState*> glift::VecMultiTexUStateP
 

Definition at line 33 of file multiTexState.h.

typedef std::vector<PBuffGlift> glift::VecPbuff
 

Definition at line 32 of file pbuffGlift.h.

typedef std::vector<PBuffGlift*> glift::VecPbuffP
 

Definition at line 33 of file pbuffGlift.h.

Referenced by glift::TexCube::TexCube().

typedef std::vector<SinglePrim*> glift::VecSinglePrimP
 

Typedefs.

Definition at line 37 of file rawPrim.h.

Referenced by glift::SubdivPlanarQuadM::SubdivPlanarQuadM().

typedef std::vector<GenState*> glift::VecStateP
 

Definition at line 102 of file stateGLI.h.

Referenced by glift::CoordGenTex::CoordGenTex(), and glift::Shader::Shader().

typedef std::vector<SubPBuff> glift::VecSubPbuff
 

Definition at line 15 of file subPBuff.h.

typedef std::vector<SubPBuff*> glift::VecSubPbuffP
 

Definition at line 16 of file subPBuff.h.

typedef std::vector<TexConst> glift::VecTexConst
 

Definition at line 31 of file texConst.h.

typedef std::vector<TexConst*> glift::VecTexConstP
 

Definition at line 32 of file texConst.h.

typedef std::vector<TexData> glift::VecTexData
 

Definition at line 32 of file texData.h.

typedef std::vector<TexData*> glift::VecTexDataP
 

Definition at line 33 of file texData.h.

typedef std::vector<TexObjState> glift::VecTexOState
 

Definition at line 37 of file texState.h.

typedef std::vector<TexObjState*> glift::VecTexOStateP
 

Definition at line 38 of file texState.h.

typedef std::vector<SingleTex*> glift::VecTexP
 

Definition at line 103 of file singleTex.h.

Referenced by init().

typedef std::vector<TexCoordPerturb> glift::VecTexPerturb
 

Definition at line 42 of file texCoordPerturb.h.

typedef std::vector<TexCoordPerturb*> glift::VecTexPerturbP
 

Definition at line 43 of file texCoordPerturb.h.

typedef VecTexP::iterator glift::VecTexPIter
 

Definition at line 104 of file singleTex.h.

typedef std::vector<TexState> glift::VecTexState
 

Definition at line 33 of file texState.h.

typedef std::vector<TexState*> glift::VecTexStateP
 

Definition at line 34 of file texState.h.

typedef std::vector<TexTrans> glift::VecTexTrans
 

Definition at line 31 of file texTrans.h.

Referenced by init(), and glift::TexCoordPerturb::TexCoordPerturb().

typedef std::vector<TexTrans*> glift::VecTexTransP
 

Definition at line 32 of file texTrans.h.

typedef std::vector<TexUnitState> glift::VecTexUState
 

Definition at line 41 of file texState.h.

typedef std::vector<TexUnitState*> glift::VecTexUStateP
 

Definition at line 42 of file texState.h.

typedef std::vector<gutz::vec2i> glift::Vecvec2i
 

Definition at line 35 of file subdivPlanarQuadS.h.

typedef std::vector< gutz::vec3f > glift::Vecvec3f
 

Definition at line 34 of file subdivPlanarQuadS.h.

typedef std::vector<VecTexConst> glift::VecVecTexConst
 

Definition at line 33 of file texConst.h.

typedef std::vector<VecTexConstP> glift::VecVecTexConstP
 

Definition at line 34 of file texConst.h.

typedef std::vector<VecTexTrans> glift::VecVecTexTrans
 

Definition at line 33 of file texTrans.h.

Referenced by glift::TexCoordPerturb::TexCoordPerturb().

typedef std::vector<VecTexTransP> glift::VecVecTexTransP
 

Definition at line 34 of file texTrans.h.

typedef VertAttrib<DoubleV2A> glift::VertAttribV2D
 

Definition at line 174 of file drawAttrib.h.

typedef VertAttrib<FloatV2A> glift::VertAttribV2F
 

usefull typedefs, try to use these, no templates! hurray

Definition at line 170 of file drawAttrib.h.

typedef VertAttrib<IntV2A> glift::VertAttribV2I
 

Definition at line 178 of file drawAttrib.h.

typedef VertAttrib<ShortV2A> glift::VertAttribV2S
 

Definition at line 182 of file drawAttrib.h.

typedef VertAttrib<DoubleV3A> glift::VertAttribV3D
 

Definition at line 175 of file drawAttrib.h.

typedef VertAttrib<FloatV3A> glift::VertAttribV3F
 

Definition at line 171 of file drawAttrib.h.

typedef VertAttrib<IntV3A> glift::VertAttribV3I
 

Definition at line 179 of file drawAttrib.h.

typedef VertAttrib<ShortV3A> glift::VertAttribV3S
 

Definition at line 183 of file drawAttrib.h.

typedef VertAttrib<DoubleV4A> glift::VertAttribV4D
 

Definition at line 176 of file drawAttrib.h.

typedef VertAttrib<FloatV4A> glift::VertAttribV4F
 

Definition at line 172 of file drawAttrib.h.

typedef VertAttrib<IntV4A> glift::VertAttribV4I
 

Definition at line 180 of file drawAttrib.h.

typedef VertAttrib<ShortV4A> glift::VertAttribV4S
 

Definition at line 184 of file drawAttrib.h.

typedef gutz::SmartPtr<VertexProgARB> glift::VertexProgARBSP
 

Definition at line 81 of file vertexProgARB.h.

typedef gutz::SmartPtr<VertexShader> glift::VertexShaderSP
 

Definition at line 127 of file stateGLI.h.

Referenced by Crank::getVertShader().

typedef void(* glift::VoidFuncPtr)()
 

Typdefs.

Definition at line 27 of file command.h.


Enumeration Type Documentation

enum glift::DrawAlg
 

TODO: Extend this as more algorithm subclasses are defined.

Enumeration values:
GLIFT_DRAW_IMM 
GLIFT_DRAW_ARR 

Definition at line 31 of file drawAlgorithm.h.

enum glift::GliftArch
 

Enumeration values:
GA_UNKNOWN 
GA_ATI8K 
GA_ATI9K 
GA_NV2X 
GA_NV30 
GA_LAST 

Definition at line 35 of file gliftDecl.h.

enum glift::GliftShadeLang
 

Enumeration values:
GSL_UNKNOWN 
GSL_ATI8K 
GSL_ATI9K 
GSL_ARB 
GSL_NV2X 
GSL_NV30 
GSL_LAST 

Definition at line 25 of file gliftDecl.h.


Function Documentation

void drawColoredTile const gutz::vec2i origin,
const gutz::vec2i dimen,
const gutz::vec2i fullQuadDim,
const gutz::vec3f color,
SingleTex *  tex
 

Draw a quad of 'color' to lowerLeft=origin, upperRight=origin + dimen to 'tex' or current context (if pbuff==NULL).

void drawPixels const gutz::arrayw3f data,
SingleTex *  tex
 

  • Draw pixels in 'data' into the texture, 'tex' - Dimensions of pixel rectangle are 'data.dim(1)' x 'data.dim(0)' - Number of color channels is determined by 'data.dim(2)' - Draws to the currenly set surface UNLESS 'tex->pbuff()' is a SubPBuff.

If that is the case, the surface defined in the SubPBuff is used instead

WARNINGS: 1) Assumes an orthographic projection is already set up in the pbuffer context 2) Leaves pbuffer context enabled after drawing

void drawPixels const gutz::arrayw3ub data,
SingleTex *  tex,
GLenum  drawBuffer = GL_FRONT_LEFT
 

Draw pixels in 'data' into the texture, 'tex'.

Dimensions of pixel rectangle are 'data.dim(0)' x 'data.dim(1)'

void drawSingleTexQuad SingleTex *  tex,
const gutz::vec2i dimen,
bool  drawToPbuff = false
 

void drawSingleTexQuad SingleTex *  tex,
bool  drawToPbuff = false
 

Draw a quad to the screen that is of size 'tex->dimen()' Will draw 'tex->pbuff()' if 'drawToPbuff' is true Assumes that render mode is in appropriate state ( glOrtho2D(...)? ).

Definition at line 233 of file gliftUtil.cpp.

References glift::SingleTex::dimen(), and drawSingleTexQuad().

void drawSubPixels const gutz::vec2i dataOrig,
const gutz::vec2i texOrig,
const gutz::vec2i dimen,
const gutz::arrayw3ub data,
SingleTex *  tex,
GLenum  drawBuffer = GL_FRONT_LEFT
 

Draw a 2D tile of pixels from 'data' into 'tex' - 'dataOrig' and 'dimen' denote the data tile - 'texOrig' and 'dimen' denote where in the texture the data is written - Number of color channels is determined by 'data.dim(2)' - Data is sent to texture via render-to-texture or by glCopySubTexImage2D(...).

ProgShaderSP glift::getProgShaderFromFile const char *  fileName,
std::ostream *  es
 

get Prog from file

gota handle this better!!!

get first line of shader

an arb fragment program detected

save off old error stream

capture init errors

return the program's default error stream

an arb vertex program

save off old error stream

capture init errors

return the program's default error stream

Definition at line 44 of file progShaderFactory.cpp.

References glift::GliftObject::getErrStream(), glift::VertexProgARB::init(), glift::FragProgARB::init(), ProgShaderSP, glift::GliftObject::setErrStream(), and string.

Referenced by PShaderTxt::loadShaderFromFile().

ProgShaderSP glift::getProgShaderFromText const char *  progText,
std::ostream *  es
 

get Prog from text

an arb fragment program detected

save off old error stream

capture init errors

return the program's default error stream

an arb vertex program

save off old error stream

capture init errors

return the program's default error stream

Definition at line 110 of file progShaderFactory.cpp.

References glift::GliftObject::getErrStream(), glift::VertexProgARB::init(), glift::FragProgARB::init(), ProgShaderSP, glift::GliftObject::setErrStream(), and string.

Referenced by PShaderTxt::loadShaderFromText().

std::string itoa int  i  )  [inline]
 

Definition at line 139 of file gliftUtil.h.

int loadNrrd3D GLenum  channels,
const char *  inFileName,
gutz::arrayo4ub data
 

Read the Nrrd file, 'inFileName'.

  • WARNING: 'inFileName' MUST be a scalar volume or this fcn will return an error and 'dimen' and 'data' will be unaltered. Must also be uchar data.
  • 'channels' is GL_RED, GL_RGB, GL_RGBA, etc and sets how many times the scalar voxel value is copied.
  • 'dimen' contains the size of each dimension of the volume.
  • 'data' contains the scalar volume data. Accessors are: z, y, x, channel

int loadPNM GLenum  channels,
bool  makeScalar,
const char *  inFileName,
gutz::arrayo3ub data
 

Read the PNM file, 'inFileName', sets 'width' and 'height' based on input file, and returns image in 'rgbaImage' - If file is PGM, all 'channels' have the replicated, scalar value - If file is PPM, up to 'channels' are output.

  • If format is RGBA and file is PPM, alpha channel is set to 255
  • If 'makeScalar' is true, PPMs are averaged down to scalar value (replicated as necessary) If false, RGB data is retained and alpha channel is padded with 255 if necessary
  • 'dimen' returns the size of each dimension: x,y,channels
  • Returns nrrd error code (0 is alles klar)

DrawAlgorithm* makeDrawAlg DrawAlg  type  )  [inline]
 

Factory function.

Definition at line 100 of file drawAlgorithm.h.

References GLIFT_DRAW_ARR, GLIFT_DRAW_IMM, and type.

Referenced by glift::PrimGL::PrimGL().

MultiTexUState& operator<< MultiTexUState &  rhs,
const TexUnitState *  state
[inline]
 

Definition at line 118 of file multiTexState.h.

References glift::MultiTexUState::m_state.

MultiTexUState& operator<< MultiTexUState &  rhs,
TexUnitState *  state
[inline]
 

Definition at line 112 of file multiTexState.h.

References glift::MultiTexUState::m_state.

MultiTexOState& operator<< MultiTexOState &  rhs,
const TexObjState *  state
[inline]
 

Definition at line 106 of file multiTexState.h.

References glift::MultiTexOState::m_state.

MultiTexOState& operator<< MultiTexOState &  rhs,
TexObjState *  state
[inline]
 

Definition at line 100 of file multiTexState.h.

References glift::MultiTexOState::m_state.

gutz::arrayw4ub packScalarToRGB const gutz::arrayw4ub data,
int  maxZ
 

Take a scalar volume and pack into an RGB volume - maxZ is the number of slabs in 'data' to process - maxZ MUST be a multiple of 3!!! - Returned data MUST be deleted to avoid memory leaks :( TODO: This could be fixed with a transfer operation?

int readDimenNrrd const char *  fileName,
gutz::arrayo1i dimen,
bool &  isPNM
 

Get header info from 'fileName's header - 'fileName' can be a PGM, PPM, or any Nrrd-compatible file - 'dimen' will hold the size of each dimension of the dataset - 'dimen.size()' is the dimensionality of the dataset - Note 1: Ordering of the dimensions is Glift-like.

  • i.e. slowest index first, fastest index last (opposite of Nrrd convention)
  • Example: y, x, color

Note 2: Scalar data is a dimension of size 1 (counter to Nrrd convention!)

  • Note 3: 'isPNM' is true if file is PGM or PPM

gutz::arrayw4ub unpackRGBToScalar const gutz::arrayw4ub data,
int  unpackZ
 

Take an RGB-packed, scalar volume and unpack it into scalar slabs - Returned data MUST be deleted to avoid memory leaks :( TODO: This could be fixed with a transfer operation? - 'unpackZ' is the maxZ value for the unpacked data.

void writeFBtoPPM GLenum  channels,
const gutz::vec2i origin,
const gutz::vec2i dimen,
char *  baseFileName,
bool  sepChannels = false
 

Read framebuffer to CPU memory and write to file.

void writeNrrd3D const char *  baseFileName,
const gutz::arrayw4ub data
 

Write to a nrrd file called 'baseFileName.nrrd' - 'data' has dimens: numSlabs, height, width, numChannels.

void writePNM char *  baseFileName,
const gutz::arrayw3ub data,
bool  sepChannels
 

Write to a pgm or ppm file called 'baseFileName.pgm' or 'baseFileName.ppm' - 'data' has dimens: height, width, numChannels - PGM is written if 'numChannels' == 1, otherwise a PPM is written - If 'numChannels' == 4, the last channel (alpha) is written to a separate pgm.


Variable Documentation

bool glift::g_compiling = false
 

Definition at line 25 of file compilable.cpp.

Referenced by glift::StateGLI::compile(), and glift::DrawableGLI::compile().

const GLenum glift::g_texUnitName[NUM_TEX_UNIT_NAMES]
 

The OpenGL texture unit names, indexable by texUnitNumber - glim.max_tex_units should be checked for number of texture units available on GPU.

Definition at line 33 of file gliftUtil.h.

const SingleTexSPVec glift::SingleTexSPVec_empty
 

Definition at line 100 of file singleTex.h.

const FuncTex * glift::TS_DECAL = new FuncTex( GL_DECAL )
 

Definition at line 52 of file texState.cpp.

const FilterTex * glift::TS_LINEAR = new FilterTex( GL_LINEAR, GL_LINEAR )
 

Definition at line 44 of file texState.cpp.

Referenced by loadTexture1D(), loadTexture2D(), loadTexture3D(), and setupGrayScaleGradTex().

const MipMapTex * glift::TS_LINEAR_MIPMAP_LINEAR = new MipMapTex( GL_LINEAR_MIPMAP_LINEAR, GL_LINEAR )
 

Definition at line 48 of file texState.cpp.

const MipMapTex * glift::TS_LINEAR_MIPMAP_NEAREST = new MipMapTex( GL_LINEAR_MIPMAP_NEAREST, GL_LINEAR )
 

Definition at line 47 of file texState.cpp.

const FuncTex * glift::TS_MODULATE = new FuncTex( GL_MODULATE )
 

Definition at line 50 of file texState.cpp.

const FilterTex * glift::TS_NEAREST = new FilterTex( GL_NEAREST, GL_NEAREST )
 

Definition at line 43 of file texState.cpp.

Referenced by init(), and setupGrayScaleGradTex().

const MipMapTex * glift::TS_NEAREST_MIPMAP_NEAREST = new MipMapTex( GL_NEAREST_MIPMAP_NEAREST, GL_NEAREST )
 

Definition at line 46 of file texState.cpp.

const EdgeModeTex * glift::TS_R_CLAMP = new EdgeModeTex(GL_R, GL_CLAMP)
 

Definition at line 35 of file texState.cpp.

Referenced by init().

const EdgeModeTex * glift::TS_R_CLAMP_TO_EDGE = new EdgeModeTex(GL_R, GL_CLAMP_TO_EDGE)
 

Definition at line 38 of file texState.cpp.

const EdgeModeTex * glift::TS_R_REPEAT = new EdgeModeTex(GL_R, GL_REPEAT)
 

Definition at line 41 of file texState.cpp.

const FuncTex * glift::TS_REPLACE = new FuncTex( GL_REPLACE )
 

Definition at line 51 of file texState.cpp.

Referenced by setupGrayScaleGradTex().

const EdgeModeTex * glift::TS_S_CLAMP = new EdgeModeTex(GL_S, GL_CLAMP)
 

Global, pre-defined TexState pointers - These are here for conveniently pre-defined states that are common.

Definition at line 33 of file texState.cpp.

const EdgeModeTex * glift::TS_S_CLAMP_TO_EDGE = new EdgeModeTex(GL_S, GL_CLAMP_TO_EDGE)
 

Definition at line 36 of file texState.cpp.

Referenced by loadTexture1D(), loadTexture2D(), and loadTexture3D().

const EdgeModeTex * glift::TS_S_REPEAT = new EdgeModeTex(GL_S, GL_REPEAT)
 

Definition at line 39 of file texState.cpp.

const EdgeModeTex * glift::TS_T_CLAMP = new EdgeModeTex(GL_T, GL_CLAMP)
 

Definition at line 34 of file texState.cpp.

Referenced by setupGrayScaleGradTex().

const EdgeModeTex * glift::TS_T_CLAMP_TO_EDGE = new EdgeModeTex(GL_T, GL_CLAMP_TO_EDGE)
 

Definition at line 37 of file texState.cpp.

Referenced by loadTexture1D(), loadTexture2D(), and loadTexture3D().

const EdgeModeTex * glift::TS_T_REPEAT = new EdgeModeTex(GL_T, GL_REPEAT)
 

Definition at line 40 of file texState.cpp.

const VecTexP glift::VecTexP_empty
 

Definition at line 105 of file singleTex.h.

Referenced by VolRenAlgBase::VolRenAlgBase().


Send questions, comments, and bug reports to:
jmk