diff options
author | Frederico Linhares <fred@linhares.blue> | 2022-08-30 17:45:40 -0300 |
---|---|---|
committer | Frederico Linhares <fred@linhares.blue> | 2022-08-30 17:45:40 -0300 |
commit | f1f1576543bb4e0f3b9bc4cd0ba4a12a70546c3c (patch) | |
tree | 87160fb7462ee5b4385ba6e9b0ccb51657b2f796 /src/vk/graphics_pipeline.hpp | |
parent | 42e03ddc3b28c41b81fb5410feb72750530ffa13 (diff) |
feat Create 2d graphics pipeline
Diffstat (limited to 'src/vk/graphics_pipeline.hpp')
-rw-r--r-- | src/vk/graphics_pipeline.hpp | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/src/vk/graphics_pipeline.hpp b/src/vk/graphics_pipeline.hpp deleted file mode 100644 index b4a282a..0000000 --- a/src/vk/graphics_pipeline.hpp +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright 2022 Frederico de Oliveira Linhares - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef CANDY_GEAR_VK_GRAPHICS_PIPELINE_H -#define CANDY_GEAR_VK_GRAPHICS_PIPELINE_H 1 - -#include <memory> -#include <unordered_map> - -#include "../command.hpp" -#include "core.hpp" -#include "command_pool.hpp" -#include "model.hpp" -#include "model_instance.hpp" -#include "uniform_buffer.hpp" - -namespace VK -{ - -struct GraphicsPipeline -{ - VkDescriptorSetLayout descriptor_set_layout_model_instance; - VkDescriptorSetLayout descriptor_set_layout_world_view; - VkPipelineLayout pipeline_layout; - - // Depth image. - VkImage depth_image; - VkDeviceMemory depth_image_memory; - VkImageView depth_image_view; - - // FIXME: if this vector get resized, it will cause a segmentation fault! - std::vector<UniformBuffer> ub_view_projection; - std::vector<UniformBuffer> ub_directional_light; - - VkDescriptorPool descriptor_pool; - std::vector<VkDescriptorSet> world_view_descriptor_sets; - - VkRenderPass render_pass; - std::vector<VkFramebuffer> swapchain_framebuffers; - VkPipeline graphic_pipeline; - - QueueFamily *queue_family; - VkCommandPool command_pool; - std::vector<VkCommandBuffer> draw_command_buffers; - - // Buffering control. - static const int max_frames_in_flight{2}; - size_t current_frame; - std::vector<VkSemaphore> image_available_semaphores; - std::vector<VkSemaphore> render_finished_semaphores; - std::vector<VkFence> in_flight_fences; - - std::shared_ptr<glm::vec3> camera_position; - std::shared_ptr<glm::vec3> camera_rotation; - std::vector<std::unordered_map< - std::shared_ptr<Model>, std::vector<ModelInstance>>> - models_to_draw; - - GraphicsPipeline(); - ~GraphicsPipeline(); - - void - draw(); -}; - -} - -#endif /* CANDY_GEAR_VK_GRAPHICS_PIPELINE_H */ |