|
MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
|
| void MayaFlux::Nexus::add_render_sink | ( | std::vector< RenderSink > & | sinks, |
| Buffers::BufferManager & | mgr, | ||
| const Portal::Graphics::RenderConfig & | config, | ||
| RenderFn | fn = {}, |
||
| std::string | fn_name = {}, |
||
| const std::optional< glm::vec3 > & | initial_position = {} |
||
| ) |
Create and register a render sink targeting window.
Allocates a VKBuffer (VERTEX, POINT_LIST), attaches a GeometryWriteProcessor and a RenderProcessor with point.vert.spv / point.frag.spv defaults, and registers the buffer with mgr.
| sinks | Sink vector owned by the calling Emitter or Agent. |
| mgr | BufferManager to register the VKBuffer with. |
| window | Target window for presentation. |
| fn | Optional producer called each dispatch with InfluenceContext. Leave empty when geometry is supplied via push_geometry(). |
| fn_name | Optional identifier for state encoding, empty if anonymous. |
| initial_position | Optional initial position to write if no producer fn is set. |
Definition at line 95 of file Sinks.cpp.
References MayaFlux::Buffers::BufferManager::add_buffer(), MayaFlux::Nexus::RenderSink::buf, MayaFlux::Journal::Buffers, MayaFlux::Portal::Graphics::RenderConfig::cull_mode, fn_name, MayaFlux::Portal::Graphics::RenderConfig::fragment_shader, MayaFlux::Portal::Graphics::RenderConfig::geometry_shader, MayaFlux::Buffers::GRAPHICS_BACKEND, MayaFlux::Journal::Init, MayaFlux::Buffers::LINE, MayaFlux::Portal::Graphics::LINE_LIST, MayaFlux::Portal::Graphics::LINE_STRIP, MayaFlux::Buffers::MESH, MF_DEBUG, MayaFlux::Buffers::POINT, MayaFlux::Portal::Graphics::RenderConfig::polygon_mode, MayaFlux::Portal::Graphics::RenderConfig::target_window, MayaFlux::Portal::Graphics::RenderConfig::topology, MayaFlux::Portal::Graphics::TRIANGLE_LIST, MayaFlux::Portal::Graphics::TRIANGLE_STRIP, MayaFlux::Buffers::VKBuffer::VERTEX, MayaFlux::Kakshya::VERTEX_POSITIONS_3D, and MayaFlux::Portal::Graphics::RenderConfig::vertex_shader.
Referenced by MayaFlux::Nexus::Agent::render(), MayaFlux::Nexus::Emitter::render(), MayaFlux::Nexus::Agent::render(), and MayaFlux::Nexus::Emitter::render().
Here is the call graph for this function:
Here is the caller graph for this function: