vertexstream.h

Go to the documentation of this file.
00001 //=============================================================================
00016 #ifndef __VERTEXSTREAM_H_INCLUDED__
00017 #define __VERTEXSTREAM_H_INCLUDED__
00018 
00019 #include "vector.h"
00020 
00021 // forward declarations
00022 class VertexAttribLocations;
00023 
00024 
00025 //=============================================================================
00026 //  IVertexStream
00027 //=============================================================================
00028 
00033 class IVertexStream
00034 {
00035 public:
00039     static IVertexStream* create( int numVertices );
00040     virtual ~IVertexStream( void ) {} 
00041 
00048     virtual void coumputeTangentVectors( void ) = 0;
00049 
00055     virtual float computeBoundingRadius( void ) = 0;
00056 
00066     virtual void render( int primitiveType, const vec4_t * overrideColor = NULL,
00067                          const VertexAttribLocations * attribs = NULL ) = 0;
00068 
00075     virtual void renderNormals( void ) = 0;
00076 
00082     virtual void renderTangentVectors( void ) = 0;
00083 
00084     // vertex arrays access
00085     virtual vec3_t* v( void ) = 0; 
00086     virtual vec3_t* n( void ) = 0; 
00087     virtual vec2_t* t( void ) = 0; 
00088     virtual vec4_t* c( void ) = 0; 
00089     virtual vec3_t* tan1( void ) = 0; 
00090     virtual vec3_t* tan2( void ) = 0; 
00091 };
00092 
00093 
00094 #endif  // __VERTEXSTREAM_H_INCLUDED__
00095 
00096 

Generated on Sun Mar 2 17:12:31 2008 for Shader Maker by  doxygen 1.5.4