Grindstone Game Engine
v0.2.0
An open source game engine and toolkit.
Toggle main menu visibility
Loading...
Searching...
No Matches
MousePick.hpp
1
#pragma once
2
3
#include <Common/Rendering/RendererFeature.hpp>
4
#include <Common/Rendering/RenderGraphBuilder.hpp>
5
#include <EngineCore/Assets/AssetReference.hpp>
6
#include <EngineCore/Assets/PipelineSet/GraphicsPipelineAsset.hpp>
7
8
namespace
Grindstone::Editor::RendererFeatures
{
9
class
MousePick :
public
Rendering::RendererFeature
{
10
public
:
11
MousePick() :
Rendering::RendererFeature
(
"MousePick"
, Rendering::DeferredRenderGraphOrderEvent::EndRendering - 3) {}
12
static
const
char
* GetStaticFeatureName() {
return
"MousePick"
; }
13
virtual
void
Initialize()
override
;
14
virtual
void
Bind(
15
Grindstone::Renderer::RenderGraphBuilder
& renderGraphBuilder,
16
Grindstone::Renderer::RenderFrameContext
& context
17
)
override
;
18
19
static
uint32_t GetMousePickedEntity(
GraphicsAPI::CommandBuffer
* commandBuffer);
20
21
private
:
22
GraphicsAPI::DescriptorSetLayout
* mousePickDescriptorSetLayout =
nullptr
;
23
24
std::array<GraphicsAPI::Image*, 3> mousePickRenderTarget{};
25
std::array<GraphicsAPI::Framebuffer*, 3> mousePickFramebuffer{};
26
std::array<GraphicsAPI::DescriptorSet*, 3> mousePickDescriptorSet{};
27
std::array<GraphicsAPI::Buffer*, 3> mousePickMatrixBuffer{};
28
static
std::array<GraphicsAPI::Buffer*, 3> mousePickResponseBuffer;
29
};
30
}
Grindstone::GraphicsAPI::CommandBuffer
Definition
CommandBuffer.hpp:109
Grindstone::GraphicsAPI::DescriptorSetLayout
Definition
DescriptorSetLayout.hpp:14
Grindstone::Renderer::RenderGraphBuilder
Definition
RenderGraphBuilder.hpp:12
Grindstone::Rendering::RendererFeature
Definition
RendererFeature.hpp:10
Grindstone::Editor::RendererFeatures
Definition
Gizmos.hpp:9
Grindstone::Renderer::RenderFrameContext
Definition
RenderFrameContext.hpp:24
sources
code
Editor
RendererFeatures
MousePick.hpp
Generated by
1.17.0