2 #include "IAttributeFields.h" 3 #include "ParaXMaterial.h" 4 #include "ParaXRefObject.h" 5 #include "ParaXModel/MeshHeader.h" 41 ATTRIBUTE_METHOD1(
CParaXStaticBase, DumpTextureUsage_s,
const char**) { *p1 = cls->DumpTextureUsage();
return S_OK; }
42 ATTRIBUTE_METHOD1(
CParaXStaticBase, GetPolyCount_s,
int*) { *p1 = cls->GetPolyCount();
return S_OK; }
43 ATTRIBUTE_METHOD1(
CParaXStaticBase, GetPhysicsCount_s,
int*) { *p1 = cls->GetPhysicsCount();
return S_OK; }
46 virtual int GetPolyCount() = 0;
48 virtual int GetPhysicsCount() = 0;
50 virtual const char* DumpTextureUsage() = 0;
59 virtual TextureEntity* GetDefaultReplaceableTexture(
int ReplaceableTextureID) = 0;
67 TextureEntity* GetReplaceableTexture(
int ReplaceableTextureID);
77 virtual bool SetReplaceableTexture(
int ReplaceableTextureID,
TextureEntity* pTextureEntity);
81 virtual int GetNextPhysicsGroupID(
int nPhysicsGroup = -1) = 0;
90 virtual TextureEntity* LoadTextureByPath(
const string& sFilePath, DWORD TextureType);
98 HRESULT Create(
RenderDevicePtr pd3dDevice,
const char* strFilename,
bool bCheckSecondUV =
false);
100 virtual HRESULT Create(
RenderDevicePtr pd3dDevice,
void* buffer, DWORD nFileSize,
bool bCheckSecondUV =
false) = 0;
101 #ifdef USE_DIRECTX_RENDERER 102 virtual HRESULT Create(
RenderDevicePtr pd3dDevice, LPD3DXFILEDATA pFileData) = 0;
106 virtual HRESULT Destroy();
110 virtual HRESULT InitDeviceObjects() = 0;
111 virtual HRESULT DeleteDeviceObjects() = 0;
114 virtual FLOAT ComputeBoundingSphere(
Vector3* vObjectCenter, FLOAT* fObjectRadius) = 0;
115 virtual HRESULT ComputeBoundingBox(
Vector3 *pMin,
Vector3 *pMax) = 0;
127 virtual HRESULT ClonePhysicsMesh(DWORD* pNumVertices,
Vector3 ** ppVerts, DWORD* pNumTriangles, WORD** ppIndices,
int* pnMeshPhysicsGroup =
nullptr,
int* pnTotalMeshGroupCount =
nullptr) = 0;
131 #ifdef USE_DIRECTX_RENDERER 132 virtual MeshHeader& GetMeshHeader(LPD3DXFILE pFileParser =
nullptr) = 0;
136 #ifdef USE_DIRECTX_RENDERER 138 virtual bool GetMeshHeaderFromFile(
CParaFile& myFile, LPD3DXFILE pFileParser) = 0;
144 bool bDrawOpaqueSubsets =
true,
145 bool bDrawAlphaSubsets =
true,
float fAlphaFactor = 1.0f) = 0;
147 bool bDrawOpaqueSubsets =
true,
148 bool bDrawAlphaSubsets =
true,
float fAlphaFactor = 1.0f,
CParameterBlock* materialParams =
nullptr) = 0;
158 int GetNumReplaceableTextures();
163 void SetMeshFileData(
void * pData,
int nSize);
164 void DeleteMeshFileData();
172 void UseMeshMaterials(
bool bFlag) { m_bUseMaterials = bFlag; }
175 static XModelFileType GetFileTypeByFilename(
const std::string& sFilename);
178 void ClearFaceGroups();
192 DWORD m_dwNumMaterials;
194 bool m_bUseMaterials;
196 vector< ref_ptr<TextureEntity> > m_ReplaceableTextures;
Which DXT Compression to Use? Obviously, there are some trade-offs between the different formats whic...
Definition: TextureEntity.h:29
an attribute class is a collection of attribute fields.
Definition: AttributeClass.h:10
It's used as parameter to Draw method of each scene object.
Definition: SceneState.h:284
Helper structure analogue to aiScene.
Definition: XFileHelper.h:123
vector< CFaceGroup * > m_faceGroups
a list of face group
Definition: ParaXStaticBase.h:190
different physics engine has different winding order.
Definition: EventBinding.h:32
Definition: minilua.c:352
char * m_pFileData
the file data from which to load the mesh
Definition: ParaXStaticBase.h:184
int GetXRefObjectsCount()
get the XRef Object in this model.
Definition: ParaXStaticBase.h:167
a very thin wrapper to DirectX device with a portable version of openGL implementation.
Definition: RenderDeviceDirectX.h:10
vector< ParaXRefObject > m_XRefObjects
get a list of XRef objects
Definition: ParaXStaticBase.h:188
Standard 3-dimensional vector.
Definition: ParaVector3.h:16
The XFileParser reads a XFile either in text or binary form and builds a temporary data structure out...
Definition: XFileParser.h:19
Definition: effect_file.h:323
A common interface for all classes implementing IAttributeFields By implementing this class's virtual...
Definition: IAttributeFields.h:59
it presents a real or virtual file in ParaEngine.
Definition: ParaFile.h:31
XRef Objects in X and ParaX model.
Definition: ParaXRefObject.h:6
int m_pFileDataSize
the file data size in bytes from which to load the mesh
Definition: ParaXStaticBase.h:186
Definition: ParaXStaticBase.h:32
a list of CParameter{name, value} pairs of anything.
Definition: ParameterBlock.h:108