39 lines
841 B
C
39 lines
841 B
C
|
#ifndef _TRANSFORMENGINE_H
|
||
|
#define _TRANSFORMENGINE_H
|
||
|
|
||
|
//T&L Engine
|
||
|
//as much work as possible will be delegated to vertex shaders later
|
||
|
//to take full advantage of current PC HW
|
||
|
|
||
|
#include "VertexHandler.h"
|
||
|
#include "DecodedVArray.h"
|
||
|
|
||
|
class CTransformEngine
|
||
|
{
|
||
|
static float* m_pPosMatrix;
|
||
|
static float* m_pNormalMatrix;
|
||
|
static float* m_pTexMatrix[8];
|
||
|
static float* m_pTexPostMatrix[8];
|
||
|
|
||
|
public:
|
||
|
static void TransformVertices(int _numVertices,
|
||
|
const DecodedVArray *varray,
|
||
|
D3DVertex *vbuffer);
|
||
|
|
||
|
static void SetPosNormalMatrix(float *p, float *n)
|
||
|
{
|
||
|
m_pPosMatrix = p;
|
||
|
m_pNormalMatrix = n;
|
||
|
}
|
||
|
static void SetTexMatrix(int i, float *f)
|
||
|
{
|
||
|
m_pTexMatrix[i] = f;
|
||
|
}
|
||
|
static void SetTexPostMatrix(int i, float *f)
|
||
|
{
|
||
|
m_pTexPostMatrix[i] = f;
|
||
|
}
|
||
|
};
|
||
|
|
||
|
#endif
|