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