|
xoreos
0.0.5
|
#include <model_jade.h>


Classes | |
| struct | JadeMaterialData |
Public Member Functions | |
| ModelNode_Jade (Model &model) | |
| ~ModelNode_Jade () | |
| void | load (Model_Jade::ParserContext &ctx) |
| void | buildMaterial () |
Public Member Functions inherited from Graphics::Aurora::ModelNode | |
| ModelNode (Model &model) | |
| virtual | ~ModelNode () |
| const Common::UString & | getName () const |
| Get the node's name. More... | |
| float | getWidth () const |
| Get the width of the node's bounding box. More... | |
| float | getHeight () const |
| Get the height of the node's bounding box. More... | |
| float | getDepth () const |
| Get the depth of the node's bounding box. More... | |
| void | setInvisible (bool invisible) |
| Should the node never be rendered at all? More... | |
| void | setEnvironmentMap (const Common::UString &environmentMap="") |
| Change the environment map on this model node. More... | |
| void | getPosition (float &x, float &y, float &z) const |
| Get the position of the node. More... | |
| void | getRotation (float &x, float &y, float &z) const |
| Get the rotation of the node. More... | |
| void | getOrientation (float &x, float &y, float &z, float &a) const |
| Get the orientation of the node. More... | |
| void | getAbsolutePosition (float &x, float &y, float &z) const |
| Get the position of the node after translate/rotate. More... | |
| glm::mat4 | getAbsolutePosition () const |
| Get the position of the node after translate/rotate. More... | |
| uint16 | getNodeNumber () const |
| void | setPosition (float x, float y, float z) |
| Set the position of the node. More... | |
| void | setRotation (float x, float y, float z) |
| Set the rotation of the node. More... | |
| void | setOrientation (float x, float y, float z, float a) |
| Set the orientation of the node. More... | |
| void | move (float x, float y, float z) |
| Move the node, relative to its current position. More... | |
| void | rotate (float x, float y, float z) |
| Rotate the node, relative to its current rotation. More... | |
| void | setTextures (const std::vector< Common::UString > &textures) |
| Set textures to the node. More... | |
| void | computeInverseBindPose () |
| void | computeAbsoluteTransform () |
| float | getAlpha () |
| Get the alpha (transparency) of the node. More... | |
| void | setAlpha (float alpha, bool isRecursive=true) |
| Set the alpha (transparency) of the node. More... | |
| float | getScaleX () |
| float | getScaleY () |
| float | getScaleZ () |
| ModelNode * | getParent () |
| Get the node's parent. More... | |
| const ModelNode * | getParent () const |
| Get the node's parent. More... | |
| void | setParent (ModelNode *parent) |
| Set the node's parent. More... | |
| std::list< ModelNode * > & | getChildren () |
| Get the node's children. More... | |
| Mesh * | getMesh () const |
| bool | isInFrontOf (const ModelNode &node) const |
| Is this node in front of that other node? More... | |
| void | inheritPosition (ModelNode &node) const |
| void | inheritOrientation (ModelNode &node) const |
Private Member Functions | |
| void | readMesh (Model_Jade::ParserContext &ctx) |
| void | readPlainIndices (Common::SeekableReadStream &stream, std::vector< uint16 > &indices, uint32 offset, uint32 count) |
| void | readChunkedIndices (Common::SeekableReadStream &stream, std::vector< uint16 > &indices, uint32 offset, uint32 count) |
| void | unfoldFaces (std::vector< uint16 > &indices, uint32 meshType) |
| Unfolds triangle strips / fans into triangle lists. More... | |
| void | unfoldTriangleStrip (std::vector< uint16 > &indices) |
| void | unfoldTriangleFan (std::vector< uint16 > &indices) |
| void | createMesh (Model_Jade::ParserContext &ctx) |
| void | readMaterialTextures (uint32 materialID, std::vector< Common::UString > &textures) |
| Opens the resource for the materialID and parses it to return the 4 normal textures. More... | |
Private Attributes | |
| JadeMaterialData | _jadeMaterialData |
Additional Inherited Members | |
Public Types inherited from Graphics::Aurora::ModelNode | |
| enum | EnvironmentMapMode { kModeEnvironmentBlendedUnder, kModeEnvironmentBlendedOver } |
| The way the environment map is applied to a model node. More... | |
Protected Member Functions inherited from Graphics::Aurora::ModelNode | |
| void | loadTextures (const std::vector< Common::UString > &textures) |
| void | createBound () |
| void | createCenter () |
| void | createAbsoluteBound () |
| void | createAbsoluteBound (Common::BoundingBox parentPosition) |
| void | render (RenderPass pass) |
| void | drawSkeleton (const glm::mat4 &parent, bool showInvisible) |
| void | calcRenderTransform (const glm::mat4 &parentTransform) |
| Calculate the transform used for rendering. More... | |
| void | renderImmediate (const glm::mat4 &parentTransform) |
| void | queueRender (const glm::mat4 &parentTransform) |
| void | lockFrame () |
| void | unlockFrame () |
| void | lockFrameIfVisible () |
| void | unlockFrameIfVisible () |
| void | setBufferedPosition (float x, float y, float z) |
| void | setBufferedOrientation (float x, float y, float z, float angle) |
| void | flushBuffers () |
| TextureHandle * | getTextures (uint32 &count) |
| TextureHandle * | getEnvironmentMap (EnvironmentMapMode &mode) |
| void | setMaterial (Shader::ShaderMaterial *material) |
Protected Attributes inherited from Graphics::Aurora::ModelNode | |
| Model * | _model |
| The model this node belongs to. More... | |
| ModelNode * | _parent |
| The node's parent. More... | |
| std::list< ModelNode * > | _children |
| The node's children. More... | |
| Model * | _attachedModel |
| The model that is attached to this node. More... | |
| uint32 | _level |
| Common::UString | _name |
| The node's name. More... | |
| std::vector< Shader::ShaderRenderable > | _renderableArray |
| Damn you bioware. More... | |
| float | _center [3] |
| The node's center. More... | |
| float | _position [3] |
| Position of the node. More... | |
| float | _rotation [3] |
| Node rotation. More... | |
| float | _orientation [4] |
| Orientation of the node. More... | |
| float | _scale [3] |
| Scale of the node. More... | |
| float | _alpha |
| Alpha of the node, used if no _mesh is present in this node. More... | |
| std::vector< PositionKeyFrame > | _positionFrames |
| Keyframes for position animation. More... | |
| std::vector< QuaternionKeyFrame > | _orientationFrames |
| Keyframes for orientation animation. More... | |
| glm::mat4 | _absolutePosition |
| Position of the node after translate/rotate. More... | |
| glm::mat4 | _renderTransform |
| bool | _render |
| Render the node? More... | |
| bool | _dirtyRender |
| Rendering information needs updating. More... | |
| bool | _dirtyMesh |
| Mesh data needs updating. More... | |
| Mesh * | _mesh |
| ModelNode * | _rootStateNode |
| Common::BoundingBox | _boundBox |
| Common::BoundingBox | _absoluteBoundBox |
| uint16 | _nodeNumber |
| glm::mat4 | _invBindPose |
| Inverse bind pose matrix used for animations. More... | |
| glm::mat4 | _absoluteTransform |
| Absolute transformation matrix used for animations. More... | |
| float | _positionBuffer [3] |
| bool | _positionBuffered |
| float | _orientationBuffer [4] |
| bool | _orientationBuffered |
| std::vector< float > | _vertexCoordsBuffer |
| bool | _vertexCoordsBuffered |
| Shader::ShaderMaterial * | _material |
| Shader::ShaderRenderable * | _shaderRenderable |
Definition at line 98 of file model_jade.h.
| Graphics::Aurora::ModelNode_Jade::ModelNode_Jade | ( | Model & | model | ) |
Definition at line 296 of file model_jade.cpp.
Referenced by load().

| Graphics::Aurora::ModelNode_Jade::~ModelNode_Jade | ( | ) |
Definition at line 299 of file model_jade.cpp.
|
virtual |
Reimplemented from Graphics::Aurora::ModelNode.
Definition at line 386 of file model_jade.cpp.
References Graphics::Aurora::ModelNode::buildMaterial().
Referenced by load().


|
private |
Definition at line 653 of file model_jade.cpp.
References Graphics::Aurora::ModelNode::_mesh, Graphics::Aurora::ModelNode::_render, Graphics::Aurora::ModelNode::createBound(), Graphics::Aurora::ModelNode::Mesh::data, Graphics::IndexBuffer::getData(), Graphics::VertexBuffer::getData(), Graphics::Mesh::Mesh::getIndexBuffer(), Graphics::Mesh::Mesh::getVertexBuffer(), Graphics::Aurora::Model_Jade::ParserContext::indices, Graphics::Aurora::ModelNode::loadTextures(), Graphics::Aurora::ModelNode::MeshData::rawMesh, Graphics::Aurora::ModelNode::Mesh::render, Graphics::IndexBuffer::setSize(), Graphics::VertexBuffer::setVertexDeclInterleave(), Graphics::Aurora::Model_Jade::ParserContext::texCoords, Graphics::Aurora::Model_Jade::ParserContext::textures, Graphics::Aurora::Model_Jade::ParserContext::vertices, Graphics::VPOSITION, and Graphics::VTCOORD.
Referenced by load().


| void Graphics::Aurora::ModelNode_Jade::load | ( | Model_Jade::ParserContext & | ctx | ) |
Definition at line 302 of file model_jade.cpp.
References Graphics::Aurora::ModelNode::_mesh, Graphics::Aurora::ModelNode::_model, Graphics::Aurora::ModelNode::_name, Graphics::Aurora::ModelNode::_orientation, Graphics::Aurora::ModelNode::_position, buildMaterial(), Common::UString::c_str(), createMesh(), Graphics::Aurora::ModelNode::Mesh::data, Common::generateIDRandomString(), GfxMan, Graphics::Mesh::Mesh::init(), kNodeTypeHasMesh, load(), Graphics::Aurora::Model_Jade::ParserContext::mdl, Graphics::Aurora::Model_Jade::ParserContext::mdlName, MeshMan, ModelNode_Jade(), Graphics::Aurora::Model_Jade::ParserContext::names, Graphics::Aurora::Model_Jade::ParserContext::newNode(), Graphics::Aurora::Model_Jade::ParserContext::nodes, Graphics::Aurora::Model_Jade::ParserContext::offModelData, Common::rad2deg(), Graphics::Aurora::ModelNode::MeshData::rawMesh, Graphics::Aurora::Model::readArray(), Common::ReadStream::readIEEEFloatLE(), readMesh(), Common::ReadStream::readUint16LE(), Common::ReadStream::readUint32LE(), Common::SeekableReadStream::seek(), Graphics::Mesh::Mesh::setName(), Graphics::Aurora::ModelNode::setParent(), Common::SeekableReadStream::skip(), Graphics::Aurora::Model_Jade::ParserContext::state, and warning().
Referenced by Graphics::Aurora::Model_Jade::load(), and load().


|
private |
Definition at line 556 of file model_jade.cpp.
References MIN(), Common::SeekableReadStream::pos(), Common::ReadStream::readUint16LE(), Common::ReadStream::readUint32LE(), Common::SeekableReadStream::seek(), and Common::SeekableReadStream::skip().
Referenced by readMesh().


|
private |
Opens the resource for the materialID and parses it to return the 4 normal textures.
TODO: Proper material support.
Definition at line 702 of file model_jade.cpp.
References _jadeMaterialData, Graphics::Aurora::ModelNode_Jade::JadeMaterialData::ambientColor, Graphics::Aurora::ModelNode_Jade::JadeMaterialData::blending1, Graphics::Aurora::ModelNode_Jade::JadeMaterialData::blending2, Graphics::Aurora::ModelNode_Jade::JadeMaterialData::bumpCoordMultiplier, Graphics::Aurora::ModelNode_Jade::JadeMaterialData::bumpMapIsSpecular, Common::UString::c_str(), Graphics::Aurora::ModelNode_Jade::JadeMaterialData::cubeMultiplier, Graphics::Aurora::ModelNode_Jade::JadeMaterialData::diffuseColor, Graphics::Aurora::ModelNode_Jade::JadeMaterialData::doubleSided, Common::exceptionDispatcherWarning(), Graphics::Aurora::ModelNode_Jade::JadeMaterialData::falloff, Common::UString::format(), Common::kEncodingASCII, Aurora::kFileTypeMAB, Graphics::Aurora::ModelNode_Jade::JadeMaterialData::opacity1, Graphics::Aurora::ModelNode_Jade::JadeMaterialData::opacity2, Common::ReadStream::readByte(), Common::ReadStream::readIEEEFloatLE(), Common::readStringFixed(), Common::ReadStream::readUint32LE(), Graphics::Aurora::ModelNode_Jade::JadeMaterialData::renderPathID, ResMan, Common::SeekableReadStream::skip(), Graphics::Aurora::ModelNode_Jade::JadeMaterialData::terrainCoordMultiplier, and Graphics::Aurora::ModelNode_Jade::JadeMaterialData::waterAlpha.
Referenced by readMesh().


|
private |
Definition at line 390 of file model_jade.cpp.
References Graphics::Aurora::ModelNode::_mesh, Graphics::Aurora::ModelNode::Mesh::alpha, Graphics::Aurora::ModelNode::Mesh::beaming, Common::UString::empty(), Graphics::Aurora::ModelNode::Mesh::hasTransparencyHint, Graphics::Aurora::Model_Jade::ParserContext::indices, Graphics::Aurora::ModelNode::Mesh::isBackgroundGeometry, Common::kEncodingASCII, kNodeFlagsBackgroundGeometry, kNodeFlagsBeaming, kNodeFlagsRender, Graphics::Aurora::Model_Jade::ParserContext::mdl, Graphics::Aurora::Model_Jade::ParserContext::mdx, Graphics::Aurora::Model_Jade::ParserContext::offModelData, readChunkedIndices(), Common::ReadStream::readIEEEFloatLE(), readMaterialTextures(), readPlainIndices(), Common::readStringFixed(), Common::ReadStream::readUint16LE(), Common::ReadStream::readUint32LE(), Graphics::Aurora::ModelNode::Mesh::render, Common::SeekableReadStream::seek(), Graphics::Aurora::ModelNode::Mesh::selfIllum, Graphics::Aurora::ModelNode::Mesh::shadow, Common::SeekableReadStream::skip(), Graphics::Aurora::Model_Jade::ParserContext::texCoords, Graphics::Aurora::Model_Jade::ParserContext::textures, Graphics::Aurora::ModelNode::Mesh::transparencyHint, Graphics::Aurora::ModelNode::Mesh::transparencyHintFull, unfoldFaces(), and Graphics::Aurora::Model_Jade::ParserContext::vertices.
Referenced by load().


|
private |
Definition at line 542 of file model_jade.cpp.
References Common::SeekableReadStream::pos(), Common::ReadStream::readUint16LE(), and Common::SeekableReadStream::seek().
Referenced by readMesh().


|
private |
Unfolds triangle strips / fans into triangle lists.
Definition at line 586 of file model_jade.cpp.
References Graphics::Aurora::ModelNode::_model, Graphics::Aurora::ModelNode::_name, Common::UString::c_str(), Graphics::Aurora::Model::getName(), unfoldTriangleFan(), unfoldTriangleStrip(), and warning().
Referenced by readMesh().


|
private |
Definition at line 635 of file model_jade.cpp.
Referenced by unfoldFaces().

|
private |
Definition at line 611 of file model_jade.cpp.
Referenced by unfoldFaces().

|
private |
Definition at line 144 of file model_jade.h.
Referenced by readMaterialTextures().
1.8.14