@@ -622,7 +622,7 @@ class CTempMeshDX8 : public CBaseMeshDX8
622
622
private:
623
623
// Selection mode
624
624
void TestSelection ( );
625
- void ClipTriangle ( D3DXVECTOR3 **ppVert, float zNear, D3DXMATRIX &proj );
625
+ void ClipTriangle ( DirectX::XMVECTOR **ppVert, float zNear, DirectX::XMMATRIX &proj );
626
626
627
627
CDynamicMeshDX8 *GetDynamicMesh ();
628
628
@@ -1942,31 +1942,31 @@ void CVertexBufferDx8::HandlePerFrameTextureStats( int nFrame )
1942
1942
// Helpers with meshdescs...
1943
1943
// -----------------------------------------------------------------------------
1944
1944
// FIXME: add compression-agnostic read-accessors (which decompress and return by value, checking desc.m_CompressionType)
1945
- inline D3DXVECTOR3 &Position ( MeshDesc_t const &desc, int vert )
1945
+ inline DirectX::XMVECTOR &Position ( MeshDesc_t const &desc, int vert )
1946
1946
{
1947
- return *(D3DXVECTOR3 *)((unsigned char *)desc.m_pPosition + vert * desc.m_VertexSize_Position );
1947
+ return *(DirectX::XMVECTOR *)((unsigned char *)desc.m_pPosition + vert * desc.m_VertexSize_Position );
1948
1948
}
1949
1949
1950
1950
inline float Wrinkle ( MeshDesc_t const &desc, int vert )
1951
1951
{
1952
1952
return *(float *)((unsigned char *)desc.m_pWrinkle + vert * desc.m_VertexSize_Wrinkle );
1953
1953
}
1954
1954
1955
- inline D3DXVECTOR3 &BoneWeight ( MeshDesc_t const &desc, int vert )
1955
+ inline DirectX::XMVECTOR &BoneWeight ( MeshDesc_t const &desc, int vert )
1956
1956
{
1957
1957
Assert ( desc.m_CompressionType == VERTEX_COMPRESSION_NONE );
1958
- return *(D3DXVECTOR3 *)((unsigned char *)desc.m_pBoneWeight + vert * desc.m_VertexSize_BoneWeight );
1958
+ return *(DirectX::XMVECTOR *)((unsigned char *)desc.m_pBoneWeight + vert * desc.m_VertexSize_BoneWeight );
1959
1959
}
1960
1960
1961
1961
inline unsigned char *BoneIndex ( MeshDesc_t const &desc, int vert )
1962
1962
{
1963
1963
return desc.m_pBoneMatrixIndex + vert * desc.m_VertexSize_BoneMatrixIndex ;
1964
1964
}
1965
1965
1966
- inline D3DXVECTOR3 &Normal ( MeshDesc_t const &desc, int vert )
1966
+ inline DirectX::XMVECTOR &Normal ( MeshDesc_t const &desc, int vert )
1967
1967
{
1968
1968
Assert ( desc.m_CompressionType == VERTEX_COMPRESSION_NONE );
1969
- return *(D3DXVECTOR3 *)((unsigned char *)desc.m_pNormal + vert * desc.m_VertexSize_Normal );
1969
+ return *(DirectX::XMVECTOR *)((unsigned char *)desc.m_pNormal + vert * desc.m_VertexSize_Normal );
1970
1970
}
1971
1971
1972
1972
inline unsigned char *Color ( MeshDesc_t const &desc, int vert )
@@ -1979,14 +1979,14 @@ inline D3DXVECTOR2 &TexCoord( MeshDesc_t const &desc, int vert, int stage )
1979
1979
return *(D3DXVECTOR2*)((unsigned char *)desc.m_pTexCoord [stage] + vert * desc.m_VertexSize_TexCoord [stage] );
1980
1980
}
1981
1981
1982
- inline D3DXVECTOR3 &TangentS ( MeshDesc_t const &desc, int vert )
1982
+ inline DirectX::XMVECTOR &TangentS ( MeshDesc_t const &desc, int vert )
1983
1983
{
1984
- return *(D3DXVECTOR3 *)((unsigned char *)desc.m_pTangentS + vert * desc.m_VertexSize_TangentS );
1984
+ return *(DirectX::XMVECTOR *)((unsigned char *)desc.m_pTangentS + vert * desc.m_VertexSize_TangentS );
1985
1985
}
1986
1986
1987
- inline D3DXVECTOR3 &TangentT ( MeshDesc_t const &desc, int vert )
1987
+ inline DirectX::XMVECTOR &TangentT ( MeshDesc_t const &desc, int vert )
1988
1988
{
1989
- return *(D3DXVECTOR3 *)((unsigned char *)desc.m_pTangentT + vert * desc.m_VertexSize_TangentT );
1989
+ return *(DirectX::XMVECTOR *)((unsigned char *)desc.m_pTangentT + vert * desc.m_VertexSize_TangentT );
1990
1990
}
1991
1991
1992
1992
@@ -2176,6 +2176,7 @@ inline void CBaseMeshDX8::DrawMesh( )
2176
2176
void CBaseMeshDX8::Spew ( int nVertexCount, int nIndexCount, const MeshDesc_t &spewDesc )
2177
2177
{
2178
2178
LOCK_SHADERAPI ();
2179
+ #if 0
2179
2180
// This has regressed.
2180
2181
int i;
2181
2182
@@ -2210,7 +2211,7 @@ void CBaseMeshDX8::Spew( int nVertexCount, int nIndexCount, const MeshDesc_t &sp
2210
2211
temp += sprintf( temp, "[%4d] ", i + desc.m_nFirstVertex );
2211
2212
if( fmt & VERTEX_POSITION )
2212
2213
{
2213
- D3DXVECTOR3 & pos = Position ( desc, i );
2214
+ DirectX::XMVECTOR & pos = Position( desc, i );
2214
2215
temp += sprintf(temp, "P %8.2f %8.2f %8.2f ",
2215
2216
pos[0], pos[1], pos[2]);
2216
2217
}
@@ -2242,7 +2243,7 @@ void CBaseMeshDX8::Spew( int nVertexCount, int nIndexCount, const MeshDesc_t &sp
2242
2243
2243
2244
if ( fmt & VERTEX_NORMAL )
2244
2245
{
2245
- D3DXVECTOR3 & normal = Normal ( desc, i );
2246
+ DirectX::XMVECTOR & normal = Normal( desc, i );
2246
2247
temp += sprintf(temp, "N %1.2f %1.2f %1.2f ",
2247
2248
normal[0], normal[1], normal[2]);
2248
2249
}
@@ -2265,14 +2266,14 @@ void CBaseMeshDX8::Spew( int nVertexCount, int nIndexCount, const MeshDesc_t &sp
2265
2266
2266
2267
if (fmt & VERTEX_TANGENT_S)
2267
2268
{
2268
- D3DXVECTOR3 & tangentS = TangentS ( desc, i );
2269
+ DirectX::XMVECTOR & tangentS = TangentS( desc, i );
2269
2270
temp += sprintf(temp, "S %1.2f %1.2f %1.2f ",
2270
2271
tangentS[0], tangentS[1], tangentS[2]);
2271
2272
}
2272
2273
2273
2274
if (fmt & VERTEX_TANGENT_T)
2274
2275
{
2275
- D3DXVECTOR3 & tangentT = TangentT ( desc, i );
2276
+ DirectX::XMVECTOR & tangentT = TangentT( desc, i );
2276
2277
temp += sprintf(temp, "T %1.2f %1.2f %1.2f ",
2277
2278
tangentT[0], tangentT[1], tangentT[2]);
2278
2279
}
@@ -2297,6 +2298,7 @@ void CBaseMeshDX8::Spew( int nVertexCount, int nIndexCount, const MeshDesc_t &sp
2297
2298
}
2298
2299
sprintf(temp,"\n");
2299
2300
Plat_DebugString( tempbuf );
2301
+ #endif
2300
2302
}
2301
2303
2302
2304
void CBaseMeshDX8::ValidateData ( int nVertexCount, int nIndexCount, const MeshDesc_t &spewDesc )
@@ -2320,7 +2322,7 @@ void CBaseMeshDX8::ValidateData( int nVertexCount, int nIndexCount, const MeshDe
2320
2322
{
2321
2323
if ( fmt & VERTEX_POSITION )
2322
2324
{
2323
- D3DXVECTOR3 & pos = Position ( desc, i );
2325
+ DirectX::XMVECTOR & pos = Position ( desc, i );
2324
2326
Assert ( IsFinite ( pos[0 ] ) && IsFinite ( pos[1 ] ) && IsFinite ( pos[2 ] ) );
2325
2327
}
2326
2328
if ( fmt & VERTEX_WRINKLE )
@@ -2346,7 +2348,7 @@ void CBaseMeshDX8::ValidateData( int nVertexCount, int nIndexCount, const MeshDe
2346
2348
}
2347
2349
if ( fmt & VERTEX_NORMAL )
2348
2350
{
2349
- D3DXVECTOR3 & normal = Normal ( desc, i );
2351
+ DirectX::XMVECTOR & normal = Normal ( desc, i );
2350
2352
Assert ( normal [0 ] >= -1 .05f && normal [0 ] <= 1 .05f );
2351
2353
Assert ( normal [1 ] >= -1 .05f && normal [1 ] <= 1 .05f );
2352
2354
Assert ( normal [2 ] >= -1 .05f && normal [2 ] <= 1 .05f );
@@ -2369,13 +2371,13 @@ void CBaseMeshDX8::ValidateData( int nVertexCount, int nIndexCount, const MeshDe
2369
2371
2370
2372
if (fmt & VERTEX_TANGENT_S)
2371
2373
{
2372
- D3DXVECTOR3 & tangentS = TangentS ( desc, i );
2374
+ DirectX::XMVECTOR & tangentS = TangentS ( desc, i );
2373
2375
Assert ( IsFinite ( tangentS[0 ] ) && IsFinite ( tangentS[1 ] ) && IsFinite ( tangentS[2 ] ) );
2374
2376
}
2375
2377
2376
2378
if (fmt & VERTEX_TANGENT_T)
2377
2379
{
2378
- D3DXVECTOR3 & tangentT = TangentT ( desc, i );
2380
+ DirectX::XMVECTOR & tangentT = TangentT ( desc, i );
2379
2381
Assert ( IsFinite ( tangentT[0 ] ) && IsFinite ( tangentT[1 ] ) && IsFinite ( tangentT[2 ] ) );
2380
2382
}
2381
2383
}
@@ -4142,13 +4144,13 @@ void CTempMeshDX8::CopyToMeshBuilder(
4142
4144
// -----------------------------------------------------------------------------
4143
4145
// Selection mode helper functions
4144
4146
// -----------------------------------------------------------------------------
4145
- static void ComputeModelToView ( D3DXMATRIX & modelToView )
4147
+ static void ComputeModelToView ( DirectX::XMMATRIX & modelToView )
4146
4148
{
4147
4149
// Get the modelview matrix...
4148
- D3DXMATRIX world, view;
4150
+ DirectX::XMMATRIX world, view;
4149
4151
ShaderAPI ()->GetMatrix ( MATERIAL_MODEL, (float *)&world );
4150
4152
ShaderAPI ()->GetMatrix ( MATERIAL_VIEW, (float *)&view );
4151
- D3DXMatrixMultiply ( & modelToView, & world, & view );
4153
+ modelToView = DirectX::XMMatrixMultiply ( world, view );
4152
4154
}
4153
4155
4154
4156
static float ComputeCullFactor ( )
@@ -4178,41 +4180,77 @@ static float ComputeCullFactor( )
4178
4180
// Clip to viewport
4179
4181
// -----------------------------------------------------------------------------
4180
4182
static int g_NumClipVerts;
4181
- static D3DXVECTOR3 g_ClipVerts[16 ];
4183
+ static DirectX::XMVECTOR g_ClipVerts[16 ];
4184
+
4185
+ static float XMVec3Component ( DirectX::XMVECTOR &flt3, int cmp )
4186
+ {
4187
+ switch (cmp)
4188
+ {
4189
+ case 0 :
4190
+ return DirectX::XMVectorGetX ( flt3 );
4191
+ break ;
4192
+ case 1 :
4193
+ return DirectX::XMVectorGetY ( flt3 );
4194
+ break ;
4195
+ case 2 :
4196
+ return DirectX::XMVectorGetZ ( flt3 );
4197
+ break ;
4198
+ default :
4199
+ return DirectX::XMVectorGetX ( flt3 );
4200
+ }
4201
+ }
4182
4202
4183
- static bool PointInsidePlane ( D3DXVECTOR3* pVert, int normalInd, float val, bool nearClip )
4203
+ static void XMVec3SetComponent ( DirectX::XMVECTOR &flt3, int cmp, float val )
4204
+ {
4205
+ switch (cmp)
4206
+ {
4207
+ case 0 :
4208
+ flt3 = DirectX::XMVectorSetX ( flt3, val );
4209
+ break ;
4210
+ case 1 :
4211
+ flt3 = DirectX::XMVectorSetY ( flt3, val );
4212
+ break ;
4213
+ case 2 :
4214
+ flt3 = DirectX::XMVectorSetZ ( flt3, val );
4215
+ break ;
4216
+ default :
4217
+ Assert ( 0 );
4218
+ }
4219
+ }
4220
+
4221
+ static bool PointInsidePlane ( DirectX::XMVECTOR* pVert, int normalInd, float val, bool nearClip )
4184
4222
{
4185
4223
if ((val > 0 ) || nearClip)
4186
- return (val - ( *pVert)[ normalInd] >= 0 );
4224
+ return (val - XMVec3Component ( *pVert, normalInd ) >= 0 );
4187
4225
else
4188
- return (( *pVert)[ normalInd] - val >= 0 );
4226
+ return (XMVec3Component ( *pVert, normalInd ) - val >= 0 );
4189
4227
}
4190
4228
4191
- static void IntersectPlane ( D3DXVECTOR3 * pStart, D3DXVECTOR3 * pEnd,
4192
- int normalInd, float val, D3DXVECTOR3 * pOutVert )
4229
+ static void IntersectPlane ( DirectX::XMVECTOR * pStart, DirectX::XMVECTOR * pEnd,
4230
+ int normalInd, float val, DirectX::XMVECTOR * pOutVert )
4193
4231
{
4194
- D3DXVECTOR3 dir;
4195
- D3DXVec3Subtract ( & dir, pEnd, pStart );
4196
- Assert ( dir[ normalInd] != 0 .0f );
4197
- float t = (val - ( *pStart)[ normalInd]) / dir[ normalInd] ;
4198
- pOutVert-> x = pStart-> x + dir. x * t;
4199
- pOutVert-> y = pStart-> y + dir. y * t;
4200
- pOutVert-> z = pStart-> z + dir. z * t;
4232
+ DirectX::XMVECTOR dir;
4233
+ dir = DirectX::XMVectorSubtract ( * pEnd, * pStart );
4234
+ Assert ( XMVec3Component ( dir, normalInd ) != 0 .0f );
4235
+ float t = (val - XMVec3Component ( *pStart, normalInd )) / XMVec3Component ( dir, normalInd ) ;
4236
+ DirectX::XMVectorSetX ( * pOutVert, XMVec3Component ( * pStart, 0 ) + XMVec3Component ( dir, 0 ) * t ) ;
4237
+ DirectX::XMVectorSetY ( * pOutVert, XMVec3Component ( * pStart, 1 ) + XMVec3Component ( dir, 1 ) * t ) ;
4238
+ DirectX::XMVectorSetZ ( * pOutVert, XMVec3Component ( * pStart, 2 ) + XMVec3Component ( dir, 2 ) * t ) ;
4201
4239
4202
4240
// Avoid any precision problems.
4203
- ( *pOutVert)[ normalInd] = val;
4241
+ XMVec3SetComponent ( *pOutVert, normalInd, val ) ;
4204
4242
}
4205
4243
4206
- static int ClipTriangleAgainstPlane ( D3DXVECTOR3 ** ppVert, int nVertexCount,
4207
- D3DXVECTOR3 ** ppOutVert, int normalInd, float val, bool nearClip = false )
4244
+ static int ClipTriangleAgainstPlane ( DirectX::XMVECTOR ** ppVert, int nVertexCount,
4245
+ DirectX::XMVECTOR ** ppOutVert, int normalInd, float val, bool nearClip = false )
4208
4246
{
4209
4247
// Ye Olde Sutherland-Hodgman clipping algorithm
4210
4248
int numOutVerts = 0 ;
4211
- D3DXVECTOR3 * pStart = ppVert[nVertexCount-1 ];
4249
+ DirectX::XMVECTOR * pStart = ppVert[nVertexCount-1 ];
4212
4250
bool startInside = PointInsidePlane ( pStart, normalInd, val, nearClip );
4213
4251
for (int i = 0 ; i < nVertexCount; ++i)
4214
4252
{
4215
- D3DXVECTOR3 * pEnd = ppVert[i];
4253
+ DirectX::XMVECTOR * pEnd = ppVert[i];
4216
4254
bool endInside = PointInsidePlane ( pEnd, normalInd, val, nearClip );
4217
4255
if (endInside)
4218
4256
{
@@ -4238,12 +4276,12 @@ static int ClipTriangleAgainstPlane( D3DXVECTOR3** ppVert, int nVertexCount,
4238
4276
return numOutVerts;
4239
4277
}
4240
4278
4241
- void CTempMeshDX8::ClipTriangle ( D3DXVECTOR3 ** ppVert, float zNear, D3DXMATRIX & projection )
4279
+ void CTempMeshDX8::ClipTriangle ( DirectX::XMVECTOR ** ppVert, float zNear, DirectX::XMMATRIX & projection )
4242
4280
{
4243
4281
int i;
4244
4282
int nVertexCount = 3 ;
4245
- D3DXVECTOR3 * ppClipVert1[10 ];
4246
- D3DXVECTOR3 * ppClipVert2[10 ];
4283
+ DirectX::XMVECTOR * ppClipVert1[10 ];
4284
+ DirectX::XMVECTOR * ppClipVert2[10 ];
4247
4285
4248
4286
g_NumClipVerts = 0 ;
4249
4287
@@ -4261,16 +4299,16 @@ void CTempMeshDX8::ClipTriangle( D3DXVECTOR3** ppVert, float zNear, D3DXMATRIX&
4261
4299
{
4262
4300
if (ppClipVert1[i] == &g_ClipVerts[0 ])
4263
4301
{
4264
- D3DXVec3TransformCoord ( & g_ClipVerts[0 ], ppClipVert1[i], & projection );
4302
+ g_ClipVerts[0 ] = DirectX::XMVector3TransformCoord ( * ppClipVert1[i], projection );
4265
4303
}
4266
4304
else if (ppClipVert1[i] == &g_ClipVerts[1 ])
4267
4305
{
4268
- D3DXVec3TransformCoord ( & g_ClipVerts[1 ], ppClipVert1[i], & projection );
4306
+ g_ClipVerts[1 ] = DirectX::XMVector3TransformCoord ( * ppClipVert1[i], projection );
4269
4307
}
4270
4308
else
4271
4309
{
4272
- D3DXVec3TransformCoord ( & g_ClipVerts[g_NumClipVerts], ppClipVert1[i], & projection );
4273
- ppClipVert1[i] = &g_ClipVerts[g_NumClipVerts];
4310
+ g_ClipVerts[g_NumClipVerts] = DirectX::XMVector3TransformCoord ( * ppClipVert1[i], projection );
4311
+ ppClipVert1[i] = &g_ClipVerts[g_NumClipVerts];
4274
4312
++g_NumClipVerts;
4275
4313
}
4276
4314
}
@@ -4334,14 +4372,14 @@ void CTempMeshDX8::ClipTriangle( D3DXVECTOR3** ppVert, float zNear, D3DXMATRIX&
4334
4372
#endif
4335
4373
4336
4374
// Compute closest and furthest verts
4337
- float minz = ppClipVert2[0 ]-> z ;
4338
- float maxz = ppClipVert2[ 0 ]-> z ;
4375
+ float minz = XMVec3Component ( * ppClipVert2[0 ], 2 ) ;
4376
+ float maxz = minz ;
4339
4377
for ( i = 1 ; i < nVertexCount; ++i )
4340
4378
{
4341
- if (ppClipVert2[i]-> z < minz)
4342
- minz = ppClipVert2[i]-> z ;
4343
- else if (ppClipVert2[i]-> z > maxz)
4344
- maxz = ppClipVert2[i]-> z ;
4379
+ if (XMVec3Component ( * ppClipVert2[i], 2 ) < minz)
4380
+ minz = XMVec3Component ( * ppClipVert2[i], 2 ) ;
4381
+ else if (XMVec3Component ( * ppClipVert2[i], 2 ) > maxz)
4382
+ maxz = XMVec3Component ( * ppClipVert2[i], 2 ) ;
4345
4383
}
4346
4384
4347
4385
ShaderAPI ()->RegisterSelectionHit ( minz, maxz );
@@ -4360,14 +4398,15 @@ void CTempMeshDX8::TestSelection()
4360
4398
if ((m_Type != MATERIAL_TRIANGLES) && (m_Type != MATERIAL_TRIANGLE_STRIP))
4361
4399
return ;
4362
4400
4363
- D3DXMATRIX modelToView, projection;
4401
+ DirectX::XMMATRIX modelToView, projection;
4364
4402
ComputeModelToView ( modelToView );
4365
4403
ShaderAPI ()->GetMatrix ( MATERIAL_PROJECTION, (float *)&projection );
4366
- float zNear = -projection.m [3 ][2 ] / projection.m [2 ][2 ];
4404
+ // FIXME: Er2: XMMATRIX .m is in unnamed structure
4405
+ float zNear = 0 .1f ; // -projection.m[3][2] / projection.m[2][2];
4367
4406
4368
- D3DXVECTOR3 * pPos[3 ];
4369
- D3DXVECTOR3 edge[2 ];
4370
- D3DXVECTOR3 normal ;
4407
+ DirectX::XMVECTOR * pPos[3 ];
4408
+ DirectX::XMVECTOR edge[2 ];
4409
+ DirectX::XMVECTOR normal ;
4371
4410
4372
4411
int numTriangles;
4373
4412
if (m_Type == MATERIAL_TRIANGLES)
@@ -4413,15 +4452,15 @@ void CTempMeshDX8::TestSelection()
4413
4452
for (int j = 0 ; j < 3 ; ++j)
4414
4453
{
4415
4454
int index = m_IndexData[indexPos];
4416
- D3DXVECTOR3 * pPosition = (D3DXVECTOR3 *)&m_VertexData[index * m_VertexSize];
4455
+ DirectX::XMVECTOR * pPosition = (DirectX::XMVECTOR *)&m_VertexData[index * m_VertexSize];
4417
4456
if ((transformedVert[index >> 3 ] & (1 << (index & 0x7 ))) == 0 )
4418
4457
{
4419
- D3DXVec3TransformCoord ( pPosition, pPosition, & modelToView );
4458
+ *pPosition = DirectX::XMVector3TransformCoord ( * pPosition, modelToView );
4420
4459
transformedVert[index >> 3 ] |= (1 << (index & 0x7 ));
4421
4460
}
4422
4461
4423
4462
pPos[j] = pPosition;
4424
- if (pPos[j]-> z < 0 .0f )
4463
+ if (XMVec3Component ( * pPos[j], 2 ) < 0 .0f )
4425
4464
inFrontIdx = j;
4426
4465
++indexPos;
4427
4466
}
@@ -4431,10 +4470,10 @@ void CTempMeshDX8::TestSelection()
4431
4470
continue ;
4432
4471
4433
4472
// backface cull....
4434
- D3DXVec3Subtract ( & edge[0 ], pPos[1 ], pPos[0 ] );
4435
- D3DXVec3Subtract ( & edge[1 ], pPos[2 ], pPos[0 ] );
4436
- D3DXVec3Cross ( & normal , & edge[0 ], & edge[1 ] );
4437
- float dot = D3DXVec3Dot ( & normal , pPos[inFrontIdx] );
4473
+ edge[0 ] = DirectX::XMVectorSubtract ( * pPos[1 ], * pPos[0 ] );
4474
+ edge[1 ] = DirectX::XMVectorSubtract ( * pPos[2 ], * pPos[0 ] );
4475
+ normal = DirectX::XMVector3Cross ( edge[0 ], edge[1 ] );
4476
+ float dot = DirectX::XMVectorGetX ( DirectX::XMVector3Dot ( normal , * pPos[inFrontIdx] ) );
4438
4477
if (dot * cullFactor > 0 .0f )
4439
4478
continue ;
4440
4479
@@ -5873,8 +5912,6 @@ void CMeshMgr::Draw( MaterialPrimitiveType_t primitiveType, int nFirstIndex, int
5873
5912
5874
5913
m_nFirstIndex = nFirstIndex;
5875
5914
m_nNumIndices = nIndexCount;
5876
-
5877
- ShaderAPI ()->DrawWithVertexAndIndexBuffers ();
5878
5915
}
5879
5916
5880
5917
void CMeshMgr::RenderPassWithVertexAndIndexBuffers ( void )
0 commit comments