Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
ImguiRendererVulkan.hpp
1
#pragma once
2
3
#include <vulkan/vulkan.h>
4
5
#include "ImguiRenderer.hpp"
6
7
namespace
Grindstone::GraphicsAPI {
8
class
WindowGraphicsBinding
;
9
}
10
11
namespace
Grindstone::GraphicsAPI::Vulkan {
12
class
Core;
13
}
14
15
namespace
Grindstone::Editor::ImguiEditor {
16
class
ImguiRendererVulkan :
public
ImguiRenderer
{
17
public
:
18
ImguiRendererVulkan();
19
~ImguiRendererVulkan();
20
21
virtual
GraphicsAPI::CommandBuffer
* GetCommandBuffer()
override
;
22
virtual
bool
PreRender()
override
;
23
virtual
void
PrepareImguiRendering()
override
;
24
virtual
void
PostRender()
override
;
25
virtual
void
Resize()
override
;
26
virtual
ImTextureID CreateTexture(std::filesystem::path path)
override
;
27
virtual
ImTextureID GetThumbnailAtlas()
override
;
28
private
:
29
void
WaitForResizeAndRecreateSwapchain();
30
void
SetupVulkanWindow(
31
Grindstone::GraphicsAPI::Vulkan::Core* graphicsCore,
32
Grindstone::GraphicsAPI::WindowGraphicsBinding
* wgb,
33
int
width,
34
int
height
35
);
36
37
void
CreateOrResizeWindow(
38
Grindstone::GraphicsAPI::Vulkan::Core* graphicsCore,
39
Grindstone::GraphicsAPI::WindowGraphicsBinding
* wgb,
40
int
width,
int
height
41
);
42
43
VkDescriptorPool imguiPool =
nullptr
;
44
Grindstone::GraphicsAPI::DescriptorSetLayout
* textureDescriptorLayout =
nullptr
;
45
std::vector<GraphicsAPI::CommandBuffer*> commandBuffers;
46
47
bool
shouldRebuildSwapchain =
false
;
48
};
49
}
Grindstone::Editor::ImguiEditor::ImguiRenderer
Definition
ImguiRenderer.hpp:12
Grindstone::GraphicsAPI::CommandBuffer
Definition
CommandBuffer.hpp:109
Grindstone::GraphicsAPI::DescriptorSetLayout
Definition
DescriptorSetLayout.hpp:14
Grindstone::GraphicsAPI::WindowGraphicsBinding
Definition
WindowGraphicsBinding.hpp:18
sources
code
Editor
ImguiEditor
ImguiRendererVulkan.hpp
Generated by
1.17.0