#include <driver_opengl.h>
Definition at line 168 of file driver_opengl.h.
Public Member Functions | |
| void | setupVertexBuffer (CVertexBuffer &vb) |
| void | setupVertexBufferHard (IVertexBufferHardGL &vb) |
Data Fields | |
| uint | ATIValueOffset [CVertexBuffer::NumValue] |
| bool | ATIVBHardMode |
| uint | ATIVertexObjectId |
| uint32 | NumVertices |
| uint32 | NumWeight |
| CVertexBuffer::TType | Type [CVertexBuffer::NumValue] |
| uint8 | UVRouting [CVertexBuffer::MaxStage] |
| void * | ValuePtr [CVertexBuffer::NumValue] |
| uint16 | VertexFormat |
| uint16 | VertexSize |
|
|
Definition at line 1075 of file driver_opengl_vertex.cpp. References ATIVBHardMode, NL3D::CVertexBuffer::getNumVertices(), NL3D::CVertexBuffer::getNumWeight(), NL3D::CVertexBuffer::getUVRouting(), NL3D::CVertexBuffer::getValueEx(), NL3D::CVertexBuffer::getValueType(), NL3D::CVertexBuffer::getVertexFormat(), NL3D::CVertexBuffer::getVertexSize(), NumVertices, NumWeight, sint, Type, uint, uint8, UVRouting, ValuePtr, VertexFormat, and VertexSize. Referenced by NL3D::CDriverGL::activeVertexBuffer().
01076 {
01077 sint i;
01078 uint flags= vb.getVertexFormat();
01079 VertexFormat= flags;
01080 VertexSize= vb.getVertexSize();
01081 NumVertices= vb.getNumVertices();
01082 NumWeight= vb.getNumWeight();
01083
01084 // No VBhard.
01085 ATIVBHardMode= false;
01086
01087 // Get value pointer
01088 for (i=0; i<CVertexBuffer::NumValue; i++)
01089 {
01090 // Value used ?
01091 if (VertexFormat&(1<<i))
01092 {
01093 // Get the pointer
01094 ValuePtr[i]=vb.getValueEx ((CVertexBuffer::TValue)i);
01095
01096 // Type of the value
01097 Type[i]=vb.getValueType (i);
01098 }
01099 }
01100
01101 // Copy the UVRouting table
01102 const uint8 *uvRouting = vb.getUVRouting();
01103 for (i=0; i<CVertexBuffer::MaxStage; i++)
01104 {
01105 UVRouting[i] = uvRouting[i];
01106 }
01107 }
|
|
|
Definition at line 1111 of file driver_opengl_vertex.cpp. References ATIValueOffset, ATIVBHardMode, ATIVertexObjectId, NL3D::CVertexBufferHardGLMapObjectATI::getATIValueOffset(), NL3D::CVertexBufferHardGLATI::getATIValueOffset(), NL3D::CVertexBufferHardGLMapObjectATI::getATIVertexObjectId(), NL3D::CVertexBufferHardGLATI::getATIVertexObjectId(), NL3D::IVertexBufferHard::getNumVertices(), NL3D::IVertexBufferHard::getNumWeight(), NL3D::CVertexBufferHardGLNVidia::getNVidiaValueEx(), NL3D::IVertexBufferHard::getUVRouting(), NL3D::IVertexBufferHard::getValueType(), NL3D::IVertexBufferHard::getVertexFormat(), NL3D::IVertexBufferHard::getVertexSize(), NumVertices, NumWeight, sint, Type, uint, uint8, UVRouting, ValuePtr, NL3D::IVertexBufferHardGL::VBType, VertexFormat, and VertexSize. Referenced by NL3D::CDriverGL::activeVertexBufferHard().
01112 {
01113 sint i;
01114 uint flags= vb.getVertexFormat();
01115 VertexFormat= flags;
01116 VertexSize= vb.getVertexSize();
01117 NumVertices= vb.getNumVertices();
01118 NumWeight= vb.getNumWeight();
01119
01120 // Not ATI VBHard by default
01121 ATIVBHardMode= false;
01122
01123
01124 // Setup differs from ATI or NVidia VBHard.
01125 switch(vb.VBType)
01126 {
01127 case IVertexBufferHardGL::NVidiaVB:
01128 {
01129 CVertexBufferHardGLNVidia &vbHardNV= static_cast<CVertexBufferHardGLNVidia&>(vb);
01130 // Get value pointer
01131 for (i=0; i<CVertexBuffer::NumValue; i++)
01132 {
01133 // Value used ?
01134 if (VertexFormat&(1<<i))
01135 {
01136 // Get the pointer
01137 ValuePtr[i]= vbHardNV.getNVidiaValueEx(i);
01138
01139 // Type of the value
01140 Type[i]= vbHardNV.getValueType (i);
01141 }
01142 }
01143 }
01144 break;
01145 case IVertexBufferHardGL::ATIVB:
01146 {
01147 CVertexBufferHardGLATI &vbHardATI= static_cast<CVertexBufferHardGLATI &>(vb);
01148 // special setup in setupGlArrays()...
01149 ATIVBHardMode= true;
01150
01151 // store the VertexObject Id.
01152 ATIVertexObjectId= vbHardATI.getATIVertexObjectId();
01153
01154 // Get value offset
01155 for (i=0; i<CVertexBuffer::NumValue; i++)
01156 {
01157 // Value used ?
01158 if (VertexFormat&(1<<i))
01159 {
01160 // Get the pointer
01161 ATIValueOffset[i]= vbHardATI.getATIValueOffset(i);
01162
01163 // Type of the value
01164 Type[i]= vbHardATI.getValueType (i);
01165 }
01166 }
01167 }
01168 break;
01169 case IVertexBufferHardGL::ATIMapObjectVB:
01170 {
01171 CVertexBufferHardGLMapObjectATI &vbHardATI= static_cast<CVertexBufferHardGLMapObjectATI &>(vb);
01172 // special setup in setupGlArrays()...
01173 ATIVBHardMode= true;
01174
01175 // store the VertexObject Id.
01176 ATIVertexObjectId= vbHardATI.getATIVertexObjectId();
01177
01178 // Get value offset
01179 for (i=0; i<CVertexBuffer::NumValue; i++)
01180 {
01181 // Value used ?
01182 if (VertexFormat&(1<<i))
01183 {
01184 // Get the pointer
01185 ATIValueOffset[i]= vbHardATI.getATIValueOffset(i);
01186
01187 // Type of the value
01188 Type[i]= vbHardATI.getValueType (i);
01189 }
01190 }
01191 }
01192 break;
01193 }
01194
01195
01196 // Copy the UVRouting table
01197 const uint8 *uvRouting = vb.getUVRouting ();
01198 for (i=0; i<CVertexBuffer::MaxStage; i++)
01199 {
01200 UVRouting[i] = uvRouting[i];
01201 }
01202 }
|
|
|
Definition at line 187 of file driver_opengl.h. Referenced by NL3D::CDriverGL::setupGlArraysForEXTVertexShader(), NL3D::CDriverGL::setupGlArraysStd(), NL3D::CDriverGL::setupUVPtr(), and setupVertexBufferHard(). |
|
|
Definition at line 183 of file driver_opengl.h. Referenced by NL3D::CDriverGL::setupGlArraysForEXTVertexShader(), NL3D::CDriverGL::setupGlArraysStd(), NL3D::CDriverGL::setupUVPtr(), setupVertexBuffer(), and setupVertexBufferHard(). |
|
|
Definition at line 185 of file driver_opengl.h. Referenced by NL3D::CDriverGL::setupGlArraysForEXTVertexShader(), NL3D::CDriverGL::setupGlArraysStd(), NL3D::CDriverGL::setupUVPtr(), and setupVertexBufferHard(). |
|
|
Definition at line 173 of file driver_opengl.h. Referenced by setupVertexBuffer(), and setupVertexBufferHard(). |
|
|
Definition at line 174 of file driver_opengl.h. Referenced by setupVertexBuffer(), and setupVertexBufferHard(). |
|
|
Definition at line 175 of file driver_opengl.h. Referenced by NL3D::CDriverGL::setupGlArraysForEXTVertexShader(), NL3D::CDriverGL::setupGlArraysForNVVertexProgram(), NL3D::CDriverGL::setupGlArraysStd(), NL3D::CDriverGL::setupUVPtr(), setupVertexBuffer(), and setupVertexBufferHard(). |
|
|
Definition at line 176 of file driver_opengl.h. Referenced by NL3D::CDriverGL::setupGlArraysStd(), setupVertexBuffer(), and setupVertexBufferHard(). |
|
|
Definition at line 179 of file driver_opengl.h. Referenced by NL3D::CDriverGL::setupGlArraysForEXTVertexShader(), NL3D::CDriverGL::setupGlArraysForNVVertexProgram(), NL3D::CDriverGL::setupGlArraysStd(), NL3D::CDriverGL::setupUVPtr(), setupVertexBuffer(), and setupVertexBufferHard(). |
|
|
|
Definition at line 172 of file driver_opengl.h. Referenced by NL3D::CDriverGL::setupGlArraysForEXTVertexShader(), NL3D::CDriverGL::setupGlArraysForNVVertexProgram(), NL3D::CDriverGL::setupGlArraysStd(), NL3D::CDriverGL::setupUVPtr(), setupVertexBuffer(), and setupVertexBufferHard(). |
1.3.6