88 lines
2.8 KiB
C++
88 lines
2.8 KiB
C++
#pragma once
|
|
class EditorComponent;
|
|
|
|
class MaterialWindow : public wi::gui::Window
|
|
{
|
|
public:
|
|
void Create(EditorComponent* editor);
|
|
|
|
EditorComponent* editor = nullptr;
|
|
wi::ecs::Entity entity;
|
|
void SetEntity(wi::ecs::Entity entity);
|
|
|
|
wi::gui::TextInputField materialNameField;
|
|
wi::gui::Button presetLoadButton;
|
|
wi::gui::Button presetSaveButton;
|
|
wi::gui::CheckBox shadowReceiveCheckBox;
|
|
wi::gui::CheckBox shadowCasterCheckBox;
|
|
wi::gui::CheckBox useVertexColorsCheckBox;
|
|
wi::gui::CheckBox specularGlossinessCheckBox;
|
|
wi::gui::CheckBox occlusionPrimaryCheckBox;
|
|
wi::gui::CheckBox occlusionSecondaryCheckBox;
|
|
wi::gui::CheckBox vertexAOCheckBox;
|
|
wi::gui::CheckBox windCheckBox;
|
|
wi::gui::CheckBox doubleSidedCheckBox;
|
|
wi::gui::CheckBox outlineCheckBox;
|
|
wi::gui::CheckBox preferUncompressedCheckBox;
|
|
wi::gui::CheckBox disableStreamingCheckBox;
|
|
wi::gui::CheckBox coplanarCheckBox;
|
|
wi::gui::CheckBox capsuleShadowCheckBox;
|
|
wi::gui::ComboBox shaderTypeComboBox;
|
|
wi::gui::ComboBox blendModeComboBox;
|
|
wi::gui::ComboBox shadingRateComboBox;
|
|
wi::gui::ComboBox cameraComboBox;
|
|
wi::gui::Slider normalMapSlider;
|
|
wi::gui::Slider roughnessSlider;
|
|
wi::gui::Slider reflectanceSlider;
|
|
wi::gui::Slider metalnessSlider;
|
|
wi::gui::Slider emissiveSlider;
|
|
wi::gui::Slider saturationSlider;
|
|
wi::gui::Slider cloakSlider;
|
|
wi::gui::Slider chromaticAberrationSlider;
|
|
wi::gui::Slider transmissionSlider;
|
|
wi::gui::Slider refractionSlider;
|
|
wi::gui::Slider pomSlider;
|
|
wi::gui::Slider anisotropyStrengthSlider;
|
|
wi::gui::Slider anisotropyRotationSlider;
|
|
wi::gui::Slider displacementMappingSlider;
|
|
wi::gui::Slider subsurfaceScatteringSlider;
|
|
wi::gui::Slider texAnimFrameRateSlider;
|
|
wi::gui::Slider texAnimDirectionSliderU;
|
|
wi::gui::Slider texAnimDirectionSliderV;
|
|
wi::gui::Slider texMulSliderX;
|
|
wi::gui::Slider texMulSliderY;
|
|
wi::gui::Slider alphaRefSlider;
|
|
wi::gui::Slider sheenRoughnessSlider;
|
|
wi::gui::Slider clearcoatSlider;
|
|
wi::gui::Slider clearcoatRoughnessSlider;
|
|
wi::gui::Slider blendTerrainSlider;
|
|
wi::gui::Slider meshblendSlider;
|
|
wi::gui::Slider interiorScaleXSlider;
|
|
wi::gui::Slider interiorScaleYSlider;
|
|
wi::gui::Slider interiorScaleZSlider;
|
|
wi::gui::Slider interiorOffsetXSlider;
|
|
wi::gui::Slider interiorOffsetYSlider;
|
|
wi::gui::Slider interiorOffsetZSlider;
|
|
wi::gui::Slider interiorRotationSlider;
|
|
|
|
wi::gui::ComboBox colorComboBox;
|
|
wi::gui::ColorPicker colorPicker;
|
|
|
|
wi::gui::ComboBox textureSlotComboBox;
|
|
wi::gui::Image textureSlotImage;
|
|
wi::gui::Button textureSlotLoadButton;
|
|
wi::gui::Button textureSlotSelectButton;
|
|
wi::gui::Button textureSlotClearButton;
|
|
wi::gui::Label textureSlotLabel;
|
|
wi::gui::TextInputField textureSlotUvsetField;
|
|
|
|
wi::unordered_map<std::string, wi::Resource> uniqueTextures;
|
|
wi::gui::Window texturePickerWindow;
|
|
std::deque<wi::gui::Button> texturePickerButtons;
|
|
|
|
void RecreateTexturePickerButtons();
|
|
|
|
void ResizeLayout() override;
|
|
};
|
|
|