imgration 14/12/2025

This commit is contained in:
2025-12-24 16:51:01 +09:00
parent 121eb8eb25
commit d8a8d9633d
46 changed files with 1866 additions and 1026 deletions

View File

@@ -1,5 +1,34 @@
#pragma once
#include "assets/scene.hpp"
void BuildTree(SceneAsset& sceneAsset);
#pragma once
#include "assets/scene.h"
#include "types/transform.h"
#include <vector>
void BuildTreeHelper(Transform& transform, const glm::mat4& parentMatrix);
template <typename ParsedProject>
void BuildTree(ParsedProject& project, Scene& scene)
{
// Get the scene data which contains the components
auto& sceneData = project.GetSceneData(scene.GUID);
// Get all transforms from the scene data
auto& transforms = sceneData.template GetComponents<Transform>();
// Find transforms with no parent (root transforms)
std::vector<Transform*> rootTransforms;
for (auto& transform : transforms)
{
if (transform.Parent == nullptr)
{
rootTransforms.push_back(&transform);
}
}
// Build tree for each root transform
for (auto rootTransform : rootTransforms)
{
BuildTreeHelper(*rootTransform, glm::mat4(1.0f));
}
}