HatchitGraphics
Public Member Functions | Public Attributes | List of all members
Hatchit::Graphics::Vulkan::VKRenderer Class Reference
Inheritance diagram for Hatchit::Graphics::Vulkan::VKRenderer:
Hatchit::Graphics::Renderer

Public Member Functions

bool VInitialize (const RendererParams &params) override
 Initialize the renderer. More...
 
void VDeInitialize () override
 Shutdown the renderer.
 
void VResizeBuffers (uint32_t width, uint32_t height) override
 Resizes the the screen. More...
 
void VSetClearColor (const Color &color) override
 Sets the color that the screen will clear with. More...
 
void VClearBuffer (ClearArgs args) override
 Clears the screen with the given clear color. More...
 
void VRender (float dt) override
 
void VPresent () override
 Present a frame to the screen via a backbuffer.
 
const VKDeviceGetVKDevice () const
 
const VkCommandPool & GetVKCommandPool () const
 
const VkDescriptorPool & GetVKDescriptorPool () const
 
const VkFormat & GetPreferredImageFormat () const
 
const VkFormat & GetPreferredDepthFormat () const
 
const RendererParamsGetRendererParams () const
 
const VkClearValue & GetClearColor () const
 
void CreateSetupCommandBuffer ()
 
void FlushSetupCommandBuffer ()
 
bool SetImageLayout (VkCommandBuffer commandBuffer, VkImage image, VkImageAspectFlags aspectMask, VkImageLayout oldImageLayout, VkImageLayout newImageLayout)
 
bool MemoryTypeFromProperties (uint32_t typeBits, VkFlags requirementsMask, uint32_t *typeIndex)
 
bool CreateBuffer (VkDevice device, VkBufferUsageFlagBits usage, size_t dataSize, void *data, UniformBlock_vk *uniformBlock)
 
- Public Member Functions inherited from Hatchit::Graphics::Renderer
bool Initialize (const RendererParams &params)
 Initialize the renderer. More...
 
void ResizeBuffers (uint32_t width, uint32_t height)
 Resizes the the screen. More...
 
void Render ()
 Render all render passes.
 
void Present ()
 Present a frame to the screen via a backbuffer.
 
void RegisterRenderRequest (RenderPassHandle pass, MaterialHandle material, MeshHandle mesh, ShaderVariableChunk *instanceVariables)
 Register a render request with the renderer. More...
 
void RegisterCamera (Camera camera)
 Register a camera with this renderer so it can be given things to render. More...
 

Public Attributes

<<<<<<< HEAD:include/vulkan/unused/ht_vkrenderer.h VKRootLayout *const GetVKRootLayoutHandle() const ;======= >>>>>> dev:include/vulkan/ht_vkrenderer.h const VkCommandBuffer& GetSetupCommandBuffer() const
 

Additional Inherited Members

- Static Public Member Functions inherited from Hatchit::Graphics::Renderer
static IDevice *const GetDevice ()
 
static SwapChain *const GetSwapChain ()
 
static RendererType GetType ()
 
- Protected Member Functions inherited from Hatchit::Graphics::Renderer
void initThreads ()
 
- Protected Attributes inherited from Hatchit::Graphics::Renderer
std::vector< std::vector< RenderPassHandle > > m_renderPassLayers = std::vector<std::vector<RenderPassHandle>>(64)
 
std::vector< std::vector< Graphics::Camera > > m_renderPassCameras = std::vector<std::vector<Graphics::Camera>>(64)
 
std::vector< RenderThread * > m_threads
 
std::mutex m_mutex
 
std::unique_lock< std::mutex > m_lock
 
std::condition_variable m_cv
 
bool m_locked
 
bool m_processed
 
Core::ThreadsafeQueue< RenderPassHandlem_threadQueue
 
RendererParams m_params
 
TextureHandle test
 
- Static Protected Attributes inherited from Hatchit::Graphics::Renderer
static IDevice_Device = nullptr
 
static GPUQueue_Queue = nullptr
 
static RendererType _Type = UNKNOWN
 
static SwapChain_SwapChain = nullptr
 

Member Function Documentation

void Hatchit::Graphics::Vulkan::VKRenderer::VClearBuffer ( ClearArgs  args)
override

Clears the screen with the given clear color.

Parameters
argsArguments to describe which buffer you want to clear
bool Hatchit::Graphics::Vulkan::VKRenderer::VInitialize ( const RendererParams params)
override

Initialize the renderer.

Parameters
paramsThe paramaters to intialize this renderer with
void Hatchit::Graphics::Vulkan::VKRenderer::VResizeBuffers ( uint32_t  width,
uint32_t  height 
)
override

Resizes the the screen.

Parameters
widthThe new width of the screen
heightThe new height of the screen
void Hatchit::Graphics::Vulkan::VKRenderer::VSetClearColor ( const Color color)
override

Sets the color that the screen will clear with.

Parameters
colorThe Color to clear the screen with

The documentation for this class was generated from the following files: