-------------------------------------------------------------------------------------- Description: Updates GPU buffer with persistent emitter parameters. --------------------------------------------------------------------------------------
| 536 | // Updates GPU buffer with persistent emitter parameters. |
| 537 | // -------------------------------------------------------------------------------------- |
| 538 | void 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: |
nothing calls this directly
no test coverage detected