Formatting

This commit is contained in:
2026-09-23 00:42:47 -07:00
parent a98eac3dc7
commit 6a50cdb4e8
4 changed files with 62 additions and 63 deletions
+2 -1
View File
@@ -2,6 +2,7 @@
namespace sophia {
Entity::Entity(entt::entity handle, Scene* scene) : handle(handle), scene(scene) {}
Entity::Entity(entt::entity handle, Scene* scene)
: handle(handle), scene(scene) {}
} // namespace sophia
+15 -19
View File
@@ -1,44 +1,42 @@
#pragma once
#include <sophia/scene.hpp>
#include <entt/entt.hpp>
#include <sophia/util/assert.hpp>
#include <sophia/scene.hpp>
#include <sophia/types.hpp>
#include <sophia/util/assert.hpp>
namespace sophia {
class Entity {
public:
public:
Entity(const Entity&) = default;
Entity& operator=(const Entity&) = default;
Entity() = default;
Entity(entt::entity handle, Scene* scene);
template<typename T, typename... Args>
template <typename T, typename... Args>
T& addComponent(Args&&... args) {
SOPHIA_ASSERT(!hasComponent<T>(), "Entity already has component!");
T& component = scene->registry.emplace<T>(handle, std::forward<Args>(args)...);
T& component =
scene->registry.emplace<T>(handle, std::forward<Args>(args)...);
// scene->OnComponentAdded<T>(*this, component);
return component;
}
template<typename T>
T& getComponent()
{
template <typename T>
T& getComponent() {
SOPHIA_ASSERT(hasComponent<T>(), "Entity does not have component!");
return scene->registry.get<T>(handle);
}
template<typename T>
bool hasComponent()
{
template <typename T>
bool hasComponent() {
return scene->registry.all_of<T>(handle);
}
template<typename T>
void removeComponent()
{
template <typename T>
void removeComponent() {
SOPHIA_ASSERT(hasComponent<T>(), "Entity does not have component!");
scene->registry.remove<T>(handle);
}
@@ -54,12 +52,10 @@ public:
return handle == other.handle && scene == other.scene;
}
bool operator!=(const Entity& other) const {
return !(*this == other);
}
bool operator!=(const Entity& other) const { return !(*this == other); }
private:
entt::entity handle { entt::null};
private:
entt::entity handle{entt::null};
Scene* scene = nullptr;
};
+9 -7
View File
@@ -1,26 +1,28 @@
#include "rendering/scene_renderer.hpp"
#include <sophia/util/assert.hpp>
#include <sophia/components.hpp>
#include <sophia/util/assert.hpp>
namespace sophia {
namespace {
struct PushConstantData {
struct PushConstantData {
glm::mat4 transform{1.f};
glm::vec4 color{1.f};
};
}
};
} // namespace
SceneRenderer::SceneRenderer(ResourceRegistry& resources)
: resources{resources} {}
SceneRenderer::~SceneRenderer() {}
void SceneRenderer::render(const Scene& scene, Entity camera, RenderTargetHandle target) {
SOPHIA_ASSERT(camera.hasComponent<CameraComponent>(), "camera does not have camera component!");
void SceneRenderer::render(const Scene& scene, Entity camera,
RenderTargetHandle target) {
SOPHIA_ASSERT(camera.hasComponent<CameraComponent>(),
"camera does not have camera component!");
auto& R = scene.registry;
auto& registry = scene.registry;
// Get all mesh
// For each mesh, get all entities(ES) that have a transform and that mesh
+1 -1
View File
@@ -8,7 +8,7 @@
namespace sophia {
/**
/**
* !TEMP to be decoupled once scene batching and rendering impl
*/
class SceneRenderer {