Main Page Modules Namespace List Class Hierarchy Alphabetical List Compound List File List Namespace Members Compound Members File Members Related Pages

# deXLoader.hpp

Go to the documentation of this file.

    00001 ///////////////////////////////////////////////////////////////////////////////
    00002 /// @file deXLoader.hpp
    00003 ///
    00004 /// @brief DirectX X file loading for meshes
    00005 ///
    00006 /// @author Assassin
    00007 ///
    00008 /// This file is the intellectual property of Novus Delta, LLC.. Usage of the
    00009 /// contents of this file is subject to the Destiny3D Member License which
    00010 /// can be found at http://www.destiny3d.com.  Any other usage is prohibited.
    00011 ///
    00012 /// This file is distributed "AS IS" without warranty of any kind.  Novus
    00013 /// Delta, LLC. does not guarantee the fitness of the contents of this file
    00014 /// for any particular purpose.
    00015 ///
    00016 /// Copyright (C) 2001-2003 Novus Delta, LLC. All Rights Reserved.
    00017 ///
    00018 /// <hr>
    00019 ///                                 Change History
    00020 /// <hr>
    00021 ///
    00022 /// @date Mar 2002
    00023 /// @author Assassin
    00024 /// @remarks Creation
    00025 ///
    00026 ///////////////////////////////////////////////////////////////////////////////
    00027
    00028 #ifndef DEXLOADER_HPP
    00029 #define DEXLOADER_HPP
    00030
    00031 #include <d3dx8.h>
    00032 #include <d3d8types.h>
    00033 #include "deGlobalTypes.hpp"
    00034 #include "deRenderStates.hpp"
    00035
    00036 struct deXTexture
    00037 {
    00038 char Texture_Name[252];
    00039 IdeRenderTexture * RenderTexture;
    00040 };
    00041
    00042 struct deXMaterial
    00043 {
    00044 D3DMATERIAL8 Mat8;
    00045 DWORD NumIndices;
    00046 long TextureIndex;
    00047 IdeRenderMaterial* deMat;
    00048 };
    00049
    00050 struct deXTexCoord
    00051 {
    00052     float u;
    00053     float v;
    00054 };
    00055
    00056 class deXMesh
    00057 {
    00058 public:
    00059     DWORD NumVerts;
    00060     DWORD NumIndices;
    00061     D3DVECTOR * VertList;
    00062     D3DVECTOR * NormList;
    00063     deXTexCoord * CoordList;
    00064
    00065     deXMesh * Child;
    00066     deXMesh * Next;
    00067     D3DMATRIX Matrix;
    00068
    00069     DWORD NumMaterials;
    00070     deXMaterial * MaterialList;
    00071     WORD *Indices;
    00072
    00073     deBoolean HasVerts;
    00074     deBoolean HasNorms;
    00075     deBoolean HasCoords;
    00076
    00077     deXMesh ();
    00078     ~deXMesh ();
    00079     void AddChild(deXMesh *pChildObject);
    00080     void AddNext (deXMesh *pChildObject);
    00081     void GenerateNormals();
    00082 };
    00083
    00084 extern "C" deXMesh * deXLoader_LoadX(char * filename);
    00085
    00086 #endif
    00087