WoW Model Viewer
Your premiere tool for viewing, equipping and animating World of Warcraft models.
Loading...
Searching...
No Matches
FBXHeaders.h
Go to the documentation of this file.
1/*----------------------------------------------------------------------*\
2| This file is part of WoW Model Viewer |
3| |
4| WoW Model Viewer is free software: you can redistribute it and/or |
5| modify it under the terms of the GNU General Public License as |
6| published by the Free Software Foundation, either version 3 of the |
7| License, or (at your option) any later version. |
8| |
9| WoW Model Viewer is distributed in the hope that it will be useful, |
10| but WITHOUT ANY WARRANTY; without even the implied warranty of |
11| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12| GNU General Public License for more details. |
13| |
14| You should have received a copy of the GNU General Public License |
15| along with WoW Model Viewer. |
16| If not, see <http://www.gnu.org/licenses/>. |
17\*----------------------------------------------------------------------*/
18
19/*
20 * FBXHeaders.h
21 *
22 * Created on: 14 may 2019
23 * Copyright: 2019 , WoW Model Viewer (http://wowmodelviewer.net)
24 */
25
26#pragma once
27
28#include <map>
29#include <string>
30#include <vector>
31
32#include "fbxsdk.h"
33#include "glm/glm.hpp"
34
35#include "WoWModel.h"
36
37#define SCALE_FACTOR 50.0f
38
40namespace FBXHeaders
41{
42 bool createFBXHeaders(FbxString fileVersion, std::string l_FileName, FbxManager* & l_Manager, FbxExporter* & l_Exporter,
43 FbxScene* & l_Scene);
44 FbxNode* createMesh(FbxManager* & l_manager, FbxScene* & l_scene, WoWModel* model,
45 const glm::mat4& matrix = glm::mat4(1.0f), const glm::vec3& offset = glm::vec3(0.0f));
46 void createSkeleton(WoWModel* l_model, FbxScene* & l_scene, FbxNode* & l_skeletonNode,
47 std::map<int, FbxNode*>& l_boneNodes);
48 void storeBindPose(FbxScene* & l_scene, std::vector<FbxCluster*> l_boneClusters, FbxNode* l_meshNode);
49 //void storeRestPose(FbxScene* & l_scene, FbxNode* & l_SkeletonRoot);
50 void createAnimation(WoWModel* l_model, FbxScene*& l_scene, std::string animName, ModelAnimation cur_anim,
51 std::map<int, FbxNode*>& skeleton);
52}
Core WoW .m2 model: geometry, animation, textures, and character data.
Definition WoWModel.h:50
Shared FBX export utility functions for scene setup, mesh creation, and skeleton binding.
Definition FBXHeaders.h:41
FbxNode * createMesh(FbxManager *&l_manager, FbxScene *&l_scene, WoWModel *model, const glm::mat4 &matrix=glm::mat4(1.0f), const glm::vec3 &offset=glm::vec3(0.0f))
void createSkeleton(WoWModel *l_model, FbxScene *&l_scene, FbxNode *&l_skeletonNode, std::map< int, FbxNode * > &l_boneNodes)
void createAnimation(WoWModel *l_model, FbxScene *&l_scene, std::string animName, ModelAnimation cur_anim, std::map< int, FbxNode * > &skeleton)
void storeBindPose(FbxScene *&l_scene, std::vector< FbxCluster * > l_boneClusters, FbxNode *l_meshNode)
bool createFBXHeaders(FbxString fileVersion, std::string l_FileName, FbxManager *&l_Manager, FbxExporter *&l_Exporter, FbxScene *&l_Scene)
An animation sequence entry in the M2 model (block B).