7#include "gfx_pipeline_vulkan_intf.hpp"
8#include "../container/container.hpp"
9#include "../geometry/geometry.hpp"
10#include "../image/image.hpp"
11#include "../macros.hpp"
12#include <vma/vk_mem_alloc.h>
13#include <vulkan/vulkan.hpp>
16hi_export_module(hikogui.GFX : gfx_pipeline_tone_mapper_intf);
18hi_export
namespace hi {
inline namespace v1 {
25 float saturation = 1.0;
29 return {{vk::ShaderStageFlagBits::eFragment, 0,
sizeof(
push_constants)}};
34 gfx_device
const &device;
36 vk::ShaderModule vertexShaderModule;
37 vk::ShaderModule fragmentShaderModule;
51 void destroy(gfx_device
const *vulkanDevice);
53 void drawInCommandBuffer(vk::CommandBuffer
const &commandBuffer);
57 void teardownShaders(gfx_device
const*vulkanDevice);
68 void draw_in_command_buffer(vk::CommandBuffer commandBuffer,
draw_context const& context)
override;
71 push_constants _push_constants;
76 [[nodiscard]]
size_t getDescriptorSetVersion()
const override;
78 [[nodiscard]] vk::PipelineDepthStencilStateCreateInfo getPipelineDepthStencilStateCreateInfo()
const override;
The HikoGUI namespace.
Definition array_generic.hpp:20
DOXYGEN BUG.
Definition algorithm_misc.hpp:20
Draw context for drawing using the HikoGUI shaders.
Definition draw_context_intf.hpp:209
Definition gfx_pipeline_tone_mapper_vulkan_intf.hpp:22
Definition gfx_pipeline_tone_mapper_vulkan_intf.hpp:24
Definition gfx_pipeline_tone_mapper_vulkan_intf.hpp:33
void destroy(gfx_device const *vulkanDevice)
Definition gfx_pipeline_tone_mapper_vulkan_impl.hpp:96