28 void set_geometry_shader(
const std::string& geometry_path);
29 void set_tess_control_shader(
const std::string& tess_control_path);
30 void set_tess_eval_shader(
const std::string& tess_eval_path);
31 void set_fragment_shader(
const std::string& fragment_path);
34 void set_target_window(std::shared_ptr<Core::Window> window);
38 void on_attach(std::shared_ptr<Buffer> buffer)
override;
43 m_primitive_topology = topology;
44 m_needs_pipeline_rebuild =
true;
50 m_polygon_mode = mode;
51 m_needs_pipeline_rebuild =
true;
58 m_needs_pipeline_rebuild =
true;
69 const std::shared_ptr<Core::VKImage>& texture,
70 vk::Sampler sampler =
nullptr);
79 const std::string& descriptor_name,
80 const std::shared_ptr<Core::VKImage>& texture,
81 vk::Sampler sampler =
nullptr);
84 void initialize_pipeline(
const std::shared_ptr<Buffer>& buffer)
override;
85 void processing_function(std::shared_ptr<Buffer> buffer)
override;
87 void cleanup()
override;
92 bool use_reflection {};
std::shared_ptr< Core::VKImage > texture