MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ apply_render_config() [2/2]

void MayaFlux::Buffers::VKBuffer::apply_render_config ( std::shared_ptr< RenderProcessor > &  render_processor,
const RenderConfig config,
const ShaderConfig shader_config 
)
protected

Configure a RenderProcessor, creating one if null.

Parameters
render_processorExisting processor to configure, or nullptr to create one.
configRenderConfig with settings to apply

Definition at line 364 of file VKBuffer.cpp.

368{
369 if (!render_processor)
370 render_processor = std::make_shared<RenderProcessor>(shader_config);
371
372 render_processor->set_fragment_shader(config.fragment_shader);
373
374 render_processor->set_target_window(
375 config.target_window,
376 std::dynamic_pointer_cast<VKBuffer>(shared_from_this()));
377
378 render_processor->set_primitive_topology(config.topology);
379 render_processor->set_polygon_mode(config.polygon_mode);
380 render_processor->set_cull_mode(config.cull_mode);
381
382 if (!config.geometry_shader.empty())
383 render_processor->set_geometry_shader(config.geometry_shader);
384}

References MayaFlux::Portal::Graphics::RenderConfig::cull_mode, MayaFlux::Portal::Graphics::RenderConfig::fragment_shader, MayaFlux::Portal::Graphics::RenderConfig::geometry_shader, MayaFlux::Portal::Graphics::RenderConfig::polygon_mode, MayaFlux::Portal::Graphics::RenderConfig::target_window, and MayaFlux::Portal::Graphics::RenderConfig::topology.