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

◆ publish_render_transform()

const Kinesis::RenderTransform & MayaFlux::Buffers::RenderProcessor::publish_render_transform ( )
protected

Resolve the view and geometry transforms and write them to the UBO.

Returns
The render transform just published.

Host-side only, no command recording. Runs before the triangulation dispatch so that reads this frame's camera. Prefer pushing the returned value into a dispatch over binding the UBO, which has no per-frame-in-flight copies.

Definition at line 576 of file RenderProcessor.cpp.

577{
578 Kinesis::RenderTransform transform;
580 transform.view_transform = m_view_transform_source
582 : m_view_transform.value_or(Kinesis::ViewTransform {});
583 }
584 transform.geometry = m_geometry_transform_source
586 : m_geometry_transform.value_or(glm::mat4 { 1.0F });
587
589
590 if (m_render_transform_ubo && m_render_transform_ubo->get_mapped_ptr()) {
591 std::memcpy(
592 m_render_transform_ubo->get_mapped_ptr(),
594 sizeof(Kinesis::RenderTransform));
595 }
596
598}
Kinesis::RenderTransform m_published_render_transform
std::function< Kinesis::ViewTransform()> m_view_transform_source
std::optional< Kinesis::ViewTransform > m_view_transform
std::function< glm::mat4()> m_geometry_transform_source
std::optional< glm::mat4 > m_geometry_transform
std::shared_ptr< VKBuffer > m_render_transform_ubo
@ Kinesis
General mathematical and physics algorithns.

References MayaFlux::Kinesis::RenderTransform::geometry, and MayaFlux::Kinesis::RenderTransform::view_transform.