MCPcopy Create free account
hub / github.com/NazaraEngine/NazaraEngine / AddToRenderQueue

Method AddToRenderQueue

SDK/src/NDK/Components/GraphicsComponent.cpp:23–40  ·  view source on GitHub ↗

! * \brief Adds the renderable elements to the render queue * * \param renderQueue Queue to be added */

Source from the content-addressed store, hash-verified

21 * \param renderQueue Queue to be added
22 */
23 void GraphicsComponent::AddToRenderQueue(Nz::AbstractRenderQueue* renderQueue) const
24 {
25 EnsureTransformMatrixUpdate();
26
27 RenderSystem& renderSystem = m_entity->GetWorld()->GetSystem<RenderSystem>();
28
29 for (const Renderable& object : m_renderables)
30 {
31 if (!object.dataUpdated)
32 {
33 object.data.transformMatrix = Nz::Matrix4f::ConcatenateAffine(renderSystem.GetCoordinateSystemMatrix(), Nz::Matrix4f::ConcatenateAffine(object.data.localMatrix, m_transformMatrix));
34 object.renderable->UpdateData(&object.data);
35 object.dataUpdated = true;
36 }
37
38 object.renderable->AddToRenderQueue(renderQueue, object.data);
39 }
40 }
41
42 /*!
43 * \brief Attaches a renderable to the entity with a specific matrix

Callers 3

OnUpdateMethod · 0.45

Calls 2

GetWorldMethod · 0.45
UpdateDataMethod · 0.45

Tested by

no test coverage detected