//----------------------------------------------------------------------------------------------- void LightSystem::Update(float deltaSeconds, float movementRadius, float movementSpeed) { UNUSED(deltaSeconds); Vector3f initialPosition; Vector3f lightRGB; Color color; float currentElapsedTime = (float)Time::GetCurrentTimeInSeconds(); for(int i = 0; i < m_numberOfActivatedLights; ++i) { initialPosition = m_lights[i].initialPosition; if(m_lights[i].movement == FIGURE_EIGHT) { m_lights[i].light.m_position = Vector3f ( initialPosition.x + movementRadius * sin(i + movementSpeed * currentElapsedTime), initialPosition.y + movementRadius * sin(i + 2.f * movementSpeed * currentElapsedTime), initialPosition.z ); } else { m_lights[i].light.m_position = initialPosition; } lightRGB.x = m_lights[i].light.m_colorAndBrightness.x; lightRGB.y = m_lights[i].light.m_colorAndBrightness.y; lightRGB.z = m_lights[i].light.m_colorAndBrightness.z; color.FromVector3fNormalizedAndFullyOpaque(lightRGB); initialPosition = m_lights[i].light.m_position; if(!m_lights[i].light.m_ignorePosition) OpenGLRenderer::RenderDebugPoint(initialPosition, color); } }