MayaFlux 1.0.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 405 of file VKBuffer.cpp.

409{
410 if (!render_processor)
411 render_processor = std::make_shared<RenderProcessor>(shader_config);
412
413 render_processor->set_fragment_shader(config.fragment_shader);
414
415 render_processor->set_target_window(
416 config.target_window,
417 std::dynamic_pointer_cast<VKBuffer>(shared_from_this()));
418
419 render_processor->set_primitive_topology(config.topology);
420 render_processor->set_triangulate(config.triangulate);
421 render_processor->set_polygon_mode(config.polygon_mode);
422 render_processor->set_cull_mode(config.cull_mode);
423 render_processor->set_scissor(config.scissor);
424
425 if (!config.geometry_shader.empty())
426 render_processor->set_geometry_shader(config.geometry_shader);
427}

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::scissor, MayaFlux::Portal::Graphics::RenderConfig::target_window, MayaFlux::Portal::Graphics::RenderConfig::topology, and MayaFlux::Portal::Graphics::RenderConfig::triangulate.