29 #ifndef NVBLASTEXTEXPORTERFBXWRITER_H 30 #define NVBLASTEXTEXPORTERFBXWRITER_H 44 class FbxSurfaceMaterial;
45 class FbxDisplayLayer;
68 virtual void release()
override;
73 fbxsdk::FbxScene* getScene();
78 virtual bool appendMesh(
const AuthoringResult& aResult,
const char* assetName,
bool nonSkinned)
override;
84 virtual bool appendMesh(
const ExporterMeshData& meshData,
const char* assetName,
bool nonSkinned)
override;
89 virtual bool saveToFile(
const char* assetName,
const char* outputPath)
override;
94 virtual void setInteriorIndex(int32_t index)
override;
102 std::vector<fbxsdk::FbxSurfaceMaterial*> mMaterials;
103 fbxsdk::FbxScene* mScene;
104 fbxsdk::FbxDisplayLayer* mRenderLayer;
107 std::shared_ptr<fbxsdk::FbxManager> sdkManager;
108 std::map<uint32_t, fbxsdk::FbxNode*> chunkNodes;
109 std::map<uint32_t, NvcVec3> worldChunkPivots;
111 bool appendNonSkinnedMesh(
const AuthoringResult& aResult,
const char* assetName);
112 bool appendNonSkinnedMesh(
const ExporterMeshData& meshData,
const char* assetName);
120 bool appendCollisionMesh(uint32_t meshCount, uint32_t* offsets,
CollisionHull** hulls,
const char* assetName);
122 uint32_t addCollisionHulls(uint32_t chunkIndex, fbxsdk::FbxDisplayLayer* displayLayer, fbxsdk::FbxNode* parentNode, uint32_t hullsCount,
CollisionHull** hulls);
123 uint32_t createChunkRecursive(uint32_t currentCpIdx, uint32_t chunkIndex, fbxsdk::FbxNode *meshNode, fbxsdk::FbxNode* parentNode, fbxsdk::FbxSkin* skin,
const AuthoringResult& aResult);
124 uint32_t createChunkRecursive(uint32_t currentCpIdx, uint32_t chunkIndex, fbxsdk::FbxNode *meshNode, fbxsdk::FbxNode* parentNode, fbxsdk::FbxSkin* skin,
const ExporterMeshData& meshData);
126 void createChunkRecursiveNonSkinned(
const std::string& meshName, uint32_t chunkIndex, fbxsdk::FbxNode* parentNode,
127 const std::vector<fbxsdk::FbxSurfaceMaterial*>& materials,
const AuthoringResult& aResult);
129 void createChunkRecursiveNonSkinned(
const std::string& meshName, uint32_t chunkIndex, fbxsdk::FbxNode* parentNode,
130 const std::vector<fbxsdk::FbxSurfaceMaterial*>& materials,
const ExporterMeshData& meshData);
132 void addControlPoints(fbxsdk::FbxMesh* mesh,
const ExporterMeshData& meshData);
135 void generateSmoothingGroups(fbxsdk::FbxMesh* mesh, FbxSkin* skin);
136 void removeDuplicateControlPoints(fbxsdk::FbxMesh* mesh, FbxSkin* skin);
138 int32_t mInteriorIndex;
144 #endif // NVBLASTEXTEXPORTERFBXWRITER_H Definition: NvBlastExtExporterFbxWriter.h:58
Definition: NvBlastExtExporterFbxWriter.h:37
Definition: NvBlastExtAuthoringTypes.h:133
Definition: NvBlastExtAuthoringTypes.h:148
Definition: NvBlastExtExporter.h:50
Definition: NvBlastExtExporter.h:208
Definition: NvBlastTypes.h:286
bool bOutputFBXAscii
Definition: NvBlastExtExporterFbxWriter.h:99
Definition: NvBlastArray.h:37