VkCV Framework  0.0.1
CV Vulkan framework
Buffer.hpp File Reference

template buffer class, template for type security, implemented here because template classes can't be written in .cpp More...

#include "Handles.hpp"
#include "BufferManager.hpp"
#include <vector>
Include dependency graph for Buffer.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  vkcv::Buffer< T >
 

Detailed Description

template buffer class, template for type security, implemented here because template classes can't be written in .cpp

class for image handles

Authors
Lars Hoerttrich, Tobias Frisch
Lars Hoerttrich

Definition in file Buffer.hpp.

vkcv::camera::CameraManager::setActiveCamera
void setActiveCamera(uint32_t cameraIndex)
Sets the stored camera object located at cameraIndex as the active camera.
Definition: CameraManager.cpp:145
vkcv::Window::~Window
virtual ~Window()
Definition: Window.cpp:131
vkcv::event::operator()
void operator()(T... arguments)
Definition: Event.hpp:54
vkcv::PassConfig
Definition: PassConfig.hpp:47
vkcv::QueueManager::checkSurfaceSupport
static uint32_t checkSurfaceSupport(const vk::PhysicalDevice &physicalDevice, vk::SurfaceKHR &surface)
Definition: QueueManager.cpp:204
vkcv::Core::createGraphicsPipeline
GraphicsPipelineHandle createGraphicsPipeline(const GraphicsPipelineConfig &config)
Definition: Core.cpp:81
vkcv::camera::Camera::getNearFar
void getNearFar(float &near, float &far) const
Gets the near and far bounds of the view frustum of the camera.
Definition: Camera.cpp:25
vkcv::Window::operator=
Window & operator=(const Window &other)=delete
vkcv::gui::GUI::~GUI
virtual ~GUI()
Definition: GUI.cpp:158
vkcv::upscaling::Upscaling
Definition: Upscaling.hpp:8
vkcv::scene::Scene::Material
Definition: Scene.hpp:19
vkcv::Core::createImage
Image createImage(vk::Format format, uint32_t width, uint32_t height, uint32_t depth=1, bool createMipChain=false, bool supportStorage=false, bool supportColorAttachment=false, Multisampling multisampling=Multisampling::None)
Definition: Core.cpp:763
vkcv::upscaling::FSRUpscaling::m_sharpness
float m_sharpness
Definition: FSRUpscaling.hpp:62
vkcv::DrawcallInfo
Definition: DrawcallRecording.hpp:56
vkcv::ComputePipelineManager
Definition: ComputePipelineManager.hpp:19
vkcv::ShaderProgram::addShader
bool addShader(ShaderStage shaderStage, const std::filesystem::path &shaderPath)
Definition: ShaderProgram.cpp:79
vkcv::SampledImageDescriptorWrite
Definition: DescriptorWrites.hpp:6
vkcv::BufferManager::destroyBufferById
void destroyBufferById(uint64_t id)
Definition: BufferManager.cpp:296
vkcv::camera::CameraManager::getControllerType
ControllerType getControllerType(uint32_t cameraIndex)
Gets the currently bound camera controller type of the stored camera object located at cameraIndex.
Definition: CameraManager.cpp:167
vkcv::Window::getFocusedWindow
static Window & getFocusedWindow()
Definition: Window.cpp:270
vkcv::upscaling::BilinearUpscaling
Definition: BilinearUpscaling.hpp:7
vkcv::material::Material
Definition: Material.hpp:16
vkcv::SyncResources
Definition: SyncResources.hpp:5
vkcv::camera::Camera::setCenter
void setCenter(const glm::vec3 &center)
Sets center as the new center point.
Definition: Camera.cpp:113
vkcv::event::unlock
void unlock()
Definition: Event.hpp:106
vkcv::Window::pollEvents
static void pollEvents()
Definition: Window.cpp:162
vkcv::Core::createSampler
SamplerHandle createSampler(SamplerFilterType magFilter, SamplerFilterType minFilter, SamplerMipmapMode mipmapMode, SamplerAddressMode addressMode, float mipLodBias=0.0f)
Definition: Core.cpp:757
vkcv::camera::Camera::setRatio
void setRatio(float ratio)
Updates the aspect ratio of the camera with ratio and, thus, changes the projection matrix.
Definition: Camera.cpp:79
vkcv::Core::recordAndSubmitCommandsImmediate
void recordAndSubmitCommandsImmediate(const SubmitInfo &submitInfo, const RecordCommandFunction &record, const FinishCommandFunction &finish)
Definition: Core.cpp:703
vkcv::camera::Camera::setNearFar
void setNearFar(float near, float far)
Sets near and far as new values for the view frustum of the camera. This leads to changes in the proj...
Definition: Camera.cpp:83
vkcv::Swapchain::shouldUpdateSwapchain
bool shouldUpdateSwapchain() const
Definition: Swapchain.cpp:207
vkcv::PassManager
Definition: PassManager.hpp:10
vkcv::meshlet::Vertex
Definition: Meshlet.hpp:10
vkcv::DescriptorSet
Definition: DescriptorConfig.hpp:81
vkcv::SamplerDescriptorWrite
Definition: DescriptorWrites.hpp:35
vkcv::searchImageMemoryType
uint32_t searchImageMemoryType(const vk::PhysicalDeviceMemoryProperties &physicalMemoryProperties, uint32_t typeBits, vk::MemoryPropertyFlags requirements)
searches memory type index for image allocation, combines requirements of image and application
Definition: ImageManager.cpp:22
vkcv::DescriptorWrites
Definition: DescriptorWrites.hpp:49
vkcv::Core::createWindow
WindowHandle createWindow(const char *applicationName, uint32_t windowWidth, uint32_t windowHeight, bool resizeable)
Definition: Core.cpp:791
vkcv::camera::CameraController::CameraController
CameraController()=default
The constructor of the CameraController (default behavior).
vkcv::Swapchain::~Swapchain
virtual ~Swapchain()
Definition: Swapchain.cpp:261
vkcv::Window::e_mouseButton
event< int, int, int > e_mouseButton
Definition: Window.hpp:92
vkcv::PassHandle
Definition: Handles.hpp:70
vkcv::MeshShaderDrawcall
Definition: DrawcallRecording.hpp:83
vkcv::camera::Camera::getYaw
float getYaw() const
Gets the yaw value of the camera in degrees.
Definition: Camera.cpp:157
vkcv::Core::getImageWidth
uint32_t getImageWidth(const ImageHandle &image)
Definition: Core.cpp:807
vkcv::event_handle
Definition: Event.hpp:18
vkcv::GraphicsPipelineHandle
Definition: Handles.hpp:76
vkcv::camera::CameraManager::CameraManager
CameraManager(Window &window)
The constructor of the CameraManager.
Definition: CameraManager.cpp:7
vkcv::camera::Camera::getProjection
const glm::mat4 & getProjection() const
Gets the current projection of the camera.
Definition: Camera.cpp:45
vkcv::ShaderProgram
Definition: ShaderProgram.hpp:27
vkcv::camera::PilotCameraController::keyCallback
void keyCallback(int key, int scancode, int action, int mods, Camera &camera)
A callback function for key events. Currently, 3D camera movement via W, A, S, D, E,...
Definition: PilotCameraController.cpp:82
vkcv::Mesh
Definition: DrawcallRecording.hpp:32
vkcv::Core::getImageFormat
vk::Format getImageFormat(const ImageHandle &image)
Definition: Core.cpp:817
vkcv::gui::GUI::GUI
GUI(Core &core, WindowHandle &windowHandle)
Definition: GUI.cpp:21
vkcv::scene::Mesh
Definition: Mesh.hpp:15
vkcv::Core::setSwapchainImages
void setSwapchainImages(SwapchainHandle handle)
Definition: Core.cpp:992
vkcv::PushConstants
Definition: PushConstants.hpp:10
vkcv::Window::getWindow
GLFWwindow * getWindow() const
Definition: Window.cpp:257
vkcv::event::lock
void lock()
Definition: Event.hpp:93
vkcv::camera::TrackballCameraController::keyCallback
void keyCallback(int key, int scancode, int action, int mods, Camera &camera)
A callback function for key events. Currently, the trackball camera does not support camera movement....
Definition: TrackballCameraController.cpp:63
vkcv::DescriptorSetLayoutHandle
Definition: Handles.hpp:94
vkcv::Context
Definition: Context.hpp:12
vkcv::gui::GUI
Definition: GUI.hpp:12
vkcv::camera::CameraManager::getControllerByType
CameraController & getControllerByType(ControllerType controllerType)
Gets a camera controller object of specified controllerType.
Definition: CameraManager.cpp:176
vkcv::AttachmentDescription
Definition: PassConfig.hpp:34
vkcv::QueueManager
Definition: QueueManager.hpp:15
vkcv::SamplerHandle
Definition: Handles.hpp:100
vkcv::Window::isOpen
bool isOpen() const
Definition: Window.cpp:221
Buffer.hpp
template buffer class, template for type security, implemented here because template classes can't be...
vkcv::Core::create
static Core create(const char *applicationName, uint32_t applicationVersion, const std::vector< vk::QueueFlagBits > &queueFlags={}, const Features &features={}, const std::vector< const char * > &instanceExtensions={})
Definition: Core.cpp:25
vkcv::Features
Definition: Features.hpp:13
vkcv::WindowManager
Definition: WindowManager.hpp:16
vkcv::DescriptorSetUsage
Definition: DrawcallRecording.hpp:22
vkcv::SwapchainManager::createSwapchain
SwapchainHandle createSwapchain(Window &window)
Definition: SwapchainManager.cpp:15
vkcv::Core::getSwapchain
Swapchain & getSwapchain(const SwapchainHandle &handle)
Definition: Core.cpp:825
vkcv::meshlet::Meshlet
Definition: Meshlet.hpp:17
vkcv::camera::CameraController::updateCamera
virtual void updateCamera(double deltaTime, Camera &camera)=0
Updates camera in respect to deltaTime.
vkcv::camera::Camera::getView
const glm::mat4 & getView() const
Gets the view matrix of the camera.
Definition: Camera.cpp:30
vkcv::event::remove
void remove(event_handle< T... > handle)
Definition: Event.hpp:81
vkcv::Window::hasOpenWindow
static bool hasOpenWindow()
Definition: Window.cpp:150
vkcv::meshlet::VertexCacheReorderResult::VertexCacheReorderResult
VertexCacheReorderResult(const std::vector< uint32_t > indexBuffer, const std::vector< uint32_t > skippedIndices)
Definition: Meshlet.hpp:31
vkcv::camera::PilotCameraController
Used to move around a camera object in world space.
Definition: PilotCameraController.hpp:10
vkcv::Image
Definition: Image.hpp:18
vkcv::camera::PilotCameraController::PilotCameraController
PilotCameraController()
The default constructor of the PilotCameraController.
Definition: PilotCameraController.cpp:6
vkcv::GraphicsPipelineManager::getPipelineConfig
const GraphicsPipelineConfig & getPipelineConfig(const GraphicsPipelineHandle &handle) const
Definition: GraphicsPipelineManager.cpp:680
vkcv::SubmitInfo
Definition: Core.hpp:47
vkcv::WriteDescriptorSetInfo
Definition: DescriptorManager.cpp:155
vkcv::Swapchain::updateSwapchain
void updateSwapchain(const Context &context, const Window &window)
Definition: Swapchain.cpp:211
vkcv::Swapchain::Swapchain
Swapchain(const Surface &surface, vk::SwapchainKHR swapchain, vk::Format format, vk::ColorSpaceKHR colorSpace, vk::PresentModeKHR presentMode, uint32_t imageCount, vk::Extent2D extent) noexcept
Definition: Swapchain.cpp:29
vkcv::DescriptorManager::m_DescriptorSets
std::vector< DescriptorSet > m_DescriptorSets
Definition: DescriptorManager.hpp:54
vkcv::CommandResources
Definition: CommandResources.hpp:7
vkcv::DescriptorManager::DescriptorManager
DescriptorManager(vk::Device device) noexcept
Definition: DescriptorManager.cpp:5
vkcv::QueueManager::queueCreateInfosQueueHandles
static void queueCreateInfosQueueHandles(vk::PhysicalDevice &physicalDevice, const std::vector< float > &queuePriorities, const std::vector< vk::QueueFlagBits > &queueFlags, std::vector< vk::DeviceQueueCreateInfo > &queueCreateInfos, std::vector< std::pair< int, int >> &queuePairsGraphics, std::vector< std::pair< int, int >> &queuePairsCompute, std::vector< std::pair< int, int >> &queuePairsTransfer)
Definition: QueueManager.cpp:30
vkcv::GraphicsPipelineManager
Definition: GraphicsPipelineManager.hpp:19
vkcv::camera::Camera::getFront
glm::vec3 getFront() const
Gets the current front vector of the camera in world space.
Definition: Camera.cpp:93
vkcv::BufferManager
Definition: BufferManager.hpp:27
vkcv::camera::Camera::getMVP
glm::mat4 getMVP() const
Gets the model-view-projection matrix of the camera with y-axis-correction applied.
Definition: Camera.cpp:53
vkcv::asset::VertexAttribute
Definition: asset_loader.hpp:196
vkcv::asset::Mesh
Definition: asset_loader.hpp:240
vkcv::CommandStreamHandle
Definition: Handles.hpp:130
vkcv::VertexBufferBinding
Definition: DrawcallRecording.hpp:9
vkcv::Swapchain::Surface
Definition: Swapchain.hpp:19
vkcv::AccelerationDescriptorWrite
Only used for RTX. Used to bind the Acceleration Structure.
Definition: DescriptorWrites.hpp:44
vkcv::BufferManager::Buffer
Definition: BufferManager.hpp:32
vkcv::GraphicsPipelineManager::GraphicsPipeline
Definition: GraphicsPipelineManager.hpp:68
vkcv::camera::CameraController
Used as a base class for defining camera controller classes with different behaviors,...
Definition: CameraController.hpp:12
vkcv::Window
Definition: Window.hpp:14
vkcv::camera::CameraManager::addCamera
uint32_t addCamera(ControllerType controllerType=ControllerType::NONE)
Adds a new camera object to the CameraManager and binds it to a camera controller object of specified...
Definition: CameraManager.cpp:117
vkcv::BufferManager::fillBuffer
void fillBuffer(const BufferHandle &handle, const void *data, size_t size, size_t offset)
Definition: BufferManager.cpp:216
vkcv::ShaderProgram::reflectShader
void reflectShader(ShaderStage shaderStage)
Definition: ShaderProgram.cpp:110
vkcv::BufferManager::getBuffer
vk::Buffer getBuffer(const BufferHandle &handle) const
Definition: BufferManager.cpp:174
vkcv::Window::getExtensions
static const std::vector< std::string > & getExtensions()
Definition: Window.cpp:198
vkcv::camera::Camera::getFov
float getFov() const
Gets the current field of view of the camera in radians.
Definition: Camera.cpp:57
vkcv::Swapchain::signalSwapchainRecreation
void signalSwapchainRecreation()
Definition: Swapchain.cpp:253
vkcv::SwapchainManager::getSwapchainImages
std::vector< vk::Image > getSwapchainImages(const SwapchainHandle &handle)
Definition: SwapchainManager.cpp:53
vkcv::Buffer
Definition: Buffer.hpp:15
vkcv::SwapchainManager
Definition: SwapchainManager.hpp:13
vkcv::camera::PilotCameraController::updateCamera
void updateCamera(double deltaTime, Camera &camera)
Updates camera in respect to deltaTime.
Definition: PilotCameraController.cpp:66
vkcv::BufferManager::mapBuffer
void * mapBuffer(const BufferHandle &handle, size_t offset, size_t size)
Definition: BufferManager.cpp:260
vkcv::Window::getWidth
int getWidth() const
Definition: Window.cpp:233
vkcv::Swapchain::getSurface
vk::SurfaceKHR getSurface() const
Definition: Swapchain.cpp:61
vkcv::camera::Camera
Used to create a camera which governs the view and projection matrices.
Definition: Camera.hpp:15
vkcv::upscaling::FSRConstants
Definition: FSRUpscaling.hpp:23
vkcv::camera::TrackballCameraController::scrollCallback
void scrollCallback(double offsetX, double offsetY, Camera &camera)
A callback function for mouse scrolling events. Currently, this leads to changes in the field of view...
Definition: TrackballCameraController.cpp:65
vkcv::camera::CameraManager::mouseButtonCallback
void mouseButtonCallback(int button, int action, int mods)
A callback function for mouse button events.
Definition: CameraManager.cpp:44
vkcv::ShaderProgram::getReflectedDescriptors
const std::unordered_map< uint32_t, std::unordered_map< uint32_t, DescriptorBinding > > & getReflectedDescriptors() const
Definition: ShaderProgram.cpp:359
vkcv::event
Definition: Event.hpp:35
vkcv::scene::Bounds
Definition: Bounds.hpp:9
vkcv::asset::Texture
Definition: asset_loader.hpp:96
vkcv::WindowHandle
Definition: Handles.hpp:118
vkcv::camera::CameraController::scrollCallback
virtual void scrollCallback(double offsetX, double offsetY, Camera &camera)=0
A callback function for mouse scrolling events.
vkcv::camera::CameraManager::getActiveCamera
Camera & getActiveCamera()
Gets the stored camera object set as the active camera.
Definition: CameraManager.cpp:141
vkcv::ImageManager
Definition: ImageManager.hpp:19
vkcv::camera::CameraManager::keyCallback
void keyCallback(int key, int scancode, int action, int mods)
A callback function for key events. Currently, cycling between all existing camera controllers via Ta...
Definition: CameraManager.cpp:66
vkcv::DescriptorManager
Definition: DescriptorManager.hpp:18
vkcv::StorageImageDescriptorWrite
Definition: DescriptorWrites.hpp:16
vkcv::meshlet::VertexCacheReorderResult
Definition: Meshlet.hpp:26
vkcv::shader::GLSLCompiler
Definition: GLSLCompiler.hpp:10
vkcv::GraphicsPipelineManager::getVkPipeline
vk::Pipeline getVkPipeline(const GraphicsPipelineHandle &handle) const
Definition: GraphicsPipelineManager.cpp:636
vkcv::camera::TrackballCameraController::TrackballCameraController
TrackballCameraController()
The default constructor of the TrackballCameraController.
Definition: TrackballCameraController.cpp:6
vkcv::BufferDescriptorWrite
Definition: DescriptorWrites.hpp:24
vkcv::camera::Camera::setUp
void setUp(const glm::vec3 &up)
Sets up as the new up vector.
Definition: Camera.cpp:121
vkcv::material::Material::Texture
Definition: Material.hpp:18
vkcv::camera::CameraManager::scrollCallback
void scrollCallback(double offsetX, double offsetY)
A callback function for mouse scrolling events.
Definition: CameraManager.cpp:62
vkcv::camera::PilotCameraController::changeFov
void changeFov(double offset, Camera &camera)
Changes the field of view of camera with an offset in degrees.
Definition: PilotCameraController.cpp:27
vkcv::Shader
Definition: ShaderProgram.hpp:21
vkcv::Window::getHeight
int getHeight() const
Definition: Window.cpp:243
vkcv::MeshShaderFunctions
Definition: DrawcallRecording.cpp:66
vkcv::BufferManager::createBuffer
BufferHandle createBuffer(BufferType type, size_t size, BufferMemoryType memoryType, bool supportIndirect)
Definition: BufferManager.cpp:31
vkcv::Core::getSwapchainOfCurrentWindow
Swapchain & getSwapchainOfCurrentWindow()
Definition: Core.cpp:821
vkcv::camera::Camera::setView
void setView(const glm::mat4 &view)
Sets the view matrix of the camera to view.
Definition: Camera.cpp:34
vkcv::ComputePipelineManager::createComputePipeline
ComputePipelineHandle createComputePipeline(const ComputePipelineConfig &config)
Definition: ComputePipelineManager.cpp:44
vkcv::Swapchain
Definition: Swapchain.hpp:13
vkcv::camera::Camera::setAngles
void setAngles(float pitch, float yaw)
Sets the angles of the camera.
Definition: Camera.cpp:135
vkcv::FeatureManager
Definition: FeatureManager.hpp:12
vkcv::camera::Camera::lookAt
void lookAt(const glm::vec3 &position, const glm::vec3 &center, const glm::vec3 &up)
Sets the view matrix of the camera according to position, center and up.
Definition: Camera.cpp:17
vkcv::Core::createComputePipeline
ComputePipelineHandle createComputePipeline(const ComputePipelineConfig &config)
Definition: Core.cpp:86
vkcv::camera::Camera::setFov
void setFov(float fov)
Sets the field of view of the camera to fov in radians.
Definition: Camera.cpp:68
vkcv::VertexLayout::VertexLayout
VertexLayout() noexcept
Definition: VertexLayout.cpp:55
vkcv::Window::getFramebufferSize
void getFramebufferSize(int &width, int &height) const
Definition: Window.cpp:261
vkcv::camera::CameraController::gamepadCallback
virtual void gamepadCallback(int gamepadIndex, Camera &camera, double frametime)=0
A callback function for gamepad input events.
vkcv::Window::Window
Window()
Definition: Window.cpp:101
vkcv::Core::getImageHeight
uint32_t getImageHeight(const ImageHandle &image)
Definition: Core.cpp:812
vkcv::Core::beginFrame
bool beginFrame(uint32_t &width, uint32_t &height, const WindowHandle &windowHandle)
start recording command buffers and increment frame index
Definition: Core.cpp:128
vkcv::camera::CameraManager::setControllerType
void setControllerType(uint32_t cameraIndex, ControllerType controllerType)
Binds a stored camera object located at cameraIndex to a camera controller of specified controllerTyp...
Definition: CameraManager.cpp:158
vkcv::Core
Definition: Core.hpp:53
vkcv::Core::createBuffer
Buffer< T > createBuffer(vkcv::BufferType type, size_t count, BufferMemoryType memoryType=BufferMemoryType::DEVICE_LOCAL, bool supportIndirect=false)
Definition: Core.hpp:191
vkcv::BufferManager::unmapBuffer
void unmapBuffer(const BufferHandle &handle)
Definition: BufferManager.cpp:282
vkcv::SwapchainHandle
Definition: Handles.hpp:124
vkcv::camera::Camera::getAngles
void getAngles(float &pitch, float &yaw)
Gets the angles of the camera.
Definition: Camera.cpp:125
vkcv::Swapchain::getExtent
const vk::Extent2D & getExtent() const
Definition: Swapchain.cpp:257
vkcv::Swapchain::getSwapchain
const vk::SwapchainKHR & getSwapchain() const
Definition: Swapchain.cpp:57
vkcv::StagingStepInfo
Definition: BufferManager.cpp:114
vkcv::VertexAttachment
Definition: VertexLayout.hpp:21
vkcv::BufferManager::getDeviceMemory
vk::DeviceMemory getDeviceMemory(const BufferHandle &handle) const
Definition: BufferManager.cpp:198
vkcv::Swapchain::getFormat
vk::Format getFormat() const
Definition: Swapchain.cpp:65
vkcv::Swapchain::create
static Swapchain create(const Window &window, const Context &context)
Definition: Swapchain.cpp:160
vkcv::camera::TrackballCameraController::~TrackballCameraController
~TrackballCameraController()=default
The destructor of the TrackballCameraController (default behavior).
vkcv::gui::GUI::endGUI
void endGUI()
Definition: GUI.cpp:192
vkcv::camera::CameraManager::getCamera
Camera & getCamera(uint32_t cameraIndex)
Gets the stored camera object located at cameraIndex.
Definition: CameraManager.cpp:132
vkcv::asset::VertexGroup
Definition: asset_loader.hpp:214
vkcv::DescriptorManager::allocateDescriptorPool
vk::DescriptorPool allocateDescriptorPool()
Definition: DescriptorManager.cpp:351
vkcv::Core::createPass
PassHandle createPass(const PassConfig &config)
Definition: Core.cpp:91
vkcv::Core::getWindow
Window & getWindow(const WindowHandle &handle)
Definition: Core.cpp:803
vkcv::camera::CameraManager::gamepadCallback
void gamepadCallback(int gamepadIndex)
A callback function for gamepad input events. Currently, inputs are handled only for the first connec...
Definition: CameraManager.cpp:90
ComputePipelineManager.hpp
Creation and handling of Compute Pipelines.
vkcv::shader::Compiler
Definition: Compiler.hpp:14
vkcv::asset::Sampler
Definition: asset_loader.hpp:79
vkcv::ComputePipelineConfig
Definition: ComputePipelineConfig.hpp:13
ImageManager.hpp
class creating and managing images
vkcv::Core::createDescriptorSet
DescriptorSetHandle createDescriptorSet(const DescriptorSetLayoutHandle &layoutHandle)
Definition: Core.cpp:844
vkcv::asset::Material::hasTexture
bool hasTexture(PBRTextureTarget target) const
Definition: asset_loader.cpp:215
vkcv::SamplerManager
Definition: SamplerManager.hpp:13
vkcv::CommandStreamManager
Definition: CommandStreamManager.hpp:12
vkcv::camera::CameraManager::mouseMoveCallback
void mouseMoveCallback(double x, double y)
A callback function for mouse movement events.
Definition: CameraManager.cpp:54
vkcv::camera::TrackballCameraController::setRadius
void setRadius(const float radius)
Sets radius as the new radius for orbiting around the camera's center point.
Definition: TrackballCameraController.cpp:15
vkcv::asset::Material
Definition: asset_loader.hpp:136
vkcv::camera::Camera::setPitch
void setPitch(float pitch)
Sets the pitch value of the camera to pitch in degrees.
Definition: Camera.cpp:153
vkcv::ImageManager::Image
Definition: ImageManager.hpp:23
vkcv::camera::PilotCameraController::mouseButtonCallback
void mouseButtonCallback(int button, int action, int mods, Camera &camera)
A callback function for mouse button events. Currently, the right mouse button enables panning the vi...
Definition: PilotCameraController.cpp:118
vkcv::camera::Camera::setProjection
void setProjection(const glm::mat4 &projection)
Sets the projection matrix of the camera to projection.
Definition: Camera.cpp:49
vkcv::camera::CameraManager::bindCameraToEvents
void bindCameraToEvents()
Binds the camera object to the window event handles.
Definition: CameraManager.cpp:27
vkcv::Swapchain::getImageCount
uint32_t getImageCount() const
Definition: Swapchain.cpp:265
vkcv::DescriptorManager::destroyDescriptorSetLayoutById
void destroyDescriptorSetLayoutById(uint64_t id)
Definition: DescriptorManager.cpp:337
vkcv::camera::Camera::getRatio
float getRatio() const
Gets the current aspect ratio of the camera.
Definition: Camera.cpp:72
vkcv::PassManager::Pass
Definition: PassManager.hpp:13
vkcv::camera::Camera::getPosition
const glm::vec3 & getPosition() const
Gets the current position of the camera in world space.
Definition: Camera.cpp:101
vkcv::camera::CameraController::keyCallback
virtual void keyCallback(int key, int scancode, int action, int mods, Camera &camera)=0
A callback function for key events.
vkcv::camera::Camera::setYaw
void setYaw(float yaw)
Sets the yaw value of the camera to yaw.
Definition: Camera.cpp:163
vkcv::Core::endFrame
void endFrame(const WindowHandle &windowHandle)
end recording and present image
Definition: Core.cpp:663
vkcv::camera::TrackballCameraController::mouseButtonCallback
void mouseButtonCallback(int button, int action, int mods, Camera &camera)
A callback function for mouse button events. Currently, the right mouse button enables panning the vi...
Definition: TrackballCameraController.cpp:76
vkcv::BufferHandle
Definition: Handles.hpp:64
vkcv::camera::CameraManager::resizeCallback
void resizeCallback(int width, int height)
A callback function for handling the window resizing event. Each existing camera is resized in respec...
Definition: CameraManager.cpp:36
vkcv::ComputePipelineManager::getVkPipelineLayout
vk::PipelineLayout getVkPipelineLayout(const ComputePipelineHandle &handle) const
Definition: ComputePipelineManager.cpp:31
vkcv::camera::TrackballCameraController::panView
void panView(double xOffset, double yOffset, Camera &camera)
Pans the view of camera according to the pitch and yaw values and additional offsets xOffset and yOff...
Definition: TrackballCameraController.cpp:19
vkcv::BufferManager::getBufferSize
size_t getBufferSize(const BufferHandle &handle) const
Definition: BufferManager.cpp:186
vkcv::camera::CameraManager::update
void update(double deltaTime)
Updates all stored camera controllers in respect to deltaTime.
Definition: CameraManager.cpp:187
vkcv::SwapchainManager::getSwapchain
Swapchain & getSwapchain(const SwapchainHandle &handle)
Definition: SwapchainManager.cpp:26
vkcv::scene::Scene
Definition: Scene.hpp:15
vkcv::CommandStreamManager::CommandStream
Definition: CommandStreamManager.hpp:16
vkcv::camera::Camera::getUp
const glm::vec3 & getUp() const
Gets the up vector.
Definition: Camera.cpp:117
vkcv::meshlet::MeshShaderModelData
Definition: Meshlet.hpp:38
vkcv::gui::GUI::beginGUI
void beginGUI()
Definition: GUI.cpp:179
vkcv::DescriptorManager::destroyDescriptorSetById
void destroyDescriptorSetById(uint64_t id)
Definition: DescriptorManager.cpp:322
vkcv::Core::createDescriptorSetLayout
DescriptorSetLayoutHandle createDescriptorSetLayout(const std::unordered_map< uint32_t, DescriptorBinding > &bindingsMap)
Definition: Core.cpp:834
vkcv::camera::Camera::setFront
void setFront(const glm::vec3 &front)
Sets the front vector of the camera in world space to front.
Definition: Camera.cpp:97
vkcv::camera::TrackballCameraController::updateCamera
void updateCamera(double deltaTime, Camera &camera)
Updates camera in respect to deltaTime.
Definition: TrackballCameraController.cpp:44
vkcv::ComputePipelineManager::getVkPipeline
vk::Pipeline getVkPipeline(const ComputePipelineHandle &handle) const
Definition: ComputePipelineManager.cpp:18
vkcv::Window::isResizable
bool isResizable() const
Definition: Window.cpp:253
vkcv::copyFromStagingBuffer
void copyFromStagingBuffer(Core *core, StagingStepInfo &info)
Definition: BufferManager.cpp:137
vkcv::camera::CameraManager::getActiveCameraIndex
uint32_t getActiveCameraIndex() const
Gets the index of the stored active camera object.
Definition: CameraManager.cpp:154
vkcv::upscaling::FSRUpscaling
Definition: FSRUpscaling.hpp:31
vkcv::ImageManager::destroyImageById
void destroyImageById(uint64_t id)
Definition: ImageManager.cpp:601
vkcv::camera::PilotCameraController::panView
void panView(double xOffset, double yOffset, Camera &camera)
Pans the view of camera according to the pitch and yaw values and additional offsets xOffset and yOff...
Definition: PilotCameraController.cpp:46
vkcv::GraphicsPipelineManager::getVkPipelineLayout
vk::PipelineLayout getVkPipelineLayout(const GraphicsPipelineHandle &handle) const
Definition: GraphicsPipelineManager.cpp:649
vkcv::DescriptorBinding
Definition: DescriptorConfig.hpp:62
vkcv::Queue
Definition: QueueManager.hpp:8
vkcv::ShaderProgram::getShader
const Shader & getShader(ShaderStage shaderStage) const
Definition: ShaderProgram.cpp:97
vkcv::camera::PilotCameraController::~PilotCameraController
~PilotCameraController()=default
The destructor of the PilotCameraController (default behavior).
vkcv::event::add
event_handle< T... > add(typename event_function< T... >::type callback)
Definition: Event.hpp:69
vkcv::Handle
Definition: Handles.hpp:17
vkcv::camera::PilotCameraController::mouseMoveCallback
void mouseMoveCallback(double x, double y, Camera &camera)
A callback function for mouse movement events. Currently, this leads to panning the view of the camer...
Definition: PilotCameraController.cpp:111
vkcv::camera::Camera::getPitch
float getPitch() const
Gets the pitch value of the camera in degrees.
Definition: Camera.cpp:145
vkcv::camera::CameraManager
Used for managing an arbitrary amount of camera controllers.
Definition: CameraManager.hpp:26
vkcv::camera::Camera::setPerspective
void setPerspective(float fov, float ratio, float near, float far)
Sets the perspective object according to fov, ratio, near and far. This leads to changes in the proje...
Definition: Camera.cpp:87
vkcv::Core::~Core
~Core() noexcept
Definition: Core.cpp:74
vkcv::camera::CameraManager::getActiveController
CameraController & getActiveController()
Definition: CameraManager.cpp:112
vkcv::SwapchainManager::createSwapchainImageViews
std::vector< vk::ImageView > createSwapchainImageViews(SwapchainHandle &handle)
Definition: SwapchainManager.cpp:57
vkcv::VertexLayout
Definition: VertexLayout.hpp:55
vkcv::scene::MeshPart
Definition: MeshPart.hpp:16
vkcv::camera::TrackballCameraController
Used to orbit a camera around its center point.
Definition: TrackballCameraController.hpp:10
vkcv::camera::Camera::Camera
Camera()
The default constructor of the camera.
Definition: Camera.cpp:7
vkcv::Window::getTitle
const std::string & getTitle() const
Definition: Window.cpp:229
vkcv::WindowManager::getWindow
Window & getWindow(const WindowHandle handle) const
Definition: WindowManager.cpp:40
vkcv::readShaderCode
std::vector< char > readShaderCode(const std::filesystem::path &shaderPath)
Definition: ShaderProgram.cpp:17
vkcv::WindowManager::createWindow
WindowHandle createWindow(SwapchainManager &swapchainManager, const char *applicationName, uint32_t windowWidth, uint32_t windowHeight, bool resizeable)
Definition: WindowManager.cpp:16
vkcv::camera::Camera::~Camera
~Camera()
The destructor of the camera (default behavior)
vkcv::Window::getSwapchainHandle
SwapchainHandle getSwapchainHandle() const
Definition: Window.cpp:287
vkcv::DescriptorManager::m_DescriptorSetLayouts
std::vector< DescriptorSetLayout > m_DescriptorSetLayouts
Definition: DescriptorManager.hpp:49
vkcv::ComputePipelineManager::ComputePipeline
Definition: ComputePipelineManager.hpp:58
vkcv::GraphicsPipelineManager::createPipeline
GraphicsPipelineHandle createPipeline(const GraphicsPipelineConfig &config, PassManager &passManager)
Definition: GraphicsPipelineManager.cpp:419
vkcv::camera::TrackballCameraController::updateRadius
void updateRadius(double offset, Camera &camera)
Updates the current radius of camera in respect to the offset.
Definition: TrackballCameraController.cpp:32
vkcv::DescriptorSetLayout
Definition: DescriptorConfig.hpp:75
vkcv::ComputePipelineHandle
Definition: Handles.hpp:82
vkcv::camera::TrackballCameraController::mouseMoveCallback
void mouseMoveCallback(double xoffset, double yoffset, Camera &camera)
A callback function for mouse movement events. Currently, this leads to panning the view of the camer...
Definition: TrackballCameraController.cpp:69
vkcv::Core::operator=
Core & operator=(const Core &other)=delete
vkcv::camera::CameraController::mouseButtonCallback
virtual void mouseButtonCallback(int button, int action, int mods, Camera &camera)=0
A callback function for mouse button events.
vkcv::camera::CameraController::mouseMoveCallback
virtual void mouseMoveCallback(double offsetX, double offsetY, Camera &camera)=0
A callback function for mouse movement events.
vkcv::event_function
Definition: Event.hpp:23
vkcv::camera::Camera::setPosition
void setPosition(const glm::vec3 &position)
Sets the position of the camera to position.
Definition: Camera.cpp:105
vkcv::Core::recordRayGenerationToCmdStream
void recordRayGenerationToCmdStream(CommandStreamHandle cmdStreamHandle, vk::Pipeline rtxPipeline, vk::PipelineLayout rtxPipelineLayout, vk::StridedDeviceAddressRegionKHR rgenRegion, vk::StridedDeviceAddressRegionKHR rmissRegion, vk::StridedDeviceAddressRegionKHR rchitRegion, vk::StridedDeviceAddressRegionKHR rcallRegion, const std::vector< DescriptorSetUsage > &descriptorSetUsages, const PushConstants &pushConstants, const WindowHandle windowHandle)
Definition: Core.cpp:506
vkcv::Handle::getId
uint64_t getId() const
Definition: Handles.cpp:69
vkcv::camera::Camera::getCenter
const glm::vec3 & getCenter() const
Gets the center point.
Definition: Camera.cpp:109
vkcv::ImageHandle
Definition: Handles.hpp:106
vkcv::camera::PilotCameraController::scrollCallback
void scrollCallback(double offsetX, double offsetY, Camera &camera)
A callback function for mouse scrolling events. Currently, this leads to changes in the field of view...
Definition: PilotCameraController.cpp:107
vkcv::VertexBinding
Definition: VertexLayout.hpp:39
vkcv::Handle::getRC
uint64_t getRC() const
Definition: Handles.cpp:73
vkcv::asset::Scene
Definition: asset_loader.hpp:251
vkcv::SwapchainManager::signalRecreation
void signalRecreation(const SwapchainHandle &handle)
Definition: SwapchainManager.cpp:49
vkcv::DescriptorSetHandle
Definition: Handles.hpp:88
vkcv::scene::Node
Definition: Node.hpp:14
vkcv::Swapchain::getPresentQueueIndex
const uint32_t & getPresentQueueIndex() const
Definition: Swapchain.cpp:269
vkcv::camera::TrackballCameraController::gamepadCallback
void gamepadCallback(int gamepadIndex, Camera &camera, double frametime)
A callback function for gamepad input events.
Definition: TrackballCameraController.cpp:85
vkcv::camera::CameraManager::~CameraManager
~CameraManager()
The destructor of the CameraManager. Destroying the CameraManager leads to deletion of all stored cam...
Definition: CameraManager.cpp:18
vkcv::camera::PilotCameraController::gamepadCallback
void gamepadCallback(int gamepadIndex, Camera &camera, double frametime)
A callback function for gamepad input events.
Definition: PilotCameraController.cpp:126
vkcv::GraphicsPipelineConfig
Definition: GraphicsPipelineConfig.hpp:25
vkcv::testing::Test
Definition: Test.hpp:5