Render position of the cube based on the transform component, fixed some compile issues with the previous commit

This commit is contained in:
2022-10-23 14:36:23 +02:00
parent 99eb5282e5
commit adf2331ab1
8 changed files with 32 additions and 12 deletions

View File

@ -1,5 +1,7 @@
#pragma once
#include "../BarinkEngine.h"
#include "../Graphics/Memory/Buffer.h"
#include "../Graphics/Memory/VertexArray.h"
#include <vector>
class RenderSurface
{

View File

@ -1,9 +1,11 @@
#include "Renderer.h"
#include "../Scene/Components.h"
#include "../Graphics/Memory/VertexArray.h"
#include "../Graphics/Memory/Buffer.h"
#include <glad/glad.h>
float Angle = 0.0;
Camera cam = Camera(glm::vec3(16.0f, 0.0f, 0.0f), glm::vec3(0.0f, 0.0f, 0.0f), 90.0f);
Camera cam = Camera(glm::vec3(12.0f, 0.0f, 0.0f), glm::vec3(0.0f, 0.0f, 0.0f), 90.0f);
glm::mat4 projection = glm::perspective(glm::radians(cam.Zoom), (800.0f / 600.0f), 0.001f, 100.0f);
BarinkEngine::Renderer::Renderer(){}
@ -56,7 +58,7 @@ void BarinkEngine::Renderer::Render(Scene& scene)
renderComponent.shader.setUniformVec3("Color", renderComponent.color);
renderComponent.shader.setUniformMat4("M", glm::mat4(1.0f));
renderComponent.shader.setUniformMat4("M", trans.transform);
renderComponent.shader.setUniformMat4("V", cam.GetViewMatrix());
renderComponent.shader.setUniformMat4("P", projection);

View File

@ -9,7 +9,6 @@
#include "Primitives/Camera.h"
#include "Renderable.h"
#include "GPUBucket.h"
#include "Memory/Framebuffer.h"
#include "../Scene/Components.h"

View File

@ -8,13 +8,13 @@ namespace BarinkEngine {
};
struct TransformComponent {
glm::mat4& transform = glm::mat4(1.0f);
glm::mat4 transform = glm::mat4(1.0f);
};
struct CameraComponent {
glm::mat4& view;
glm::mat4 view;
};

View File

@ -15,8 +15,8 @@ public:
}
template<class T>
T* GetComponent() {
return m_scene->m_registry.try_get<T>(m_entity);
T& GetComponent() {
return m_scene->m_registry.get<T>(m_entity);
}
private:

View File

@ -4,4 +4,4 @@ Node::Node(const std::string& name)
: name(name), parent(nullptr), children(std::vector<Node*>()) {}
Group::Group(const std::string& name )
: Node(name), transform(Transform()) {}
: Node(name) {}

View File

@ -1,7 +1,6 @@
#pragma once
#include <string>
#include <vector>
#include "../../Graphics/Transform.h"
class Node {
public:
@ -19,6 +18,5 @@ class Node {
class Group : public Node {
public:
Group(const std::string& name);
Transform& transform;
};