Files
WickedEngine/Editor/GraphicsWindow.h
T
2023-01-05 19:09:44 +01:00

115 lines
3.8 KiB
C++

#pragma once
#include "WickedEngine.h"
class EditorComponent;
class GraphicsWindow : public wi::gui::Window
{
public:
void Create(EditorComponent* editor);
EditorComponent* editor = nullptr;
wi::gui::CheckBox vsyncCheckBox;
wi::gui::ComboBox swapchainComboBox;
wi::gui::ComboBox renderPathComboBox;
wi::gui::Slider pathTraceTargetSlider;
wi::gui::Label pathTraceStatisticsLabel;
wi::gui::CheckBox occlusionCullingCheckBox;
wi::gui::CheckBox visibilityComputeShadingCheckBox;
wi::gui::Slider resolutionScaleSlider;
wi::gui::Slider GIBoostSlider;
wi::gui::CheckBox surfelGICheckBox;
wi::gui::ComboBox surfelGIDebugComboBox;
wi::gui::CheckBox ddgiCheckBox;
wi::gui::CheckBox ddgiDebugCheckBox;
wi::gui::TextInputField ddgiX;
wi::gui::TextInputField ddgiY;
wi::gui::TextInputField ddgiZ;
wi::gui::Slider ddgiRayCountSlider;
wi::gui::Slider ddgiBlendSpeedSlider;
wi::gui::Slider ddgiSmoothBackfaceSlider;
wi::gui::CheckBox vxgiCheckBox;
wi::gui::ComboBox vxgiDebugCombo;
wi::gui::CheckBox vxgiReflectionsCheckBox;
wi::gui::CheckBox vxgiFullresCheckBox;
wi::gui::Slider vxgiVoxelSizeSlider;
wi::gui::Slider vxgiRayStepSizeSlider;
wi::gui::Slider vxgiMaxDistanceSlider;
wi::gui::Slider speedMultiplierSlider;
wi::gui::CheckBox transparentShadowsCheckBox;
wi::gui::ComboBox shadowTypeComboBox;
wi::gui::ComboBox shadowProps2DComboBox;
wi::gui::ComboBox shadowPropsCubeComboBox;
wi::gui::ComboBox MSAAComboBox;
wi::gui::CheckBox temporalAACheckBox;
wi::gui::CheckBox temporalAADebugCheckBox;
wi::gui::ComboBox textureQualityComboBox;
wi::gui::Slider mipLodBiasSlider;
wi::gui::Slider raytraceBounceCountSlider;
wi::gui::Slider exposureSlider;
wi::gui::Slider brightnessSlider;
wi::gui::Slider contrastSlider;
wi::gui::Slider saturationSlider;
wi::gui::CheckBox lensFlareCheckBox;
wi::gui::CheckBox lightShaftsCheckBox;
wi::gui::Slider lightShaftsStrengthStrengthSlider;
wi::gui::ComboBox aoComboBox;
wi::gui::Slider aoPowerSlider;
wi::gui::Slider aoRangeSlider;
wi::gui::Slider aoSampleCountSlider;
wi::gui::CheckBox ssrCheckBox;
wi::gui::CheckBox raytracedReflectionsCheckBox;
wi::gui::Slider reflectionsRoughnessCutoffSlider;
wi::gui::Slider raytracedReflectionsRangeSlider;
wi::gui::CheckBox raytracedDiffuseCheckBox;
wi::gui::Slider raytracedDiffuseRangeSlider;
wi::gui::CheckBox screenSpaceShadowsCheckBox;
wi::gui::Slider screenSpaceShadowsStepCountSlider;
wi::gui::Slider screenSpaceShadowsRangeSlider;
wi::gui::CheckBox eyeAdaptionCheckBox;
wi::gui::Slider eyeAdaptionKeySlider;
wi::gui::Slider eyeAdaptionRateSlider;
wi::gui::CheckBox motionBlurCheckBox;
wi::gui::Slider motionBlurStrengthSlider;
wi::gui::CheckBox depthOfFieldCheckBox;
wi::gui::Slider depthOfFieldScaleSlider;
wi::gui::CheckBox bloomCheckBox;
wi::gui::Slider bloomStrengthSlider;
wi::gui::CheckBox fxaaCheckBox;
wi::gui::CheckBox colorGradingCheckBox;
wi::gui::CheckBox ditherCheckBox;
wi::gui::CheckBox sharpenFilterCheckBox;
wi::gui::Slider sharpenFilterAmountSlider;
wi::gui::CheckBox outlineCheckBox;
wi::gui::Slider outlineThresholdSlider;
wi::gui::Slider outlineThicknessSlider;
wi::gui::CheckBox chromaticaberrationCheckBox;
wi::gui::Slider chromaticaberrationSlider;
wi::gui::CheckBox fsrCheckBox;
wi::gui::Slider fsrSlider;
wi::gui::CheckBox fsr2CheckBox;
wi::gui::ComboBox fsr2Combo;
wi::gui::Slider fsr2Slider;
wi::gui::CheckBox variableRateShadingClassificationCheckBox;
wi::gui::CheckBox variableRateShadingClassificationDebugCheckBox;
wi::gui::CheckBox advancedLightCullingCheckBox;
wi::gui::CheckBox debugLightCullingCheckBox;
wi::gui::CheckBox tessellationCheckBox;
enum RENDERPATH
{
RENDERPATH_DEFAULT,
RENDERPATH_PATHTRACING,
};
void ChangeRenderPath(RENDERPATH path);
void UpdateSwapChainFormats(wi::graphics::SwapChain* swapChain);
void Update();
void ResizeLayout() override;
};