OpenGL::Flat3dTextureOperation Class Reference

#include <Flat3dTextureOperation.h>

Inheritance diagram for OpenGL::Flat3dTextureOperation:

OpenGL::CgOperation List of all members.

Public Types

enum  OperationType { , INTERIOR_2D, INTERIOR_FULL }

Public Member Functions

 Flat3dTextureOperation (unsigned int tileWidth, unsigned int tileHeight, unsigned int layoutWidth, unsigned int layoutHeight, unsigned int numTiles, CgProgram *interior, CgProgram *boundary, OperationType operationType, bool normalizedTexCoords=false)
 Flat3dTextureOperation (unsigned int tileWidth, unsigned int tileHeight, unsigned int layoutWidth, unsigned int layoutHeight, unsigned int numTiles, CgProgram *interior, OperationType operationType, bool normalizedTexCoords=false)

Private Member Functions

void executeInteriorProgram ()
void executeBoundaryProgram ()

Detailed Description

Flat3dTextureOperation is a specialization of CgOperation for performing operations on flat 3D textures (Flat3dTextureSet). For interior programs it draws several quads, one for each slice, in order to compute the interior CgProgram. For boundary fragments, it draws frames surrounding each quad to compute the boundary CgProgram. In addition, for 3D volume domains the front and back quads are also computed using the boundary CgProgram.


Member Enumeration Documentation

enum OpenGL::Flat3dTextureOperation::OperationType
 

Operation types

Enumerator:
INTERIOR_2D  does not perform interior operation on boundary tiles or boundary frames.
INTERIOR_FULL  performs interior operation on all tiles, including boundary frames.


Constructor & Destructor Documentation

OpenGL::Flat3dTextureOperation::Flat3dTextureOperation unsigned int  tileWidth,
unsigned int  tileHeight,
unsigned int  layoutWidth,
unsigned int  layoutHeight,
unsigned int  numTiles,
CgProgram interior,
CgProgram boundary,
OperationType  operationType,
bool  normalizedTexCoords = false
 

Creates a Flat3dTextureOperation instance with both interior and boundary CgProgram instances.

Parameters:
tileWidth the width of one tile in the Flat3dTextureSet.
tileHeight the height of one tile in the Flat3dTextureSet.
layoutWidth the number of columns in the tile layout of the Flat3dTextureSet.
layoutHeight the number of rows in the tile layout of the Flat3dTextureSet.
numTiles the total number of tiles in the Flat3dTextureSet.
interior the CgProgram instance used for interior computations.
boundary the CgProgram instance used for boundary computations.
operationType the operation type of the Flat3dTextureOperation instance.
normalizedTexCoords whether normalized texture coordinates is used.

OpenGL::Flat3dTextureOperation::Flat3dTextureOperation unsigned int  tileWidth,
unsigned int  tileHeight,
unsigned int  layoutWidth,
unsigned int  layoutHeight,
unsigned int  numTiles,
CgProgram interior,
OperationType  operationType,
bool  normalizedTexCoords = false
 

Creates a Flat3dTextureOperation instance with only an interior CgProgram instance.

Parameters:
tileWidth the width of one tile in the Flat3dTextureSet.
tileHeight the height of one tile in the Flat3dTextureSet.
layoutWidth the number of columns in the tile layout of the Flat3dTextureSet.
layoutHeight the number of rows in the tile layout of the Flat3dTextureSet.
numTiles the total number of tiles in the Flat3dTextureSet.
interior the CgProgram instance used for interior computations.
operationType the operation type of the Flat3dTextureOperation instance.
normalizedTexCoords whether normalized texture coordinates is used.


Member Function Documentation

void OpenGL::Flat3dTextureOperation::executeBoundaryProgram  )  [private, virtual]
 

Implementation of boundary CgProgram execution, must be supplied by concrete subclasses. Execution is initiated by drawing geometries.

Implements OpenGL::CgOperation.

void OpenGL::Flat3dTextureOperation::executeInteriorProgram  )  [private, virtual]
 

Implementation of interior CgProgram execution, must be supplied by concrete subclasses. Execution is initiated by drawing geometries.

Implements OpenGL::CgOperation.


The documentation for this class was generated from the following files:
Generated on Fri Jun 16 08:42:52 2006 for GPU Thesis by  doxygen 1.4.6-NO