Archived
1
Fork 0
This repository has been archived on 2025-04-12. You can view files and clone it, but cannot push or open issues or pull requests.
graphite/engine/renderer/include/skyboxpass.hpp
2024-01-03 16:05:02 -05:00

86 lines
No EOL
2.3 KiB
C++

#pragma once
#include <vk.hpp>
#include <glm/glm.hpp>
#include <component.hpp>
class SkyboxPass {
public:
void Initialize(VkRenderPass renderPass, vk::Device device);
void Cleanup(vk::Device device);
void Record(Camera *camera, VkCommandBuffer buffer, vk::Device device);
VkShaderModule vertexShaderModule, fragmentShaderModule;
struct UniformMatrixData
{
glm::mat4 proj, view;
};
struct UniformSceneData
{
glm::vec3 sunPosition;
};
struct
{
std::vector<glm::vec3> vertices = {
{-1.0f, 1.0f, -1.0f},
{-1.0f, -1.0f, -1.0f},
{1.0f, -1.0f, -1.0f},
{1.0f, -1.0f, -1.0f},
{1.0f, 1.0f, -1.0f},
{-1.0f, 1.0f, -1.0f},
{-1.0f, -1.0f, 1.0f},
{-1.0f, -1.0f, -1.0f},
{-1.0f, 1.0f, -1.0f},
{-1.0f, 1.0f, -1.0f},
{-1.0f, 1.0f, 1.0f},
{-1.0f, -1.0f, 1.0f},
{1.0f, -1.0f, -1.0f},
{1.0f, -1.0f, 1.0f},
{1.0f, 1.0f, 1.0f},
{1.0f, 1.0f, 1.0f},
{1.0f, 1.0f, -1.0f},
{1.0f, -1.0f, -1.0f},
{-1.0f, -1.0f, 1.0f},
{-1.0f, 1.0f, 1.0f},
{1.0f, 1.0f, 1.0f},
{1.0f, 1.0f, 1.0f},
{1.0f, -1.0f, 1.0f},
{-1.0f, -1.0f, 1.0f},
{-1.0f, 1.0f, -1.0f},
{1.0f, 1.0f, -1.0f},
{1.0f, 1.0f, 1.0f},
{1.0f, 1.0f, 1.0f},
{-1.0f, 1.0f, 1.0f},
{-1.0f, 1.0f, -1.0f},
{-1.0f, -1.0f, -1.0f},
{-1.0f, -1.0f, 1.0f},
{1.0f, -1.0f, -1.0f},
{1.0f, -1.0f, -1.0f},
{-1.0f, -1.0f, 1.0f},
{1.0f, -1.0f, 1.0f}
};
VkBuffer vertexBuffer;
VkDeviceMemory vertexBufferMemory;
} cube;
VkDescriptorSetLayout descriptorSetLayout;
VkPipeline pipeline;
VkPipelineLayout pipelineLayout;
VkBuffer uniformMatrixBuffer, uniformSceneBuffer;
VkDeviceMemory uniformMatrixBufferMemory, uniformSceneBufferMemory;
VkDescriptorPool descriptorPool;
VkDescriptorSet descriptorSet;
};