AnimEngine
GltfExtensions.h
1 #include "graphics/GltfScenePopulator.hpp"
2 #include <set>
3 #include <vector>
4 
29 {
30  public:
31  virtual ExtensionResultHint preProcessSceneCallback(GltfScenePopulator& aPopulator, const tinygltf::Scene& aSceneIn, Scene* aSceneOut) override;
32  virtual ExtensionResultHint postProcessAnimationCallback(GltfScenePopulator& populator, const tinygltf::Animation& aAnimationIn, std::vector<Bone*>& aTouchedBones, GltfAnimation& aAnimationOut) override;
33  virtual ExtensionResultHint preProcessPopulateAnimatorsCallback(GltfScenePopulator& aPopulator, std::unordered_map<std::string, GltfAnimation>& aAnimationsIn, Scene* aSceneOut) override;
34 
35  protected:
36  std::set<std::string> mEnabledAnimations;
37  std::set<std::string> mDisabledAnimations;
38 
39  private:
40  const static std::string _msAnimSeqName;
41  const static std::string _msPlayHintName;
42 };
43 
44 
56 {
57  public:
58 
59  virtual ExtensionResultHint postProcessSceneCallback(GltfScenePopulator& aPopulator, const tinygltf::Scene& aSceneIn, Scene* aSceneOut) override;
60  virtual ExtensionResultHint preTraverseNodeCallback(GltfScenePopulator& aPopulator, const AugNode& aNode, Entity* aParent, Entity*& aResult) override;
61  virtual ExtensionResultHint postProcessMeshEntityCallback(GltfScenePopulator& aPopulator, const AugNode& aNode, SolidMeshEntity*& aMesh) override;
62  virtual ExtensionResultHint postProcessSkinMeshEntityCallback(GltfScenePopulator& aPopulator, const AugNode& aNode, SkinnedMeshEntity*& aSkin) override;
63 
64  protected:
65 
66  struct VplNodeInfo{
67  int nodeRef;
68  int lightRef;
69  };
70  std::vector<VplNodeInfo> mVplNodes;
71 
72  const static std::string msRootObjName;
73  const static std::string msEnableGiFieldName;
74  const static std::string msIsVPLFieldName;
75 
76 };
77 
79 {
80  public:
81  virtual ExtensionResultHint preProcessSceneCallback(GltfScenePopulator& aPopulator, const tinygltf::Scene& aSceneIn, Scene* aSceneOut) override;
82 
83  private:
84  const static std::string _msExtraFieldName;
85  const static std::string _msIdName;
86  const static std::string _msArgsName;
87 };
Definition: GltfScenePopulator.hpp:40
Definition: GltfScenePopulator.hpp:27
Definition: GltfScenePopulator.hpp:122
Definition: GltfExtensions.h:28
Definition: SkinnedMeshEntity.hpp:55
Definition: SolidMeshEntity.hpp:31
Definition: GltfScenePopulator.hpp:12
Definition: EntitiesBase.hpp:18
Definition: GltfExtensions.h:78
Definition: Scene.hpp:12
Definition: GltfExtensions.h:66
Definition: GltfExtensions.h:55