Converted a couple more things to shared pointers.
This commit is contained in:
		@@ -51,8 +51,8 @@ glm::mat4 Camera::getProjection() {
 | 
			
		||||
  return this->projection;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
RenderTarget * Camera::getRenderTarget() {
 | 
			
		||||
  return (RenderTarget*)this->renderTarget;
 | 
			
		||||
std::shared_ptr<RenderTarget> Camera::getRenderTarget() {
 | 
			
		||||
  return this->renderTarget;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
float_t Camera::getAspect() {
 | 
			
		||||
 
 | 
			
		||||
@@ -29,7 +29,7 @@ namespace Dawn {
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      // @optional
 | 
			
		||||
      StateProperty<RenderTarget*> renderTarget;
 | 
			
		||||
      StateProperty<std::shared_ptr<RenderTarget>> renderTarget;
 | 
			
		||||
      // @optional
 | 
			
		||||
      StateProperty<float_t> fov;
 | 
			
		||||
      // @optional
 | 
			
		||||
@@ -70,7 +70,7 @@ namespace Dawn {
 | 
			
		||||
       * 
 | 
			
		||||
       * @return The target render target framebuffer.
 | 
			
		||||
       */
 | 
			
		||||
      RenderTarget * getRenderTarget();
 | 
			
		||||
      std::shared_ptr<RenderTarget> getRenderTarget();
 | 
			
		||||
 | 
			
		||||
      /**
 | 
			
		||||
       * Returs the aspect ratio of the camera.
 | 
			
		||||
 
 | 
			
		||||
@@ -9,9 +9,9 @@ using namespace Dawn;
 | 
			
		||||
 | 
			
		||||
CameraTexture::CameraTexture(SceneItem *item) :
 | 
			
		||||
  SceneItemComponent(item),
 | 
			
		||||
  camera(nullptr),
 | 
			
		||||
  renderTarget(32.0f, 32.0f)
 | 
			
		||||
  camera(nullptr)
 | 
			
		||||
{
 | 
			
		||||
  renderTarget = std::make_shared<TextureRenderTarget>(32, 32);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void CameraTexture::onStart() {
 | 
			
		||||
@@ -19,6 +19,6 @@ void CameraTexture::onStart() {
 | 
			
		||||
 | 
			
		||||
  useEffect([&]{
 | 
			
		||||
    if(this->camera == nullptr) return;
 | 
			
		||||
    this->camera->renderTarget = &this->renderTarget;
 | 
			
		||||
    this->camera->renderTarget = this->renderTarget;
 | 
			
		||||
  }, camera)();
 | 
			
		||||
}
 | 
			
		||||
@@ -12,7 +12,7 @@ namespace Dawn {
 | 
			
		||||
    public:
 | 
			
		||||
      // @optional
 | 
			
		||||
      StateProperty<Camera*> camera;
 | 
			
		||||
      TextureRenderTarget renderTarget;
 | 
			
		||||
      std::shared_ptr<TextureRenderTarget> renderTarget;
 | 
			
		||||
 | 
			
		||||
      CameraTexture(SceneItem *item);
 | 
			
		||||
      void onStart() override;
 | 
			
		||||
 
 | 
			
		||||
@@ -80,7 +80,7 @@ void UISimpleMenu::onStart() {
 | 
			
		||||
            break;
 | 
			
		||||
 | 
			
		||||
          case UI_DRAW_TYPE_WORLD_CAMERA_RELATIVE:
 | 
			
		||||
            RenderTarget *rt = canvas->camera->getRenderTarget();
 | 
			
		||||
            auto rt = canvas->camera->getRenderTarget();
 | 
			
		||||
            mouse *= glm::vec2(rt->getWidth(), rt->getHeight());
 | 
			
		||||
            ray.origin = glm::vec3(mouse, 5);
 | 
			
		||||
            ray.direction = glm::vec3(0, 0, -10);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user