Beispiel #1
0
    void Update()
    {
        // update Arcball on mouse
        if (Input.GetMouseButton(0))
        {
            mArcball.update(Input.mousePosition);
            this.transform.rotation = mArcball.getRotation();
        }
        else if (Input.GetMouseButtonUp(0))
        {
            mArcball.stop();
        }
        else if (Input.GetKeyDown(KeyCode.H))
        {
            mArcball.reset();
        }
        else if (Input.GetKeyDown(KeyCode.G))
        {
            bGuiVisible = !bGuiVisible;
        }

        // get scroll amount
        float scroll = Input.GetAxis("Mouse ScrollWheel");

        if (scroll > 0.0f || scroll < 0.0f)
        {
            fov += -Input.GetAxis("Mouse ScrollWheel") * fovSensitivity;

            switch (selectedModelID)
            {
            case LensModel.LENSMODEL.RECTILINEAR:
                minFov = 1;
                maxFov = 179;
                break;

            case LensModel.LENSMODEL.EQUIDISTANT:
                minFov = 1;
                maxFov = 220;
                break;

            case LensModel.LENSMODEL.STEREOGRAPHIC:
                minFov = 1;
                maxFov = 359;
                break;

            case LensModel.LENSMODEL.EQUIRECTANGULAR:
                minFov = 360;
                maxFov = 360;
                break;

            case LensModel.LENSMODEL.CYLINDRICAL:
                minFov = 1;
                maxFov = 179;
                break;

            default:
                minFov = maxFov = 360;
                break;
            }

            fov = Mathf.Clamp(fov, minFov, maxFov);

            UpdateFOV();
        }

        mFps.Update();

        if (!renderLast)
        {
            UpdateCubemap(63);
        }
    }