diff --git a/Editor/src/ComponentsPanel/MaterialEditor.cpp b/Editor/src/ComponentsPanel/MaterialEditor.cpp index bb76b093..6e58d6e9 100644 --- a/Editor/src/ComponentsPanel/MaterialEditor.cpp +++ b/Editor/src/ComponentsPanel/MaterialEditor.cpp @@ -43,6 +43,7 @@ void MaterialEditor::Draw(Ref material) ImGui::TableSetupColumn("name", 0, 0.3f); ImGui::TableSetupColumn("set", 0, 0.6f); ImGui::TableSetupColumn("reset", 0, 0.1f); + ImGui::TableNextColumn(); ImGui::Text("Unlit"); @@ -51,6 +52,15 @@ void MaterialEditor::Draw(Ref material) bool unlit = material->data.u_Unlit == 1; ImGui::Checkbox("Unlit", &unlit); material->data.u_Unlit = (int)unlit; + ImGui::TableNextColumn(); + + ImGui::TableNextColumn(); + + ImGui::Text("Emissive"); + ImGui::TableNextColumn(); + + ImGui::DragFloat("##Emissiveness", &material->data.u_Emissive, 0.1f, 1.0f); + ImGui::TableNextColumn(); } ImGui::EndTable(); } @@ -62,7 +72,7 @@ void MaterialEditor::Draw(Ref material) UIFont boldfont = UIFont(Fonts::Bold); ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0.f, 0.f)); ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0.f, 8.f)); - AlbedoOpened = ImGui::CollapsingHeader("Albedo", ImGuiTreeNodeFlags_DefaultOpen); + AlbedoOpened = ImGui::CollapsingHeader(" ALBEDO", ImGuiTreeNodeFlags_DefaultOpen); ImGui::PopStyleVar(2); } diff --git a/Editor/src/Windows/EditorSelectionPanel.cpp b/Editor/src/Windows/EditorSelectionPanel.cpp index 8d14d45c..802eb75b 100644 --- a/Editor/src/Windows/EditorSelectionPanel.cpp +++ b/Editor/src/Windows/EditorSelectionPanel.cpp @@ -163,7 +163,8 @@ void EditorSelectionPanel::DrawFile(Ref file) using namespace Nuake; if (file->GetExtension() == ".material") { - DrawMaterialPanel(std::static_pointer_cast(selectedResource)); + MaterialEditor matEditor; + matEditor.Draw(std::static_pointer_cast(selectedResource)); } if (file->GetExtension() == ".project") { diff --git a/Editor/src/Windows/FileSystemUI.cpp b/Editor/src/Windows/FileSystemUI.cpp index b0053cb7..d92b3460 100644 --- a/Editor/src/Windows/FileSystemUI.cpp +++ b/Editor/src/Windows/FileSystemUI.cpp @@ -232,6 +232,10 @@ namespace Nuake { dragType = "_Map"; } + else if (fileExtension == ".material") + { + dragType = "_Material"; + } else if (fileExtension == ".obj" || fileExtension == ".mdl" || fileExtension == ".gltf" || fileExtension == ".md3" || fileExtension == ".fbx" || fileExtension == ".glb") { dragType = "_Model"; @@ -444,14 +448,15 @@ namespace Nuake { if (ImGui::MenuItem("Material")) { - std::string path = FileDialog::SaveFile("*.material"); - if (!String::EndsWith(path, ".material")) - { - path += ".material"; - } - + const std::string path = FileDialog::SaveFile("*.material"); if (!path.empty()) { + std::string finalPath = path; + if (!String::EndsWith(path, ".material")) + { + finalPath = path + ".material"; + } + Ref material = CreateRef(); material->IsEmbedded = false; auto jsonData = material->Serialize();