// Copyright (c) 2023 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT #include "Camera.hpp" using namespace Dawn; void Camera::onInit() { std::cout << "Camera" << std::endl; } 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); }