gxCamera::gxCamera(): object3d(OBJECT3D_CAMERA_STRUCT) { setFOV(45.0f); setNear(10.0f); setFar(10000.0f); setType(PERSPECTIVE_PROJECTION); updateLocalPositionf(0, 0, 300); perspectiveChanged(); }
std::shared_ptr<CameraPerspective> Scene::createPerspectiveCamera(GameObject *cameraObject){ if (!cameraObject ){ cameraObject = createGameObject("PerspectiveCamera"); } auto cam = cameraObject->addComponent<CameraPerspective>(); cam->setNear(0.1f); cam->setFar(100); cam->setFieldOfViewY(glm::radians(60.0f)); cam->setClearColor(glm::vec4(0,0,0,1)); return cam; }
std::shared_ptr<CameraOrthographic> Scene::createOrthographicCamera(GameObject *cameraObject) { if (!cameraObject ) { cameraObject = createGameObject("OrthographicCamera"); } auto cam = cameraObject->addComponent<CameraOrthographic>(); glm::ivec2 dim = Engine::context()->getContextSurfaceDim(); cam->setNear(-10); cam->setFar(10); cam->setLeft(-dim.x/2); cam->setRight(dim.x/2); cam->setBottom(-dim.y/2); cam->setTop(dim.y/2); cam->setClearColor(glm::vec4(0,0,0,1)); return cam; }
Player::Player() : Camera(), m_theta(0), m_phi(0), m_body(0) { setFar(200.0f); }