void CCCamera::restore(void) { m_fEyeX = m_fEyeY = 0.0f; m_fEyeZ = getZEye(); m_fCenterX = m_fCenterY = m_fCenterZ = 0.0f; m_fUpX = 0.0f; m_fUpY = 1.0f; m_fUpZ = 0.0f; m_bDirty = false; }
void CCDirector::setProjection(ccDirectorProjection kProjection) { CCSize size = m_obWinSizeInPixels; switch (kProjection) { case kCCDirectorProjection2D: // glViewport((GLsizei)0, (GLsizei)0, (GLsizei)size.width, (GLsizei)size.height); CCDirector::sharedDirector()->getOpenGLView()->setViewPortInPoints(0, 0, size.width, size.height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); ccglOrtho(0, size.width, 0, size.height, -1024 * CC_CONTENT_SCALE_FACTOR(), 1024 * CC_CONTENT_SCALE_FACTOR()); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); break; case kCCDirectorProjection3D: // glViewport(0, 0, (GLsizei)size.width, (GLsizei)size.height); CCDirector::sharedDirector()->getOpenGLView()->setViewPortInPoints(0, 0, size.width, size.height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(60, (GLfloat)size.width/size.height, 0.5f, 1500.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt( size.width/2, size.height/2, getZEye(), size.width/2, size.height/2, 0, 0.0f, 1.0f, 0.0f); break; case kCCDirectorProjectionCustom: if (m_pProjectionDelegate) { m_pProjectionDelegate->updateProjection(); } break; default: CCLOG("cocos2d: Director: unrecognized projecgtion"); break; } m_eProjection = kProjection; }