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

Method AddQuads

trinity/Tr2QuadRenderer.cpp:105–124  ·  view source on GitHub ↗

-------------------------------------------------------------------------------------- Description: Adds quad instances for rendering. This function may be called from TBB threads. Arguments: effectKey - a unique key for a previously registered effect sprites - quad instance data count - number of instances to add ------------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

103// count - number of instances to add
104// --------------------------------------------------------------------------------------
105void Tr2QuadRenderer::AddQuads( EffectKey effectKey, const void* sprites, size_t count )
106{
107 auto found = m_effects.find( effectKey );
108 if( found == m_effects.end() )
109 {
110 return;
111 }
112 auto record = found->second;
113 auto& tls = record->combinable.local();
114 auto size = count * record->instanceSize;
115 if( tls.buffer.size() < tls.addedSize + size )
116 {
117 tls.buffer.resize(
118 "Tr2InstancePool::buffer",
119 std::max( tls.buffer.size() * 2, tls.buffer.size() + std::max( count, size_t( 512 ) ) * record->instanceSize ) );
120 }
121 memcpy( tls.buffer.get() + tls.addedSize, sprites, size );
122 tls.addedSize += uint32_t( size );
123 m_bufferSize += uint32_t( size );
124}
125
126// --------------------------------------------------------------------------------------
127// Description:

Callers 10

EndUpdateMethod · 0.80
AddToQuadRendererMethod · 0.80
AddToQuadRendererMethod · 0.80
AddToQuadRendererMethod · 0.80
AddToQuadRendererMethod · 0.80

Calls 3

sizeMethod · 0.80
getMethod · 0.80
endMethod · 0.45

Tested by

no test coverage detected