25 #ifndef GRAPHICS_AURORA_MODEL_DRAGONAGE_H 26 #define GRAPHICS_AURORA_MODEL_DRAGONAGE_H 28 #include "glm/vec4.hpp" 36 class SeekableReadStream;
43 class ModelNode_DragonAge;
75 std::list<ModelNode_DragonAge *>
nodes;
147 const ::Aurora::GFF4Struct *
gff;
166 std::map<Common::UString, Common::UString>
textures;
200 #endif // GRAPHICS_AURORA_MODEL_DRAGONAGE_H
void addState(ParserContext &ctx)
ParserContext(const Common::UString &name)
std::list< MeshDeclaration > MeshDeclarations
void readMAO(const Common::UString &materialName, MaterialObject &material)
Read a material object MAO, which can be encoded in either XML or GFF.
static void read2Float32(Common::ReadStream &stream, MeshDeclType type, float *&f)
Generic interface for a readable data stream.
const ::Aurora::GFF4Struct * mshTop
A class holding an UTF-8 string.
2 normalized signed 16-bit integers.
std::map< Common::UString, glm::vec4 > vectors
void readMAOGFF(Common::SeekableReadStream *maoStream, MaterialObject &material)
Read a MAO encoded in a GFF file.
Model_DragonAge(const Common::UString &name, ModelType type=kModelTypeObject)
A real object in the game world.
Common::UString defaultSemantic
4 unsigned integers of 10-bit, 10-bit, 10-bit, 2-bit.
A 3D model in the Dragon Age MMH+MSH format.
A GFF (generic file format) V4.0/V4.1 file, found in Dragon Age: Origins, Dragon Age 2 and Sonic Chro...
void readTransformation(const ::Aurora::GFF4Struct &nodeGFF)
static void read4Float32(Common::ReadStream &stream, MeshDeclType type, float *&f)
4 normalized unsigned 16-bit integers.
4 normalized signed 16-bit integers.
const ::Aurora::GFF4Struct * gff
4 normalized unsigned 8-bit integers.
ModelType
The display type of a model.
4 signed 16-bit integers.
MeshDeclaration(MeshDeclUse u=kMeshDeclUseUnused, const ::Aurora::GFF4Struct *g=0, int32 o=-1, MeshDeclType t=kMeshDeclTypeUnused)
void loadTextures(const std::vector< Common::UString > &textures, const MaterialObject &material)
std::map< Common::UString, Common::UString > textures
void sanityCheckMeshChunk(const ::Aurora::GFF4Struct &meshChunk)
static void read3Float32(Common::ReadStream &stream, MeshDeclType type, float *&f)
A node within a 3D model.
MeshDeclUse
Usage information for a mesh declaration part.
void readMeshDecl(const ::Aurora::GFF4Struct &meshChunk, MeshDeclarations &meshDecl)
ModelNode_DragonAge(Model &model)
MeshDeclType
Type information for a mesh declaration part.
Basic type definitions to handle files used in BioWare's Aurora engine.
void newState(ParserContext &ctx)
void fixTexturesAlpha(const std::vector< Common::UString > &textures)
void readChildren(Model_DragonAge::ParserContext &ctx, const ::Aurora::GFF4Struct &nodeGFF)
void createVertexBuffer(const ::Aurora::GFF4Struct &meshChunk, Common::SeekableReadStream &vertexData, const MeshDeclarations &meshDecl)
An internal material object.
void fixTexturesHair(const std::vector< Common::UString > &textures)
const ::Aurora::GFF4Struct * mmhTop
2 normalized unsigned 16-bit integers.
4 unsigned 8-bit integers.
void open(const Common::UString &name)
std::map< Common::UString, float > floats
void createIndexBuffer(const ::Aurora::GFF4Struct &meshChunk, Common::SeekableReadStream &indexData)
void readMesh(Model_DragonAge::ParserContext &ctx, const ::Aurora::GFF4Struct &meshGFF)
void readMAOXML(Common::SeekableReadStream *maoStream, MaterialObject &material, const Common::UString &fileName)
Read a MAO encoded in an XML file.
std::list< ModelNode_DragonAge * > nodes
Interface for a seekable & readable data stream.
An internal mesh declaration part.
4 normalized unsigned integers of 10-bit, 10-bit, 10-bit, 2-bit.
void load(Model_DragonAge::ParserContext &ctx, const ::Aurora::GFF4Struct &nodeGFF)
void load(ParserContext &ctx)
2 signed 16-bit integers.