Basic transform stuff

This commit is contained in:
2022-10-21 22:01:37 -07:00
parent 043873cc2d
commit be529b70c1
18 changed files with 363 additions and 38 deletions

View File

@ -35,5 +35,5 @@ std::shared_ptr<SceneItem> Scene::createSceneItem() {
}
Scene::~Scene() {
std::cout << "What the dick" << std::endl;
}

View File

@ -11,10 +11,8 @@ using namespace Dawn;
SceneItem::SceneItem(Scene &scene, sceneitemid_t id) :
scene(scene),
id(id),
transform(1.0f)
transform(*this)
{
this->id = id;
this->transform = glm::translate(this->transform, glm::vec3(0, 0, 0));
}
void SceneItem::init() {
@ -22,5 +20,5 @@ void SceneItem::init() {
}
SceneItem::~SceneItem() {
std::cout << "Scene item disposed" << std::endl;
}

View File

@ -5,6 +5,7 @@
#pragma once
#include "SceneItemComponent.hpp"
#include "display/Transform.hpp"
namespace Dawn {
typedef int32_t sceneitemid_t;
@ -18,7 +19,7 @@ namespace Dawn {
public:
Scene &scene;
sceneitemid_t id;
glm::mat4 transform;
Transform transform;
/**
* Constructor for a SceneItem. Scene Items should only be called and

View File

@ -10,7 +10,10 @@
using namespace Dawn;
SceneItemComponent::SceneItemComponent(SceneItem &item) : item(item) {
SceneItemComponent::SceneItemComponent(SceneItem &item) :
item(item),
transform(item.transform)
{
}
Scene & SceneItemComponent::getScene() {

View File

@ -5,6 +5,7 @@
#pragma once
#include "dawnlibs.hpp"
#include "display/Transform.hpp"
namespace Dawn {
class SceneItem;
@ -14,6 +15,7 @@ namespace Dawn {
class SceneItemComponent {
public:
SceneItem &item;
Transform &transform;
/**
* Constructs a new SceneItemComponent. Components are attached to

View File

@ -41,14 +41,6 @@ void Camera::updateProjection() {
}
}
void Camera::lookAt(glm::vec3 pos, glm::vec3 look) {
this->lookAt(pos, look, glm::vec3(0, 1, 0));
}
void Camera::lookAt(glm::vec3 pos, glm::vec3 look, glm::vec3 up) {
this->item.transform = glm::lookAt(pos, look, up);
}
RenderTarget & Camera::getRenderTarget() {
if(this->target == nullptr) {
return this->getGame().renderManager.getBackBuffer();

View File

@ -48,9 +48,6 @@ namespace Dawn {
*/
void updateProjection();
void lookAt(glm::vec3 position, glm::vec3 look);
void lookAt(glm::vec3 position, glm::vec3 look, glm::vec3 up);
/**
* Returns the intended render target for this camera to render to, will
* automatically revert to the back buffer if no frame buffer is provided.