Skip to content

KDGpuExample::AdvancedExampleEngineLayer

Module: KDGpuExample API

AdvancedExampleEngineLayer ...

#include <KDGpuExample/advanced_example_engine_layer.h>

Inherits from KDGpuExample::ExampleEngineLayer, KDGpuExample::EngineLayer, KDFoundation::Object

Inherited by HelloTriangle

Public Functions

Name
AdvancedExampleEngineLayer() =default
~AdvancedExampleEngineLayer() override =default

Protected Functions

Name
virtual void onAttached() override
virtual void onDetached() override
virtual void update() override

Protected Attributes

Name
std::array< Fence, MAX_FRAMES_IN_FLIGHT > m_frameFences

Additional inherited members

Public Functions inherited from KDGpuExample::ExampleEngineLayer

Name
ExampleEngineLayer()
~ExampleEngineLayer() override
KDGpuKDGui::View * window()
void uploadBufferData(const KDGpu::BufferUploadOptions & options)
void uploadTextureData(const KDGpu::TextureUploadOptions & options)

Protected Functions inherited from KDGpuExample::ExampleEngineLayer

Name
virtual void initializeScene() =0
virtual void cleanupScene() =0
virtual void updateScene() =0
virtual void render() =0
virtual void resize() =0
virtual void drawImGuiOverlay(ImGuiContext * ctx)
virtual void renderImGuiOverlay(KDGpu::RenderPassCommandRecorder * recorder, uint32_t inFlightIndex =0, KDGpu::RenderPass * currentRenderPass =nullptr, int lastSubpassIndex =0)
void registerImGuiOverlayDrawFunction(const std::function< void(ImGuiContext *)> & func)
void clearImGuiOverlayDrawFunctions()
void recreateImGuiOverlay()
void event(KDFoundation::EventReceiver * target, KDFoundation::Event * ev) override
virtual void recreateSwapChain()
void recreateDepthTexture()
void recreateSampleDependentResources()
void releaseStagingBuffers()

Protected Attributes inherited from KDGpuExample::ExampleEngineLayer

Name
std::shared_ptr< spdlog::logger > m_logger
std::unique_ptr< KDGpu::GraphicsApi > m_api
std::unique_ptr< KDGpuKDGui::View > m_window
KDGpu::Extent2D m_swapchainExtent
KDBindings::Property< KDGpu::SampleCountFlagBits > m_samples
KDGpu::TextureUsageFlags m_swapchainUsageFlags
std::vector< KDGpu::SampleCountFlagBits > m_supportedSampleCounts
KDGpu::Instance m_instance
KDGpu::Surface m_surface
KDGpu::Adapter * m_adapter
KDGpu::Device m_device
KDGpu::Queue m_queue
KDGpu::PresentMode m_presentMode
KDGpu::Swapchain m_swapchain
std::vector< KDGpu::TextureView > m_swapchainViews
KDGpu::Texture m_depthTexture
KDGpu::TextureView m_depthTextureView
std::unique_ptr< ImGuiItem > m_imguiOverlay
std::vector< std::function< void(ImGuiContext *)> > m_imGuiOverlayDrawFunctions
uint32_t m_currentSwapchainImageIndex
uint32_t m_inFlightIndex
std::array< KDGpu::GpuSemaphore, MAX_FRAMES_IN_FLIGHT > m_presentCompleteSemaphores
std::array< KDGpu::GpuSemaphore, MAX_FRAMES_IN_FLIGHT > m_renderCompleteSemaphores
KDGpu::TextureUsageFlags m_depthTextureUsageFlags
std::vector< KDGpu::UploadStagingBuffer > m_stagingBuffers
KDGpu::Format m_swapchainFormat
KDGpu::Format m_depthFormat
KDGpu::CompositeAlphaFlagBits m_compositeAlpha
bool m_showSurfaceCapabilities
std::string m_capabilitiesString

Public Functions inherited from KDGpuExample::EngineLayer

Name
~EngineLayer() override
const Engine * engine() const
Engine * engine()

Friends inherited from KDGpuExample::EngineLayer

Name
class Engine

Public Functions Documentation

function AdvancedExampleEngineLayer

1
AdvancedExampleEngineLayer() =default

function ~AdvancedExampleEngineLayer

1
~AdvancedExampleEngineLayer() override =default

Protected Functions Documentation

function onAttached

1
virtual void onAttached() override

Reimplements: KDGpuExample::EngineLayer::onAttached

function onDetached

1
virtual void onDetached() override

Reimplements: KDGpuExample::EngineLayer::onDetached

function update

1
virtual void update() override

Reimplements: KDGpuExample::EngineLayer::update

Protected Attributes Documentation

variable m_frameFences

1
std::array< Fence, MAX_FRAMES_IN_FLIGHT > m_frameFences;

Updated on 2025-06-15 at 00:01:53 +0000