MCPcopy Create free account
hub / github.com/carbonengine/trinity / UpdateGpuEmitterParams

Method UpdateGpuEmitterParams

trinity/Particle/Tr2GpuParticleSystem.cpp:538–555  ·  view source on GitHub ↗

-------------------------------------------------------------------------------------- Description: Updates GPU buffer with persistent emitter parameters. --------------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

536// Updates GPU buffer with persistent emitter parameters.
537// --------------------------------------------------------------------------------------
538void Tr2GpuParticleSystem::UpdateGpuEmitterParams( Tr2RenderContext& renderContext )
539{
540 if( !m_emitterParamsBuffer->IsValid() || m_emitterParamsBuffer->GetCount() < m_emitterParams.size() )
541 {
542 m_emitterParamsBuffer->Create( std::max( 64u, uint32_t( m_emitterParams.size() ) ), sizeof( EmitterParamsGpu ), Tr2GpuStructuredBuffer::CPU_WRITABLE );
543 }
544
545 if( m_emitterParams.size() == 0 )
546 {
547 return;
548 }
549
550 if( !m_emitterParamsBuffer->IsValid() )
551 {
552 return;
553 }
554 m_emitterParamsBuffer->GetGpuBuffer( 0 )->UpdateBuffer( 0, uint32_t( m_emitterParams.size() * sizeof( m_emitterParams[0] ) ), &m_emitterParams[0], renderContext );
555}
556
557// --------------------------------------------------------------------------------------
558// Description:

Callers

nothing calls this directly

Calls 6

sizeMethod · 0.80
IsValidMethod · 0.45
GetCountMethod · 0.45
CreateMethod · 0.45
UpdateBufferMethod · 0.45
GetGpuBufferMethod · 0.45

Tested by

no test coverage detected