5 #include "VectorMath.h"
7 #include "InteriorsInstanceRepository.h"
8 #include "InteriorRenderableSet.h"
29 void CreateFloorRenderablesFromCreationData(
30 const std::string& interiorIdentifier,
33 const float interiorTerrainHeight,
34 std::map<std::string, InteriorRenderableSet*>& renderables,
35 std::vector<Rendering::Renderables::InteriorHighlightRenderable*>& interiorHighlightRenderables,
36 const std::vector<InstanceSourceMeshData>& instanceSourceRenderableDatas,
37 std::vector<bool>& isInstanceSourceMeshUsed);
43 static std::vector<m44> GetTransformsForTag(
int currentTagIndex,
const std::vector<m44>& instanceTransformsForSourceMesh,
const std::vector<int>& tagIndices,
int tagIndexReadOffset);
45 static int GetInstanceCountForTagIndex(
int tagIndex,
size_t instanceCount,
const std::vector<int>& tagIndices);
47 static std::vector<InteriorsInstanceRepository::InstanceData> ExtractInstanceDatasForTag(
51 const std::vector<int>& tagIndices,
54 const std::vector<std::string>& instanceIds);
56 InteriorRenderableSet& GetOrAddRenderableSetForTag(std::map<std::string, InteriorRenderableSet*> &renderables,
const std::string& tag);
58 std::vector<Rendering::Renderables::InteriorHighlightRenderable*> CreateInteriorHighlightRenderables(
60 const std::string& interiorIdentifier,
61 const float interiorTerrainHeight);
63 void CreateRenderableSetsForUntaggedGeometry(
64 std::map<std::string, InteriorRenderableSet*>& renderables,
66 const std::string& interiorIdentifier,
67 const float interiorTerrainHeight);
69 void CreateRenderableSetsFromTaggedGeometry(
70 std::map<std::string, InteriorRenderableSet*>& renderables,
72 const std::string& interiorIdentifier,
73 const float interiorTerrainHeight,
74 const std::vector<InstanceSourceMeshData>& instanceSourceRenderableDatas,
75 std::vector<bool>& isInstanceSourceMeshUsed,
76 const int floorIndex);
78 int AddInstancedGeometryForTag(
80 std::vector<InteriorsInstanceRepository::InstanceData>& instanceDatas,
81 std::vector<bool>& isInstanceSourceMeshUsed,
82 const std::vector<InstanceSourceMeshData>& instanceSourceRenderableDatas,
83 const int currentTagIndex,
85 const int floorIndex);
87 void AddNonInstancedGeometryForTag(
89 int tagIndexReadOffset,