46 lines
1.1 KiB
C++
46 lines
1.1 KiB
C++
#pragma once
|
|
class EditorComponent;
|
|
|
|
class CameraPreview : public wi::gui::Widget
|
|
{
|
|
public:
|
|
wi::RenderPath3D renderpath;
|
|
wi::ecs::Entity entity = wi::ecs::INVALID_ENTITY;
|
|
EditorComponent* editor = nullptr;
|
|
|
|
void RenderPreview();
|
|
|
|
void Render(const wi::Canvas& canvas, wi::graphics::CommandList cmd) const override;
|
|
};
|
|
|
|
class CameraComponentWindow : public wi::gui::Window
|
|
{
|
|
public:
|
|
void Create(EditorComponent* editor);
|
|
|
|
EditorComponent* editor = nullptr;
|
|
wi::ecs::Entity entity = wi::ecs::INVALID_ENTITY;
|
|
void SetEntity(wi::ecs::Entity entity);
|
|
|
|
wi::gui::Slider farPlaneSlider;
|
|
wi::gui::Slider nearPlaneSlider;
|
|
wi::gui::Slider fovSlider;
|
|
wi::gui::Slider focalLengthSlider;
|
|
wi::gui::Slider apertureSizeSlider;
|
|
wi::gui::Slider apertureShapeXSlider;
|
|
wi::gui::Slider apertureShapeYSlider;
|
|
|
|
wi::gui::Button renderButton;
|
|
bool renderEnabled = false;
|
|
wi::gui::Slider resolutionXSlider;
|
|
wi::gui::Slider resolutionYSlider;
|
|
wi::gui::Slider samplecountSlider;
|
|
wi::gui::Slider updateIntervalSlider;
|
|
wi::gui::CheckBox crtCheckbox;
|
|
|
|
CameraPreview preview;
|
|
|
|
void ResizeLayout() override;
|
|
};
|
|
|