coral_shadowmap_renderer.h 831 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef CORAL_SHADOWMAP_RENDERER_H
  2. #define CORAL_SHADOWMAP_RENDERER_H
  3. #include "vk_types.h"
  4. #include "coral_device.h"
  5. namespace coral_3d
  6. {
  7. class coral_shadowmap_renderer final
  8. {
  9. public:
  10. coral_shadowmap_renderer(coral_device& device);
  11. ~coral_shadowmap_renderer();
  12. private:
  13. void create_render_pass();
  14. void create_framebuffer();
  15. coral_device& device_;
  16. unsigned int width_;
  17. unsigned int height_;
  18. VkFramebuffer frame_buffer_;
  19. struct FrameBufferAttachment
  20. {
  21. AllocatedImage image;
  22. VkImageView image_view;
  23. } frame_buffer_attachment_;
  24. VkRenderPass render_pass_;
  25. VkSampler depth_sampler_;
  26. VkDescriptorImageInfo descriptor;
  27. };
  28. } // coral_3d
  29. #endif // CORAL_SHADOWMAP_RENDERER_H