NL3D::CFarVertexBufferInfo Class Reference

#include <landscapevb_info.h>


Detailed Description

Info for the current Far VertexBuffer setuped (iether normal or hard).

Definition at line 42 of file landscapevb_info.h.

Public Member Functions

void setupVertexBuffer (CVertexBuffer &vb, bool forVertexProgram)
void setupVertexBufferHard (IVertexBufferHard &vb, void *vcoord, bool forVertexProgram)

Data Fields

uint32 AlphaInfoOff
void * AlphaInfoPointer
uint32 ColorOff
void * ColorPointer
uint32 DeltaPosOff
void * DeltaPosPointer
uint32 GeomInfoOff
void * GeomInfoPointer
uint32 NumVertices
uint32 TexCoordOff0
uint32 TexCoordOff1
void * TexCoordPointer0
void * TexCoordPointer1
void * VertexCoordPointer
uint32 VertexFormat
uint32 VertexSize

Private Member Functions

void setupNullPointers ()
void setupPointersForVertexProgram ()


Member Function Documentation

void NL3D::CFarVertexBufferInfo::setupNullPointers  )  [private]
 

Definition at line 46 of file landscapevb_info.cpp.

References AlphaInfoPointer, ColorPointer, DeltaPosPointer, GeomInfoPointer, TexCoordPointer0, TexCoordPointer1, and VertexCoordPointer.

Referenced by setupVertexBuffer(), and setupVertexBufferHard().

00047 {
00048         VertexCoordPointer= NULL;
00049         TexCoordPointer0= NULL;
00050         TexCoordPointer1= NULL;
00051         ColorPointer= NULL;
00052         GeomInfoPointer= NULL;
00053         DeltaPosPointer= NULL;
00054         AlphaInfoPointer= NULL;
00055 }

void NL3D::CFarVertexBufferInfo::setupPointersForVertexProgram  )  [private]
 

Definition at line 59 of file landscapevb_info.cpp.

References AlphaInfoOff, AlphaInfoPointer, DeltaPosOff, DeltaPosPointer, GeomInfoOff, GeomInfoPointer, TexCoordOff0, TexCoordOff1, TexCoordPointer0, TexCoordPointer1, uint8, and VertexCoordPointer.

Referenced by setupVertexBuffer(), and setupVertexBufferHard().

00060 {
00061         // see CLandscapeVBAllocator for program definition.
00062         uint8   *vcoord= (uint8*)VertexCoordPointer;
00063 
00064         TexCoordPointer0= vcoord + TexCoordOff0;
00065         TexCoordPointer1= vcoord + TexCoordOff1;
00066         GeomInfoPointer= vcoord + GeomInfoOff;                  
00067         DeltaPosPointer= vcoord + DeltaPosOff;
00068         AlphaInfoPointer= vcoord + AlphaInfoOff;
00069 }

void NL3D::CFarVertexBufferInfo::setupVertexBuffer CVertexBuffer vb,
bool  forVertexProgram
 

Definition at line 73 of file landscapevb_info.cpp.

References AlphaInfoOff, ColorOff, ColorPointer, DeltaPosOff, GeomInfoOff, NL3D::CVertexBuffer::getColorOff(), NL3D::CVertexBuffer::getColorPointer(), NL3D::CVertexBuffer::getNumVertices(), NL3D::CVertexBuffer::getTexCoordOff(), NL3D::CVertexBuffer::getTexCoordPointer(), NL3D::CVertexBuffer::getValueOffEx(), NL3D::CVertexBuffer::getVertexCoordPointer(), NL3D::CVertexBuffer::getVertexFormat(), NL3D::CVertexBuffer::getVertexSize(), NL3D_LANDSCAPE_VPPOS_ALPHAINFO, NL3D_LANDSCAPE_VPPOS_DELTAPOS, NL3D_LANDSCAPE_VPPOS_GEOMINFO, NL3D_LANDSCAPE_VPPOS_TEX0, NL3D_LANDSCAPE_VPPOS_TEX1, setupNullPointers(), setupPointersForVertexProgram(), TexCoordOff0, TexCoordOff1, TexCoordPointer0, TexCoordPointer1, and VertexCoordPointer.

Referenced by NL3D::CLandscapeVBAllocator::lockBuffer().

00074 {
00075         VertexFormat= vb.getVertexFormat();
00076         VertexSize= vb.getVertexSize();
00077         NumVertices= vb.getNumVertices();
00078 
00079         if(NumVertices==0)
00080         {
00081                 setupNullPointers();
00082                 return;
00083         }
00084 
00085         VertexCoordPointer= vb.getVertexCoordPointer();
00086 
00087         if(forVertexProgram)
00088         {
00089                 // With VertexCoordPointer setuped, init for VP.
00090                 TexCoordOff0= vb.getValueOffEx(NL3D_LANDSCAPE_VPPOS_TEX0);                              // v[8]= Tex0.
00091                 TexCoordOff1= vb.getValueOffEx(NL3D_LANDSCAPE_VPPOS_TEX1);                              // v[9]= Tex1.
00092                 GeomInfoOff= vb.getValueOffEx(NL3D_LANDSCAPE_VPPOS_GEOMINFO);                   // v[10]= GeomInfos.
00093                 DeltaPosOff= vb.getValueOffEx(NL3D_LANDSCAPE_VPPOS_DELTAPOS);                   // v[11]= EndPos-StartPos
00094                 // Init Alpha Infos only if enabled (enabled if Value 5 are).
00095                 AlphaInfoOff= 0;
00096                 if( vb.getVertexFormat() & (1<<NL3D_LANDSCAPE_VPPOS_ALPHAINFO) )
00097                         AlphaInfoOff= vb.getValueOffEx(NL3D_LANDSCAPE_VPPOS_ALPHAINFO);         // v[12]= AlphaInfos
00098 
00099                 // update Ptrs.
00100                 setupPointersForVertexProgram();
00101         }
00102         else
00103         {
00104                 TexCoordOff0= vb.getTexCoordOff(0);
00105                 TexCoordOff1= vb.getTexCoordOff(1);
00106                 TexCoordPointer0= vb.getTexCoordPointer(0, 0);
00107                 TexCoordPointer1= vb.getTexCoordPointer(0, 1);
00108 
00109                 // In Far0, we don't have Color component.
00110                 if(VertexFormat & CVertexBuffer::PrimaryColorFlag)
00111                 {
00112                         ColorOff= vb.getColorOff();
00113                         ColorPointer= vb.getColorPointer();
00114                 }
00115                 else
00116                 {
00117                         ColorOff= 0;
00118                         ColorPointer= NULL;
00119                 }
00120         }
00121 
00122 }

void NL3D::CFarVertexBufferInfo::setupVertexBufferHard IVertexBufferHard vb,
void *  vcoord,
bool  forVertexProgram
 

Definition at line 124 of file landscapevb_info.cpp.

References AlphaInfoOff, ColorOff, ColorPointer, DeltaPosOff, GeomInfoOff, NL3D::IVertexBufferHard::getNumVertices(), NL3D::IVertexBufferHard::getValueOff(), NL3D::IVertexBufferHard::getVertexFormat(), NL3D::IVertexBufferHard::getVertexSize(), NL3D_LANDSCAPE_VPPOS_ALPHAINFO, NL3D_LANDSCAPE_VPPOS_DELTAPOS, NL3D_LANDSCAPE_VPPOS_GEOMINFO, NL3D_LANDSCAPE_VPPOS_TEX0, NL3D_LANDSCAPE_VPPOS_TEX1, setupNullPointers(), setupPointersForVertexProgram(), TexCoordOff0, TexCoordOff1, TexCoordPointer0, TexCoordPointer1, uint8, and VertexCoordPointer.

Referenced by NL3D::CLandscapeVBAllocator::lockBuffer().

00125 {
00126         VertexFormat= vb.getVertexFormat();
00127         VertexSize= vb.getVertexSize();
00128         NumVertices= vb.getNumVertices();
00129 
00130         if(NumVertices==0)
00131         {
00132                 setupNullPointers();
00133                 return;
00134         }
00135 
00136         VertexCoordPointer= vcoord;
00137 
00138         if(forVertexProgram)
00139         {
00140                 // With VertexCoordPointer setuped, init for VP.
00141                 TexCoordOff0= vb.getValueOff(NL3D_LANDSCAPE_VPPOS_TEX0);                                // v[8]= Tex0.
00142                 TexCoordOff1= vb.getValueOff(NL3D_LANDSCAPE_VPPOS_TEX1);                                // v[9]= Tex1.
00143                 GeomInfoOff= vb.getValueOff(NL3D_LANDSCAPE_VPPOS_GEOMINFO);                             // v[10]= GeomInfos.
00144                 DeltaPosOff= vb.getValueOff(NL3D_LANDSCAPE_VPPOS_DELTAPOS);                             // v[11]= EndPos-StartPos
00145                 // Init Alpha Infos only if enabled (enabled if Value 5 are).
00146                 AlphaInfoOff= 0;
00147                 if( vb.getVertexFormat() & (1<<NL3D_LANDSCAPE_VPPOS_ALPHAINFO) )
00148                         AlphaInfoOff= vb.getValueOff(NL3D_LANDSCAPE_VPPOS_ALPHAINFO);           // v[12]= AlphaInfos
00149 
00150                 // update Ptrs.
00151                 setupPointersForVertexProgram();
00152         }
00153         else
00154         {
00155                 TexCoordOff0= vb.getValueOff (CVertexBuffer::TexCoord0);
00156                 TexCoordOff1= vb.getValueOff (CVertexBuffer::TexCoord1);
00157                 TexCoordPointer0= (uint8*)vcoord + TexCoordOff0;
00158                 TexCoordPointer1= (uint8*)vcoord + TexCoordOff1;
00159 
00160                 // In Far0, we don't have Color component.
00161                 if(VertexFormat & CVertexBuffer::PrimaryColorFlag)
00162                 {
00163                         ColorOff= vb.getValueOff (CVertexBuffer::PrimaryColor);
00164                         ColorPointer= (uint8*)vcoord + ColorOff;
00165                 }
00166                 else
00167                 {
00168                         ColorOff= 0;
00169                         ColorPointer= NULL;
00170                 }
00171         }
00172 }


Field Documentation

uint32 NL3D::CFarVertexBufferInfo::AlphaInfoOff
 

Definition at line 62 of file landscapevb_info.h.

Referenced by setupPointersForVertexProgram(), setupVertexBuffer(), and setupVertexBufferHard().

void* NL3D::CFarVertexBufferInfo::AlphaInfoPointer
 

Definition at line 59 of file landscapevb_info.h.

Referenced by setupNullPointers(), and setupPointersForVertexProgram().

uint32 NL3D::CFarVertexBufferInfo::ColorOff
 

Definition at line 54 of file landscapevb_info.h.

Referenced by setupVertexBuffer(), and setupVertexBufferHard().

void* NL3D::CFarVertexBufferInfo::ColorPointer
 

Definition at line 51 of file landscapevb_info.h.

Referenced by setupNullPointers(), setupVertexBuffer(), and setupVertexBufferHard().

uint32 NL3D::CFarVertexBufferInfo::DeltaPosOff
 

Definition at line 61 of file landscapevb_info.h.

Referenced by setupPointersForVertexProgram(), setupVertexBuffer(), and setupVertexBufferHard().

void* NL3D::CFarVertexBufferInfo::DeltaPosPointer
 

Definition at line 58 of file landscapevb_info.h.

Referenced by setupNullPointers(), and setupPointersForVertexProgram().

uint32 NL3D::CFarVertexBufferInfo::GeomInfoOff
 

Definition at line 60 of file landscapevb_info.h.

Referenced by setupPointersForVertexProgram(), setupVertexBuffer(), and setupVertexBufferHard().

void* NL3D::CFarVertexBufferInfo::GeomInfoPointer
 

Definition at line 57 of file landscapevb_info.h.

Referenced by setupNullPointers(), and setupPointersForVertexProgram().

uint32 NL3D::CFarVertexBufferInfo::NumVertices
 

Definition at line 47 of file landscapevb_info.h.

uint32 NL3D::CFarVertexBufferInfo::TexCoordOff0
 

Definition at line 52 of file landscapevb_info.h.

Referenced by setupPointersForVertexProgram(), setupVertexBuffer(), and setupVertexBufferHard().

uint32 NL3D::CFarVertexBufferInfo::TexCoordOff1
 

Definition at line 53 of file landscapevb_info.h.

Referenced by setupPointersForVertexProgram(), setupVertexBuffer(), and setupVertexBufferHard().

void* NL3D::CFarVertexBufferInfo::TexCoordPointer0
 

Definition at line 49 of file landscapevb_info.h.

Referenced by setupNullPointers(), setupPointersForVertexProgram(), setupVertexBuffer(), and setupVertexBufferHard().

void* NL3D::CFarVertexBufferInfo::TexCoordPointer1
 

Definition at line 50 of file landscapevb_info.h.

Referenced by setupNullPointers(), setupPointersForVertexProgram(), setupVertexBuffer(), and setupVertexBufferHard().

void* NL3D::CFarVertexBufferInfo::VertexCoordPointer
 

Definition at line 48 of file landscapevb_info.h.

Referenced by setupNullPointers(), setupPointersForVertexProgram(), setupVertexBuffer(), and setupVertexBufferHard().

uint32 NL3D::CFarVertexBufferInfo::VertexFormat
 

Definition at line 45 of file landscapevb_info.h.

uint32 NL3D::CFarVertexBufferInfo::VertexSize
 

Definition at line 46 of file landscapevb_info.h.


The documentation for this class was generated from the following files:
Generated on Tue Mar 16 06:46:30 2004 for NeL by doxygen 1.3.6