//---------------------------------------------------------------------------- bool Lighting::OnInitialize() { if( !SEWindowApplication3::OnInitialize() ) { return false; } m_spCamera->SetFrustum(-0.55f, 0.55f, -0.4125f, 0.4125f, 1.0f, 100.0f); SEVector3f tempCLoc(0.0f, 9.0f, -20.0f); SEVector3f tempCDir(0.0f, -0.2f, 1.0f); tempCDir.Normalize(); SEVector3f tempCUp(0.0f, 1.0f, 0.0f); SEVector3f tempCRight = tempCUp.Cross(tempCDir); tempCRight.Normalize(); tempCUp = tempCDir.Cross(tempCRight); tempCUp.Normalize(); m_spCamera->SetFrame(tempCLoc, tempCRight, tempCUp, tempCDir); CreateScene(); // initial update of objects m_spScene->UpdateGS(); m_spScene->UpdateRS(); // initial culling of scene m_Culler.SetCamera(m_spCamera); m_Culler.ComputeUnculledSet(m_spScene); #if defined(SE_USING_OES2) InitializeCameraMotion(0.1f, 0.01f); #else InitializeCameraMotion(0.01f, 0.001f); #endif InitializeObjectMotion(m_spScene); return true; }