heightmap previews
This commit is contained in:
@@ -7,9 +7,11 @@
|
||||
#include "Puzzle.h"
|
||||
#include "Tools.h"
|
||||
|
||||
#include "bgfx/bgfx.h"
|
||||
#include "bx/filepath.h"
|
||||
#include "bx/string.h"
|
||||
#include "bx/timer.h"
|
||||
#include "rendering/Rendering.h"
|
||||
#include <imgui.h>
|
||||
#include <tracy/Tracy.hpp>
|
||||
|
||||
@@ -269,10 +271,6 @@ namespace Tools
|
||||
{
|
||||
ImGui::TextColored({0.9f, 0.2f, 0.2f, 1.0f}, "Shader load Failiure!");
|
||||
}
|
||||
if (ImGui::Button("Reload Meshes"))
|
||||
{
|
||||
LoadModels(rendering.Models, rendering.ModelCount);
|
||||
}
|
||||
ImGui::SameLine();
|
||||
if (ImGui::Button("Reload Level"))
|
||||
{
|
||||
@@ -395,6 +393,33 @@ namespace Tools
|
||||
ImGui::End();
|
||||
}
|
||||
|
||||
void RenderModelsUI(Game::GameRendering& rendering)
|
||||
{
|
||||
if (ImGui::Begin("Models"))
|
||||
{
|
||||
if (ImGui::Button("Reload"))
|
||||
{
|
||||
LoadModels(rendering.Models, rendering.ModelCount);
|
||||
}
|
||||
for (int32_t i = 0; i < rendering.ModelCount; ++i)
|
||||
{
|
||||
auto& mdl = rendering.Models[i];
|
||||
if (bgfx::isValid(mdl.HeightMapTexture))
|
||||
{
|
||||
ImGui::Text("%s", mdl.Name);
|
||||
ImGui::Image(mdl.HeightMapTexture.idx,
|
||||
ImVec2{(float)Game::HeightMap::Height, (float)Game::HeightMap::Width});
|
||||
}
|
||||
else
|
||||
{
|
||||
ImGui::Text("Invalid Handle!");
|
||||
}
|
||||
ImGui::Spacing();
|
||||
}
|
||||
}
|
||||
ImGui::End();
|
||||
}
|
||||
|
||||
void RenderPuzzlesUI()
|
||||
{
|
||||
auto& debug = Game::GetInstance().DebugData;
|
||||
@@ -405,6 +430,7 @@ namespace Tools
|
||||
char nameBuf[64]{0};
|
||||
for (int32_t i = 0; i < BX_COUNTOF(level.Puzzles); ++i)
|
||||
{
|
||||
ImGui::PushID(i);
|
||||
auto& puzzleData = level.Puzzles[i].Data;
|
||||
|
||||
bool isSelected = debug.SelectedDebugLevel == i;
|
||||
@@ -414,6 +440,9 @@ namespace Tools
|
||||
{
|
||||
debug.SelectedDebugLevel = isSelected ? UINT16_MAX : i;
|
||||
}
|
||||
ImGui::DragFloat3("Pos", &level.Puzzles[i].WorldPosition.x);
|
||||
ImGui::PopID();
|
||||
|
||||
ImGui::PopID();
|
||||
}
|
||||
}
|
||||
@@ -593,7 +622,7 @@ namespace Tools
|
||||
ImGui::Text("FPS: %.0f", 1.0 / time.Delta);
|
||||
|
||||
constexpr ImVec2 FpsPlotSize{200, 60};
|
||||
if (ImGui::BeginChild("FpsPlot", FpsPlotSize))
|
||||
if (ImGui::BeginChild("FpsPlot", FpsPlotSize, 0, ImGuiWindowFlags_NoInputs))
|
||||
{
|
||||
auto& drawList = *ImGui::GetWindowDrawList();
|
||||
ImVec2 pos = ImGui::GetWindowPos();
|
||||
@@ -659,6 +688,7 @@ namespace Tools
|
||||
RenderLogUI();
|
||||
RenderRenderSettingsUI(rendering);
|
||||
RenderTexturesUI(rendering);
|
||||
RenderModelsUI(rendering);
|
||||
RenderPuzzlesUI();
|
||||
RenderCardsUI(rendering);
|
||||
RenderEntitiesUI();
|
||||
|
||||
Reference in New Issue
Block a user