NL3D::CVertexProgamDrvInfosGL Class Reference

#include <driver_opengl.h>

Inheritance diagram for NL3D::CVertexProgamDrvInfosGL:

NL3D::IVertexProgramDrvInfos NLMISC::CRefCount

Public Member Functions

 CVertexProgamDrvInfosGL (CDriverGL *drv, ItVtxPrgDrvInfoPtrList it)
const sintgetRefCount () const

Data Fields

sint crefs
GLuint ID
CPtrInfo * pinfo
uint16 UsedVertexComponents
GLuint Variants [CDriverGL::EVSNumVariants]

Static Public Attributes

CPtrInfo NullPtrInfo

Friends

struct CPtrInfo

Constructor & Destructor Documentation

NL3D::CVertexProgamDrvInfosGL::CVertexProgamDrvInfosGL CDriverGL drv,
ItVtxPrgDrvInfoPtrList  it
 

Definition at line 45 of file driver_opengl_vertex_program.cpp.

References NL3D::CDriverGL::_Extensions, NL3D::CGlExtensions::EXTVertexShader, NL3D::ItVtxPrgDrvInfoPtrList, nglGenProgramsNV, nglGenVertexShadersEXT, nlassert, and NL3D::CGlExtensions::NVVertexProgram.

00045                                                                                            : IVertexProgramDrvInfos (drv, it) 
00046 {
00047         // Extension must exist
00048         nlassert (drv->_Extensions.NVVertexProgram
00049                       || drv->_Extensions.EXTVertexShader
00050                      );
00051 
00052         if (drv->_Extensions.NVVertexProgram) // nvidia implemntation
00053         {       
00054                 // Generate a program
00055                 nglGenProgramsNV (1, &ID);
00056         }
00057         else
00058         {
00059                 ID = nglGenVertexShadersEXT(1);
00060         }
00061 }


Member Function Documentation

const sint& NLMISC::CRefCount::getRefCount  )  const [inline, inherited]
 

Definition at line 70 of file smart_ptr.h.

References NLMISC::CRefCount::crefs, and sint.

00071         {
00072                 return  crefs;
00073         }


Friends And Related Function Documentation

friend struct CPtrInfo [friend, inherited]
 

Definition at line 67 of file smart_ptr.h.


Field Documentation

sint NLMISC::CRefCount::crefs [mutable, inherited]
 

Definition at line 79 of file smart_ptr.h.

Referenced by NLMISC::CRefCount::CRefCount(), NLMISC::CRefCount::getRefCount(), and NLMISC::CRefCount::~CRefCount().

GLuint NL3D::CVertexProgamDrvInfosGL::ID
 

Definition at line 1091 of file driver_opengl.h.

Referenced by NL3D::CDriverGL::activeEXTVertexShader(), and NL3D::CDriverGL::activeNVVertexProgram().

CRefCount::CPtrInfo NLMISC::CRefCount::NullPtrInfo [static, inherited]
 

Referenced by NLMISC::CRefCount::CRefCount().

CPtrInfo* NLMISC::CRefCount::pinfo [mutable, inherited]
 

Definition at line 80 of file smart_ptr.h.

Referenced by NLMISC::CRefCount::CRefCount(), and NLMISC::CRefCount::~CRefCount().

uint16 NL3D::CVertexProgamDrvInfosGL::UsedVertexComponents
 

EXTVertexShader specific Used input registers. This allow to activate only the gl arrays that are needed by a given shader.

Definition at line 1101 of file driver_opengl.h.

Referenced by NL3D::CDriverGL::setupGlArraysForEXTVertexShader().

GLuint NL3D::CVertexProgamDrvInfosGL::Variants[CDriverGL::EVSNumVariants]
 

EXTVertexShader specific handle of allocated variants

Definition at line 1096 of file driver_opengl.h.

Referenced by NL3D::CDriverGL::setupGlArraysForEXTVertexShader(), and NL3D::CDriverGL::toggleGlArraysForEXTVertexShader().


The documentation for this class was generated from the following files:
Generated on Tue Mar 16 08:25:55 2004 for NeL by doxygen 1.3.6