Ejemplo n.º 1
0
    private void ChangeSourceImageProjection(SourceImageProjection sourceImageProjection)
    {
        equirectangularImage.gameObject.SetActive(false);
        rectangularImage.gameObject.SetActive(false);

        if (sourceImageProjection != SourceImageProjection.Rectangular)
        {
            rgbdImageProvider = equirectangularImage;

            equirectangularImage.HorizontalRange = sourceImageProjection == SourceImageProjection.EquirectangularHalf ? InsideCamera.Range.Half : InsideCamera.Range.Full;
        }
        else
        {
            rgbdImageProvider = rectangularImage;
        }

        rgbdImageProvider.gameObject.SetActive(true);

        rgbdImageProvider.InitState();

        outputScreen.SetRgbdImageTexture(rgbdImageProvider.GetRgbdImageTexture());
    }
Ejemplo n.º 2
0
    private bool ParseConfig1(string config, RgbdImageProvider.ImageArrangement imageArrangement)
    {
        if (config.Length < 2)
        {
            return(false);
        }

        int length = 0;

        SourceImageProjection sourceImageProjection = SourceImageProjection.Rectangular;

        if (config.IndexOf(EquirectangularHalf, System.StringComparison.OrdinalIgnoreCase) >= 0)
        {
            sourceImageProjection = SourceImageProjection.EquirectangularHalf;
            length += EquirectangularHalf.Length;
        }
        else if (config.IndexOf(EquirectangularFull, System.StringComparison.OrdinalIgnoreCase) >= 0)
        {
            sourceImageProjection = SourceImageProjection.EquirectangularFull;
            length += EquirectangularFull.Length;
        }
        else if (config.IndexOf(Rectangular, System.StringComparison.OrdinalIgnoreCase) >= 0)
        {
            sourceImageProjection = SourceImageProjection.Rectangular;
            length += Rectangular.Length;
        }
        else
        {
            sourceImageProjection = SourceImageProjection.Rectangular;
        }

        if (imageArrangement != RgbdImageProvider.ImageArrangement.Separate)
        {
            if (config.IndexOf(LR, System.StringComparison.OrdinalIgnoreCase) >= 0)
            {
                imageArrangement = RgbdImageProvider.ImageArrangement.LR;
                length          += LR.Length;
            }
            else if (config.IndexOf(RL, System.StringComparison.OrdinalIgnoreCase) >= 0)
            {
                imageArrangement = RgbdImageProvider.ImageArrangement.RL;
                length          += RL.Length;
            }
            else if (config.IndexOf(TB, System.StringComparison.OrdinalIgnoreCase) >= 0)
            {
                imageArrangement = RgbdImageProvider.ImageArrangement.TB;
                length          += TB.Length;
            }
            else if (config.IndexOf(BT, System.StringComparison.OrdinalIgnoreCase) >= 0)
            {
                imageArrangement = RgbdImageProvider.ImageArrangement.BT;
                length          += BT.Length;
            }
            else
            {
                imageArrangement = RgbdImageProvider.ImageArrangement.LR;
            }
        }

        RgbdImageProvider.ZAxisOrientation zAxisOrientation = RgbdImageProvider.ZAxisOrientation.FrontPositive;
        if (config.IndexOf(FrontNegative, System.StringComparison.OrdinalIgnoreCase) < 0)
        {
            zAxisOrientation = RgbdImageProvider.ZAxisOrientation.FrontPositive;
        }
        else
        {
            zAxisOrientation = RgbdImageProvider.ZAxisOrientation.FrontNegative;
            length          += FrontNegative.Length;
        }

        if (length != config.Length)
        {
            return(false);
        }

        ChangeSourceImageProjection(sourceImageProjection);

        rgbdImageProvider.SourceImageArrangement = imageArrangement;
        rgbdImageProvider.DepthOrientation       = zAxisOrientation;

        return(true);
    }