port from perforce
This commit is contained in:
146
evoke-64k/trunk/ev10/Greeble.h
Normal file
146
evoke-64k/trunk/ev10/Greeble.h
Normal file
@@ -0,0 +1,146 @@
|
||||
#pragma once
|
||||
|
||||
#include <d3dx9.h>
|
||||
#include "renderjob.h"
|
||||
|
||||
struct Greeble
|
||||
{
|
||||
struct SObjectDescription
|
||||
{
|
||||
int m_iSizeX;
|
||||
int m_iSizeY;
|
||||
|
||||
int m_iBaseMeshType;
|
||||
int m_iBaseBank;
|
||||
|
||||
int m_iOffsetFunc;
|
||||
int m_iOffsetBank;
|
||||
|
||||
int m_iHeightFunc;
|
||||
int m_iHeightBank;
|
||||
|
||||
int m_iMixFunc;
|
||||
int m_iMixBank;
|
||||
|
||||
DWORD m_dwColor;
|
||||
};
|
||||
|
||||
void AddToScene( float fTime, int iObject, int iObjDesc );
|
||||
|
||||
Renderjob::SVertex PreMesh[ 128 * 128 ];
|
||||
float PreFloats[ 128 * 128 * 16 ];
|
||||
static const int PreFloatBlock= 128 * 128;
|
||||
|
||||
int iObjID;
|
||||
SObjectDescription* pObj;
|
||||
float fTime;
|
||||
|
||||
float GetFloatParam( int iBank, int iOffset );
|
||||
|
||||
float* PreFloat( int i )
|
||||
{
|
||||
return PreFloats + i * PreFloatBlock;
|
||||
}
|
||||
Renderjob::SVertex FinalMesh[ 128 * 128 * 32 ];
|
||||
|
||||
void CreateFloatFieldPlasma(
|
||||
int ParamBank, float* pFloat,
|
||||
float fStepX, int iStepsX,
|
||||
float fStepY, int iStepsY,
|
||||
float fTime);
|
||||
|
||||
void CreateTwistedBow(
|
||||
int ParamBank, float* pFloat,
|
||||
float fStepX, int iStepsX,
|
||||
float fStepY, int iStepsY,
|
||||
float fTime );
|
||||
|
||||
void Create3DMeshPlane(
|
||||
float* pFloat,
|
||||
float fStartX, float fStepX, int iStepsX,
|
||||
float fStartY, float fStepY, int iStepsY
|
||||
);
|
||||
|
||||
void Create3DMeshCylinder(
|
||||
float* pFloat,
|
||||
float fBaseRadiusX, float fBaseRadiusZ, int iStepsX,
|
||||
float fStartY, float fStepY, int iStepsY
|
||||
);
|
||||
|
||||
void Create3DMeshSphere(
|
||||
float* pFloat,
|
||||
float fBaseRadiusX, float fBaseRadiusY, float fBaseRadiusZ,
|
||||
int iStepsX, int iStepsY
|
||||
);
|
||||
|
||||
void Create3DMeshTorus(
|
||||
float* pFloat,
|
||||
float fBaseRadiusX, float fBaseRadiusZ,
|
||||
float fInnerRadiusXZ, float fInnerRadiusY,
|
||||
int iStepsX, int iStepsY
|
||||
);
|
||||
|
||||
void CreateNormals(
|
||||
int iStepsX,
|
||||
int iStepsY
|
||||
);
|
||||
|
||||
void CreateNormalsBreakXY(
|
||||
int iStepsX,
|
||||
int iStepsY
|
||||
);
|
||||
|
||||
void CreateNormalsBreakX(
|
||||
int iStepsX,
|
||||
int iStepsY
|
||||
);
|
||||
|
||||
void CreateNormalsBreakY(
|
||||
int iStepsX,
|
||||
int iStepsY
|
||||
);
|
||||
|
||||
void PrepAO(
|
||||
int iStepsX,
|
||||
int iStepsY,
|
||||
float* pFloatHeight,
|
||||
float* pFloatCenterMix,
|
||||
float* pFloatAOVert,
|
||||
float* pFloatAOVHorz,
|
||||
float* pFloatAOIntermediate
|
||||
);
|
||||
|
||||
void CreateFinal3DMesh(
|
||||
int iStepsX,
|
||||
int iStepsY,
|
||||
float* pFloatHeight,
|
||||
float* pFloatCenterMix,
|
||||
float* pFloatAOVert,
|
||||
float* pFloatAOVHorz,
|
||||
DWORD dwBaseColor
|
||||
);
|
||||
|
||||
void Create2DFunc(
|
||||
int FuncType,
|
||||
int iParamBank,
|
||||
float* pFloat,
|
||||
int iSizeX,
|
||||
int iSizeY,
|
||||
float fTime );
|
||||
|
||||
void PrepMesh();
|
||||
|
||||
/*void CreateInterpolationMatrix(
|
||||
D3DXMATRIX* pMat,
|
||||
int iBank,
|
||||
float fTime);
|
||||
|
||||
void SetTransformation( SObjectDescription* pObj, float fTime );
|
||||
|
||||
void RenderMesh( SObjectDescription* pObj, float fTime );*/
|
||||
|
||||
|
||||
};
|
||||
|
||||
extern Greeble g_Greeble;
|
||||
|
||||
Reference in New Issue
Block a user