Overte C++ Documentation
CalculateMeshTangentsTask.h
1 //
2 // CalculateMeshTangentsTask.h
3 // model-baker/src/model-baker
4 //
5 // Created by Sabrina Shanman on 2019/01/07.
6 // Copyright 2019 High Fidelity, Inc.
7 //
8 // Distributed under the Apache License, Version 2.0.
9 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
10 //
11 
12 #ifndef hifi_CalculateMeshTangentsTask_h
13 #define hifi_CalculateMeshTangentsTask_h
14 
15 #include <hfm/HFM.h>
16 
17 #include "Engine.h"
18 #include "BakerTypes.h"
19 
20 // Calculate mesh tangents if not already present in the mesh
21 class CalculateMeshTangentsTask {
22 public:
23  using NormalsPerMesh = std::vector<std::vector<glm::vec3>>;
24 
25  using Input = baker::VaryingSet2<baker::NormalsPerMesh, std::vector<hfm::Mesh>>;
26  using Output = baker::TangentsPerMesh;
27  using JobModel = baker::Job::ModelIO<CalculateMeshTangentsTask, Input, Output>;
28 
29  void run(const baker::BakeContextPointer& context, const Input& input, Output& output);
30 };
31 
32 #endif // hifi_CalculateMeshTangentsTask_h