Handles Vulkan rendering, resource management, and pipeline execution.
Подробнее...
#include <VulkanRenderer.h>
|
| VulkanRenderer (Window *window) |
| Constructs the Vulkan renderer and initializes Vulkan.
|
|
| ~VulkanRenderer () override |
| Destroys the Vulkan renderer and cleans up resources.
|
|
virtual void | render () override |
| Renders a single frame.
|
|
virtual void | waitIdle () override |
| Waits for the Vulkan device to become idle.
|
|
virtual void | registerShader (const std::string &vertPath, const std::string &fragPath) override |
| Registers a shader pipeline.
|
|
virtual void | removeShader (const std::string &vertPath, const std::string &fragPath) override |
| Removes a shader pipeline.
|
|
virtual void | registerVertexData (const std::vector< Vertex > &vertexData) override |
| Registers vertex data and creates a Vulkan vertex buffer if needed.
|
|
virtual void | removeVertexData (const std::vector< Vertex > &vertexData) override |
| Removes vertex data and releases associated buffers if no longer needed.
|
|
void | recreateSwapChainAndDependent () |
| Recreates the swap chain and all dependent resources.
|
|
| IRenderer () |
| Constructs an IRenderer with no assigned scene.
|
|
virtual | ~IRenderer () |
| Virtual destructor to ensure proper cleanup of derived renderers.
|
|
virtual void | setSceneToRender (Scene *scene) |
| Sets the scene that the renderer will render.
|
|
|
Scene * | m_rendererScene |
| Pointer to the scene currently being rendered.
|
|
Handles Vulkan rendering, resource management, and pipeline execution.
◆ VulkanRenderer()
VulkanRenderer::VulkanRenderer |
( |
Window * | window | ) |
|
|
explicit |
Constructs the Vulkan renderer and initializes Vulkan.
- Аргументы
-
window | Pointer to the application window. |
◆ registerShader()
void VulkanRenderer::registerShader |
( |
const std::string & | vertPath, |
|
|
const std::string & | fragPath ) |
|
overridevirtual |
Registers a shader pipeline.
- Аргументы
-
vertPath | Path to the vertex shader file. |
fragPath | Path to the fragment shader file. |
Замещает IRenderer.
◆ registerVertexData()
void VulkanRenderer::registerVertexData |
( |
const std::vector< Vertex > & | vertexData | ) |
|
|
overridevirtual |
Registers vertex data and creates a Vulkan vertex buffer if needed.
- Аргументы
-
vertexData | Vertex data to register. |
Замещает IRenderer.
◆ removeShader()
void VulkanRenderer::removeShader |
( |
const std::string & | vertPath, |
|
|
const std::string & | fragPath ) |
|
overridevirtual |
Removes a shader pipeline.
- Аргументы
-
vertPath | Path to the vertex shader file. |
fragPath | Path to the fragment shader file. |
Замещает IRenderer.
◆ removeVertexData()
void VulkanRenderer::removeVertexData |
( |
const std::vector< Vertex > & | vertexData | ) |
|
|
overridevirtual |
Removes vertex data and releases associated buffers if no longer needed.
- Аргументы
-
vertexData | Vertex data to remove. |
Замещает IRenderer.
◆ render()
void VulkanRenderer::render |
( |
| ) |
|
|
overridevirtual |
◆ waitIdle()
void VulkanRenderer::waitIdle |
( |
| ) |
|
|
overridevirtual |
Waits for the Vulkan device to become idle.
Замещает IRenderer.
Объявления и описания членов классов находятся в файлах:
- Engine/Modules/RenderModule/Vulkan/VulkanRenderer.h
- Engine/Modules/RenderModule/Vulkan/VulkanRenderer.cpp