void Display::Update(const uint32 diff) { if (m_is2D) Setup3DMode(); sAnimator->Update(); sParticleEmitterMgr->Update(); DrawModels(); DrawBillboards(); }
bool NzForwardRenderTechnique::Draw(const NzScene* scene) const { m_directionalLights.SetLights(&m_renderQueue.directionalLights[0], m_renderQueue.directionalLights.size()); m_lights.SetLights(&m_renderQueue.lights[0], m_renderQueue.lights.size()); m_renderQueue.Sort(scene->GetViewer()); if (!m_renderQueue.opaqueModels.empty()) DrawOpaqueModels(scene); if (!m_renderQueue.transparentModels.empty()) DrawTransparentModels(scene); if (!m_renderQueue.basicSprites.empty()) DrawBasicSprites(scene); if (!m_renderQueue.billboards.empty()) DrawBillboards(scene); // Les autres drawables (Exemple: Terrain) for (const NzDrawable* drawable : m_renderQueue.otherDrawables) drawable->Draw(); return true; }