Converted a couple more things to shared pointers.

This commit is contained in:
2023-11-10 20:12:18 -06:00
parent 0beb1d9cb7
commit 732a90931c
16 changed files with 114 additions and 79 deletions

View File

@ -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() {

View File

@ -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.

View File

@ -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)();
}

View File

@ -12,7 +12,7 @@ namespace Dawn {
public:
// @optional
StateProperty<Camera*> camera;
TextureRenderTarget renderTarget;
std::shared_ptr<TextureRenderTarget> renderTarget;
CameraTexture(SceneItem *item);
void onStart() override;

View File

@ -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);