Files
WickedEngine/Editor/GraphicsWindow.h
T
2026-01-19 18:26:13 +01:00

133 lines
4.5 KiB
C++

#pragma once
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::Slider hdrcalibrationSlider;
wi::gui::Slider hdrScalingSlider;
wi::gui::ComboBox renderPathComboBox;
wi::gui::Slider pathTraceTargetSlider;
wi::gui::Label pathTraceStatisticsLabel;
wi::gui::CheckBox occlusionCullingCheckBox;
wi::gui::CheckBox visibilityComputeShadingCheckBox;
wi::gui::CheckBox meshShaderCheckBox;
wi::gui::CheckBox meshletOcclusionCullingCheckBox;
wi::gui::CheckBox shadowLODCheckBox;
wi::gui::Slider resolutionScaleSlider;
wi::gui::Slider streamingSlider;
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::Slider vxgiVoxelSizeSlider;
wi::gui::Slider vxgiRayStepSizeSlider;
wi::gui::Slider vxgiMaxDistanceSlider;
wi::gui::Slider speedMultiplierSlider;
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::ComboBox tonemapCombo;
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::Slider lightShaftsFadeSpeedSlider;
wi::gui::CheckBox capsuleshadowCheckbox;
wi::gui::Slider capsuleshadowFadeSlider;
wi::gui::Slider capsuleshadowAngleSlider;
wi::gui::ComboBox aoComboBox;
wi::gui::Slider aoPowerSlider;
wi::gui::Slider aoRangeSlider;
wi::gui::Slider aoSampleCountSlider;
wi::gui::CheckBox reflectionsCheckBox;
wi::gui::CheckBox ssrCheckBox;
wi::gui::Slider ssrQualitySlider;
wi::gui::CheckBox raytracedReflectionsCheckBox;
wi::gui::Slider reflectionsRoughnessCutoffSlider;
wi::gui::Slider raytracedReflectionsRangeSlider;
wi::gui::Slider raytracedReflectionsQualitySlider;
wi::gui::CheckBox raytracedDiffuseCheckBox;
wi::gui::Slider raytracedDiffuseRangeSlider;
wi::gui::Slider raytracedDiffuseQualitySlider;
wi::gui::CheckBox ssgiCheckBox;
wi::gui::Slider ssgiDepthRejectionSlider;
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 crtFilterCheckBox;
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;
wi::gui::CheckBox meshblendCheckBox;
enum RENDERPATH
{
RENDERPATH_DEFAULT,
RENDERPATH_PATHTRACING,
};
void ChangeRenderPath(RENDERPATH path);
void UpdateSwapChainFormats(wi::graphics::SwapChain* swapChain);
void UpdateData();
void ResizeLayout() override;
void ApplySamplerSettings();
};