Progress
This commit is contained in:
		@@ -5,16 +5,24 @@
 | 
			
		||||
 | 
			
		||||
#include "assert/assert.hpp"
 | 
			
		||||
#include "Camera.hpp"
 | 
			
		||||
#include "game/Game.hpp"
 | 
			
		||||
 | 
			
		||||
using namespace Dawn;
 | 
			
		||||
 | 
			
		||||
void Camera::onInit() {
 | 
			
		||||
  std::cout << "Camera" << std::endl;
 | 
			
		||||
  if(renderTarget == nullptr) {
 | 
			
		||||
    this->setRenderTarget(
 | 
			
		||||
      getGame()->renderHost.backBufferRenderTarget
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Camera::onDispose() {
 | 
			
		||||
  std::cout << "~Camera" << std::endl;
 | 
			
		||||
  // renderTarget = nullptr;
 | 
			
		||||
  renderTarget = nullptr;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
std::shared_ptr<RenderTarget> Camera::getRenderTarget() {
 | 
			
		||||
  return this->renderTarget;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
glm::mat4 Camera::getProjection() {
 | 
			
		||||
@@ -44,4 +52,11 @@ glm::mat4 Camera::getProjection() {
 | 
			
		||||
 | 
			
		||||
float_t Camera::getAspect() {
 | 
			
		||||
  return 1.0f;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Camera::setRenderTarget(std::shared_ptr<RenderTarget> renderTarget) {
 | 
			
		||||
  if(this->renderTarget != nullptr) {
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
  this->renderTarget = renderTarget;
 | 
			
		||||
}
 | 
			
		||||
@@ -5,6 +5,7 @@
 | 
			
		||||
 | 
			
		||||
#pragma once
 | 
			
		||||
#include "scene/SceneItem.hpp"
 | 
			
		||||
#include "display/RenderTarget.hpp"
 | 
			
		||||
 | 
			
		||||
namespace Dawn {
 | 
			
		||||
  enum CameraType {
 | 
			
		||||
@@ -12,7 +13,10 @@ namespace Dawn {
 | 
			
		||||
    ORTHOGONAL
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  class Camera : public SceneComponent {
 | 
			
		||||
  class Camera final : public SceneComponent {
 | 
			
		||||
    private:
 | 
			
		||||
      std::shared_ptr<RenderTarget> renderTarget;
 | 
			
		||||
 | 
			
		||||
    public:
 | 
			
		||||
      float_t clipNear = 0.01f;
 | 
			
		||||
      float_t clipFar = 1000.0f;
 | 
			
		||||
@@ -25,8 +29,6 @@ namespace Dawn {
 | 
			
		||||
      float_t orthoBottom = -1.0f;
 | 
			
		||||
      float_t orthoTop = 1.0f;
 | 
			
		||||
 | 
			
		||||
      // std::shared_ptr<RenderTarget> renderTarget;
 | 
			
		||||
      
 | 
			
		||||
      void onInit() override;
 | 
			
		||||
      void onDispose() override;
 | 
			
		||||
 | 
			
		||||
@@ -39,11 +41,25 @@ namespace Dawn {
 | 
			
		||||
       */
 | 
			
		||||
      float_t getAspect();
 | 
			
		||||
 | 
			
		||||
      /**
 | 
			
		||||
       * Returns the render target for this camera.
 | 
			
		||||
       * 
 | 
			
		||||
       * @return Render target.
 | 
			
		||||
       */
 | 
			
		||||
      std::shared_ptr<RenderTarget> getRenderTarget();
 | 
			
		||||
 | 
			
		||||
      /**
 | 
			
		||||
       * Returns the projection matrix for this camera.
 | 
			
		||||
       * 
 | 
			
		||||
       * @return Projection matrix.
 | 
			
		||||
       */
 | 
			
		||||
      glm::mat4 getProjection();
 | 
			
		||||
 | 
			
		||||
      /**
 | 
			
		||||
       * Sets the render target for this camera.
 | 
			
		||||
       * 
 | 
			
		||||
       * @param renderTarget The render target to set.
 | 
			
		||||
       */
 | 
			
		||||
      void setRenderTarget(std::shared_ptr<RenderTarget> renderTarget);
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
@@ -8,7 +8,7 @@
 | 
			
		||||
#include "scene/SceneItem.hpp"
 | 
			
		||||
 | 
			
		||||
namespace Dawn {
 | 
			
		||||
  class MeshRenderer : public SceneComponent {
 | 
			
		||||
  class MeshRenderer final : public SceneComponent {
 | 
			
		||||
    public:
 | 
			
		||||
      std::shared_ptr<Mesh> mesh;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user