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

◆ upload_influence_ubo()

void MayaFlux::Nexus::Emitter::upload_influence_ubo ( const InfluenceContext ctx) const
private

Definition at line 42 of file Emitter.cpp.

43{
44 if (!m_influence_ubo || !m_influence_ubo->get_mapped_ptr()) {
46 "Cannot upload influence UBO: no target or failed to map buffer");
47 return;
48 }
49
50 InfluenceUBO data {
51 .position = ctx.position,
52 .intensity = ctx.intensity,
53 .color = ctx.color.value_or(glm::vec3(1.0F)),
54 .radius = ctx.radius,
55 .size = ctx.size.value_or(1.0F),
56 };
57
58 Buffers::upload_to_gpu(&data, sizeof(InfluenceUBO), m_influence_ubo, nullptr);
59}
#define MF_WARN(comp, ctx,...)
std::shared_ptr< Buffers::VKBuffer > m_influence_ubo
Definition Emitter.hpp:249
void upload_to_gpu(const void *data, size_t size, const std::shared_ptr< VKBuffer > &target, const std::shared_ptr< VKBuffer > &staging)
Upload raw data to GPU buffer (auto-detects host-visible vs device-local)
@ Runtime
General runtime operations (default fallback)
@ Nexus
Spatial indexing and scheduling for user-defined behaviour.

References MayaFlux::Nexus::InfluenceContext::color, MayaFlux::Nexus::InfluenceContext::intensity, m_influence_ubo, MF_WARN, MayaFlux::Journal::Nexus, MayaFlux::Nexus::InfluenceUBO::position, MayaFlux::Nexus::InfluenceContext::position, MayaFlux::Nexus::InfluenceContext::radius, MayaFlux::Journal::Runtime, MayaFlux::Nexus::InfluenceContext::size, and MayaFlux::Buffers::upload_to_gpu().

Referenced by invoke().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: