46 lines
1.2 KiB
C++
46 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <array>
|
|
#include <volk.h>
|
|
|
|
#include <vma/vk_mem_alloc.h>
|
|
|
|
#include <DirectXMath.h>
|
|
|
|
struct GlobalMemory;
|
|
struct RenderDevice;
|
|
|
|
struct MiscData
|
|
{
|
|
struct CameraData
|
|
{
|
|
DirectX::XMMATRIX viewMatrix;
|
|
DirectX::XMMATRIX projectionMatrix;
|
|
};
|
|
|
|
uint64_t previousCounter;
|
|
|
|
VkDescriptorSetLayout descriptorSetLayout;
|
|
VkPipelineLayout pipelineLayout;
|
|
VkPipeline meshPipeline;
|
|
|
|
DirectX::XMVECTOR cameraPosition;
|
|
DirectX::XMVECTOR cameraTarget;
|
|
DirectX::XMVECTOR cameraUp;
|
|
CameraData cameraData;
|
|
VkBuffer cameraUniformBuffer;
|
|
VmaAllocation cameraUniformBufferAllocation;
|
|
size_t cameraUniformBufferSize;
|
|
uint8_t* cameraUniformBufferPtr;
|
|
VkDescriptorPool descriptorPool;
|
|
VkDescriptorSet descriptorSet;
|
|
|
|
VkImageMemoryBarrier2 acquireToRenderBarrier;
|
|
VkDependencyInfo acquireToRenderDependency;
|
|
VkImageMemoryBarrier2 renderToPresentBarrier;
|
|
VkDependencyInfo renderToPresentDependency;
|
|
|
|
bool init( RenderDevice const& renderDevice );
|
|
void destroy( RenderDevice const& renderDevice );
|
|
};
|