18 vk::Pipeline intrinsic;
30 virtual void draw_in_command_buffer(vk::CommandBuffer commandBuffer,
draw_context const &context);
32 void build_for_new_device();
33 void teardown_for_device_lost();
34 void build_for_new_swapchain(vk::RenderPass renderPass, uint32_t renderSubpass, vk::Extent2D extent);
35 void teardown_for_swapchain_lost();
38 vk::DescriptorSet descriptorSet;
39 ssize_t descriptorSetVersion = 0;
41 vk::DescriptorSetLayout descriptorSetLayout;
42 vk::PipelineLayout pipelineLayout;
43 vk::DescriptorPool descriptorPool;
48 virtual ssize_t getDescriptorSetVersion()
const = 0;
53 virtual vk::VertexInputBindingDescription createVertexInputBindingDescription()
const
62 virtual vk::PipelineDepthStencilStateCreateInfo getPipelineDepthStencilStateCreateInfo()
const;
65 virtual void build_vertex_buffers(){};
66 virtual void teardown_vertex_buffers(){};
67 virtual void build_descriptor_sets();
68 virtual void teardown_descriptor_sets();
69 virtual void build_pipeline(vk::RenderPass renderPass, uint32_t renderSubpass, vk::Extent2D extent);
70 virtual void teardown_pipeline();