28 lines
709 B
C++
28 lines
709 B
C++
//
|
|
// Created by sebastian on 29.07.26.
|
|
//
|
|
|
|
#include "MeshRenderSystem.h"
|
|
|
|
#include "ecs/standardComponents/MeshComponent.h"
|
|
#include "ecs/standardComponents/TransformComponent.h"
|
|
|
|
|
|
void engine::MeshRenderSystem::update(engine::EntityRegistry ®istry, engine::RenderQueue &renderQueue) {
|
|
renderState.apply();
|
|
auto transforms = registry.getPool<engine::TransformComponent>();
|
|
auto meshes = registry.getPool<engine::MeshComponent>();
|
|
|
|
for (auto& [entity, mesh] : meshes)
|
|
{
|
|
if (!transforms.has(entity))
|
|
continue;
|
|
|
|
auto& transform = transforms.get(entity);
|
|
|
|
renderQueue.submit(engine::RenderCommand(mesh.model, transform.computeModelMatrix()));
|
|
}
|
|
|
|
|
|
}
|