// Copyright (c) 2023 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT #include "assert/assert.hpp" #include "Camera.hpp" using namespace Dawn; void Camera::onInit() { std::cout << "Camera" << std::endl; } void Camera::onDispose() { std::cout << "~Camera" << std::endl; // renderTarget = nullptr; } glm::mat4 Camera::getProjection() { switch(this->type) { case CameraType::ORTHOGONAL: return glm::ortho( (float_t)this->orthoLeft, (float_t)this->orthoRight, (float_t)this->orthoBottom, (float_t)this->orthoTop, (float_t)this->clipNear, (float_t)this->clipFar ); case CameraType::PERSPECTIVE: return glm::perspective( (float_t)this->fov, this->getAspect(), (float_t)this->clipNear, (float_t)this->clipFar ); } assertUnreachable("Invalid Camera Type!"); return glm::mat4(1.0f); } float_t Camera::getAspect() { return 1.0f; }