33#include "VulkanDefines.h"
34#include "VulkanBuffer.h"
35#include <NDEVR/GraphicsCameraManager.h>
37struct VkPushConstantRange;
38DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorPool);
39DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSet);
40DEFINE_NON_DISPATCHABLE_HANDLE(VkDescriptorSetLayout);
41DEFINE_NON_DISPATCHABLE_HANDLE(VkSampler);
A core object representing a user view as well as convenience functions for moving this view through ...
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
GraphicsCameraManager()
Default constructor.
CameraUniformObject m_camera_uniform
Current uniform data for the GPU.
Options that are used for performing an update on a Graphics Engine call.
void createPipeline(VkDescriptorPool pool)
Creates the descriptor pipeline from the given pool.
void resetPool()
Resets the descriptor pool handle to null.
void cleanup()
Releases all Vulkan resources held by this camera manager.
VkSampler sampler() const
Returns the texture sampler handle.
VkDescriptorSet m_descriptor_set
The descriptor set for camera uniform bindings.
const CameraUniformObject & uniformObject() const
Returns a const reference to the camera uniform data.
void commit()
Commits camera uniform data to the GPU buffer.
VulkanCameraManager(const VulkanCameraManager &m_pipeline)
Copy constructor.
ConstPointer< VulkanDevice > m_device
The Vulkan device.
VkDescriptorSet descriptorSet() const
Returns the descriptor set for binding camera uniforms.
static VkDescriptorSetLayout descriptorSetLayout(ConstPointer< VulkanDevice > instance)
Returns the shared descriptor set layout for camera managers.
void createDescriptorSet(VkDescriptorPool pool)
Creates the descriptor set from the given pool.
VkDescriptorPool m_descriptor_pool
The descriptor pool this camera's set was allocated from.
~VulkanCameraManager()
Destructor.
VulkanCameraManager(const ConstPointer< VulkanDevice > &device)
Constructs a camera manager for the given device.
DynamicPointer< VulkanBuffer > m_camera_uniform_buffer
GPU buffer holding camera uniform data.
VkSampler m_sampler
The texture sampler for camera-related sampling.
The primary namespace for the NDEVR SDK.