Skip to content

Commit

Permalink
Merge pull request #181 from JacobDomagala/175-further-improvements-t…
Browse files Browse the repository at this point in the history
…o-editor

[#180]: Cleanup renderer
  • Loading branch information
JacobDomagala authored Jan 11, 2024
2 parents 5e46889 + f8bcf9b commit 8be9d2a
Show file tree
Hide file tree
Showing 13 changed files with 994 additions and 1,044 deletions.
51 changes: 25 additions & 26 deletions editor/editor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Editor::Editor(const glm::ivec2& screenSize) : gui_(*this)

InputManager::Init(window_.GetWindowHandle());

renderer::VulkanRenderer::Initialize(window_.GetWindowHandle(),
renderer::Initialize(window_.GetWindowHandle(),
renderer::ApplicationType::EDITOR);
gui_.Init();
InputManager::RegisterForInput(window_.GetWindowHandle(), this);
Expand Down Expand Up @@ -662,12 +662,12 @@ Editor::SetRenderLayerToDraw(int32_t layer)
void
Editor::SetupRendererData() const
{
renderer::VulkanRenderer::RecreateQuadPipeline();
renderer::RecreateQuadPipeline();

DrawGrid();
renderer::VulkanRenderer::CreateLinePipeline();
renderer::VulkanRenderer::SetupLineData();
renderer::VulkanRenderer::UpdateLineData();
renderer::CreateLinePipeline();
renderer::SetupLineData();
renderer::UpdateLineData();
}


Expand Down Expand Up @@ -755,7 +755,7 @@ Editor::Render(VkCommandBuffer cmdBuffer)
if (levelLoaded_)
{
auto& renderData =
renderer::Data::renderData_[renderer::VulkanRenderer::GetCurrentlyBoundType()];
renderer::Data::renderData_[renderer::GetCurrentlyBoundType()];

currentLevel_->GetSprite().Render();

Expand Down Expand Up @@ -871,24 +871,24 @@ Editor::DrawAnimationPoints()
if (std::ranges::find(animaltionPointIDs, point.GetLinkedObjectID())
!= animaltionPointIDs.end())
{
renderer::VulkanRenderer::DrawDynamicLine(lineStart, point.GetPosition());
renderer::DrawDynamicLine(lineStart, point.GetPosition());
lineStart = point.GetCenteredPosition();
}
}
}

renderer::VulkanRenderer::UpdateLineData(renderer::EditorData::numGridLines);
renderer::UpdateLineData(renderer::EditorData::numGridLines);
}

void
Editor::DrawBoundingBoxes()
{
auto drawBoundingBox = [](const renderer::Sprite& sprite) {
const auto rect = sprite.GetTransformedRectangle();
renderer::VulkanRenderer::DrawDynamicLine(rect[0], rect[1]);
renderer::VulkanRenderer::DrawDynamicLine(rect[1], rect[2]);
renderer::VulkanRenderer::DrawDynamicLine(rect[2], rect[3]);
renderer::VulkanRenderer::DrawDynamicLine(rect[3], rect[0]);
renderer::DrawDynamicLine(rect[0], rect[1]);
renderer::DrawDynamicLine(rect[1], rect[2]);
renderer::DrawDynamicLine(rect[2], rect[3]);
renderer::DrawDynamicLine(rect[3], rect[0]);
};

for (const auto object : selectedObjects_)
Expand Down Expand Up @@ -919,12 +919,12 @@ Editor::DrawGrid() const

for (int i = 0; i <= h; ++i)
{
renderer::VulkanRenderer::DrawLine(glm::vec2(0, i * grad), glm::vec2(levelSize.x, i * grad));
renderer::DrawLine(glm::vec2(0, i * grad), glm::vec2(levelSize.x, i * grad));
}

for (int i = 0; i <= w; ++i)
{
renderer::VulkanRenderer::DrawLine(glm::vec2(i * grad, 0), glm::vec2(i * grad, levelSize.y));
renderer::DrawLine(glm::vec2(i * grad, 0), glm::vec2(i * grad, levelSize.y));
}

renderer::EditorData::numGridLines = renderer::EditorData::numLines;
Expand Down Expand Up @@ -985,7 +985,7 @@ Editor::FreeLevelData()
pathfinderNodes_.clear();
animationPoints_.clear();

renderer::VulkanRenderer::FreeData(renderer::ApplicationType::EDITOR, false);
renderer::FreeData(renderer::ApplicationType::EDITOR, false);
}
}

Expand Down Expand Up @@ -1014,7 +1014,7 @@ Editor::LoadLevel(const std::string& levelPath)
{
FreeLevelData();

renderer::VulkanRenderer::SetAppMarker(renderer::ApplicationType::EDITOR);
renderer::SetAppMarker(renderer::ApplicationType::EDITOR);

{
SCOPED_TIMER("Total level load");
Expand Down Expand Up @@ -1176,7 +1176,6 @@ Editor::PlayLevel()
void
Editor::LaunchGameLoop()
{
renderer::VulkanRenderer::isLoaded_ = false;
{
Game game;
game.Init("GameInit.json", false);
Expand All @@ -1186,10 +1185,10 @@ Editor::LaunchGameLoop()
game.MainLoop();
}

renderer::VulkanRenderer::FreeData(renderer::ApplicationType::GAME, true);
renderer::FreeData(renderer::ApplicationType::GAME, true);
playGame_ = false;

renderer::VulkanRenderer::SetAppMarker(renderer::ApplicationType::EDITOR);
renderer::SetAppMarker(renderer::ApplicationType::EDITOR);
}

void
Expand Down Expand Up @@ -1257,22 +1256,22 @@ Editor::Update()

if (mouseDrag_ and selectRect_ != std::array< glm::vec2, 4 >{})
{
renderer::VulkanRenderer::DrawDynamicLine(selectRect_[0], selectRect_[1]);
renderer::VulkanRenderer::DrawDynamicLine(selectRect_[1], selectRect_[2]);
renderer::VulkanRenderer::DrawDynamicLine(selectRect_[2], selectRect_[3]);
renderer::VulkanRenderer::DrawDynamicLine(selectRect_[3], selectRect_[0]);
renderer::DrawDynamicLine(selectRect_[0], selectRect_[1]);
renderer::DrawDynamicLine(selectRect_[1], selectRect_[2]);
renderer::DrawDynamicLine(selectRect_[2], selectRect_[3]);
renderer::DrawDynamicLine(selectRect_[3], selectRect_[0]);
}

{
const time::ScopedTimer uiTImer(&uiTime_);
gui_.UpdateUI();
}

auto& renderData = renderer::VulkanRenderer::GetRenderData();
auto& renderData = renderer::GetRenderData();
renderData.viewMat = camera_.GetViewMatrix();
renderData.projMat = camera_.GetProjectionMatrix();

renderer::VulkanRenderer::UpdateData();
renderer::UpdateData();
}

void
Expand Down Expand Up @@ -1343,7 +1342,7 @@ Editor::MainLoop()
Update();

const time::ScopedTimer renderTimer(&renderTime_);
renderer::VulkanRenderer::Render(this);
renderer::Render(this);
}

timeLastFrame_ = watch.Stop();
Expand Down
25 changes: 0 additions & 25 deletions editor/gui/editor_gui.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
#include "time/time_step.hpp"

#include <glm/glm.hpp>
#include <vulkan/vulkan.h>

#include <memory>
#include <unordered_map>
Expand All @@ -22,12 +21,6 @@ class EditorObjectWindow;
class LevelWindow;
class Level;

struct PushConstBlock
{
glm::vec2 scale = {};
glm::vec2 translate = {};
};

class EditorGUI : public InputListener
{
public:
Expand Down Expand Up @@ -129,24 +122,6 @@ class EditorGUI : public InputListener
// Data needed for loaded objects menu
std::unordered_map< Object::ID, std::pair< std::string, bool > > objectsInfo_ = {};
Object::ID setScrollTo_ = Object::INVALID_ID;

inline static VkImage fontImage_ = {};
inline static VkDeviceMemory fontMemory_ = {};
inline static VkImageView m_fontView = {};
inline static VkSampler sampler_ = {};
inline static VkDescriptorPool descriptorPool_ = {};
inline static VkDescriptorSetLayout descriptorSetLayout_ = {};
inline static VkDescriptorSet descriptorSet_ = {};

inline static VkPipeline pipeline_ = {};
inline static VkPipelineLayout pipelineLayout_ = {};
inline static uint32_t subpass_ = 0;

inline static PushConstBlock pushConstant_ = {};
inline static std::vector< renderer::Buffer > vertexBuffer_ = {};
inline static std::vector< renderer::Buffer > indexBuffer_ = {};
inline static std::vector< int32_t > vertexCount_ = {};
inline static std::vector< int32_t > indexCount_ = {};
};

} // namespace looper
7 changes: 4 additions & 3 deletions editor/gui/editor_gui_object.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,8 @@ EditorGUI::RenderGameObjectContent()
const auto oldLayer = gameObject.GetSprite().GetRenderInfo().layer;
gameObject.GetSprite().ChangeRenderLayer(layer);

renderer::VulkanRenderer::SetupVertexBuffer(oldLayer);
renderer::VulkanRenderer::SetupVertexBuffer(layer);
renderer::SetupVertexBuffer(oldLayer);
renderer::SetupVertexBuffer(layer);
});
}
}
Expand Down Expand Up @@ -198,7 +198,8 @@ EditorGUI::RenderGameObjectContent()
ImGui::SetCursorScreenPos(ImVec2(currentPos.x + sectionSize.x / 4.0f, currentPos.y));
ImGui::Image(
static_cast< ImTextureID >(GetDescriptor(gameObject.GetSprite().GetTexture()->GetID(),
descriptorPool_, descriptorSetLayout_)),
renderer::EditorData::descriptorPool_,
renderer::EditorData::descriptorSetLayout_)),
{glm::min(sectionSize.x, 128.0f), glm::min(sectionSize.x, 128.0f)});

if (ImGui::BeginTable("TextureInfoTable", 3))
Expand Down
Loading

0 comments on commit 8be9d2a

Please sign in to comment.