public void SetGraphics()
    {
        Application.targetFrameRate = graphicsSetting ? graphicsSetting.frameRate : 60;

        if (graphicsSetting)
        {
            if (!graphicsSetting.dynamicQuality)
            {
                currentLevel = graphicsSetting.resolutionLevel;
            }
        }
        else
        {
            currentLevel = ResolutionLevel.HIGH;
        }

        isSupportHalf     = SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.ARGBHalf);
        isSupportDepthTex = SystemInfo.SupportsRenderTextureFormat(RenderTextureFormat.Depth);
        isSupportMRT      = SystemInfo.supportedRenderTargetCount > 1;

        if (!isSupportHalf || (graphicsSetting && !graphicsSetting.hdr))
        {
            halfFormat = RenderTextureFormat.ARGB32;
        }
        else
        {
            halfFormat = RenderTextureFormat.ARGBHalf;
        }

        ShaderLod();
    }
 public void Init()
 {
     frameRate           = 30;
     shaderLod           = 500;
     resolutionLevel     = ResolutionLevel.HIGH;
     displayFPS          = false;
     dynamicQuality      = false;
     hdr                 = true;
     shadow              = true;
     playerLayer         = true;
     alphaBuffer         = true;
     distortion          = true;
     sceneBloom          = true;
     alphaBloom          = true;
     playerBloom         = true;
     sceneColorLookup    = true;
     alphaColorLookup    = true;
     playerColorLookup   = true;
     mask                = true;
     antialiasing        = true;
     depthOfField        = true;
     ambientOcclusion    = true;
     lumaOcclusion       = true;
     volumetricFog       = true;
     vignette            = true;
     border              = true;
     radialBlur          = true;
     cloudShadow         = true;
     heightFog           = true;
     chromaticAberration = true;
     stochasticSSR       = true;
 }
 public void Read()
 {
     frameRate           = PlayerPrefs.GetInt("frameRate");
     shaderLod           = PlayerPrefs.GetInt("shaderLod");
     resolutionLevel     = (ResolutionLevel)PlayerPrefs.GetInt("resolutionLevel");
     dynamicQuality      = PlayerPrefs.GetInt("dynamicQuality") > 0 ? true : false;
     displayFPS          = PlayerPrefs.GetInt("displayFPS") > 0 ? true : false;
     hdr                 = PlayerPrefs.GetInt("hdr") > 0 ? true : false;
     shadow              = PlayerPrefs.GetInt("shadow") > 0 ? true : false;
     playerLayer         = PlayerPrefs.GetInt("playerLayer") > 0 ? true : false;
     alphaBuffer         = PlayerPrefs.GetInt("alphaBuffer") > 0 ? true : false;
     distortion          = PlayerPrefs.GetInt("distortion") > 0 ? true : false;
     sceneBloom          = PlayerPrefs.GetInt("sceneBloom") > 0 ? true : false;
     alphaBloom          = PlayerPrefs.GetInt("alphaBloom") > 0 ? true : false;
     playerBloom         = PlayerPrefs.GetInt("playerBloom") > 0 ? true : false;
     sceneColorLookup    = PlayerPrefs.GetInt("sceneColorLookup") > 0 ? true : false;
     alphaColorLookup    = PlayerPrefs.GetInt("alphaColorLookup") > 0 ? true : false;
     playerColorLookup   = PlayerPrefs.GetInt("playerColorLookup") > 0 ? true : false;
     mask                = PlayerPrefs.GetInt("mask") > 0 ? true : false;
     antialiasing        = PlayerPrefs.GetInt("antialiasing") > 0 ? true : false;
     depthOfField        = PlayerPrefs.GetInt("depthOfField") > 0 ? true : false;
     ambientOcclusion    = PlayerPrefs.GetInt("ambientOcclusion") > 0 ? true : false;
     lumaOcclusion       = PlayerPrefs.GetInt("lumaOcclusion") > 0 ? true : false;
     volumetricFog       = PlayerPrefs.GetInt("volumetricFog") > 0 ? true : false;
     vignette            = PlayerPrefs.GetInt("vignette") > 0 ? true : false;
     border              = PlayerPrefs.GetInt("border") > 0 ? true : false;
     radialBlur          = PlayerPrefs.GetInt("radialBlur") > 0 ? true : false;
     cloudShadow         = PlayerPrefs.GetInt("cloudShadow") > 0 ? true : false;
     heightFog           = PlayerPrefs.GetInt("heightFog") > 0 ? true : false;
     chromaticAberration = PlayerPrefs.GetInt("chromaticAberration") > 0 ? true : false;
     stochasticSSR       = PlayerPrefs.GetInt("stochasticSSR") > 0 ? true : false;
 }
    //刷新分辨率设置
    public void UpdateResolution(ResolutionLevel level)
    {
        mainCam = Camera.main;
        if (mainCam == null || uberCameraPrefab == null || alphaCameraPrefab == null || initAspectRatio)
        {
            return;
        }

        Debug.Log(currentLevel + "            " + level);
        currentLevel = level;

        UpdateCurrentRT();
        Screen.SetResolution(currentResolutionWidth, currentResolutionHeight, true);
        ChooseEnviornment(curEnv, true);
        initResolution = false;
    }
    void OnEnable()
    {
        GameObject setting = GameObject.Find("PlayerGraphicsSetting");

        if (setting)
        {
            graphicsSetting = setting.GetComponent <PlayerGraphicsSetting>();
        }

        UpdateComponent();

        UpdateAspectRatio();

        SetGraphics();
        currentLevel = graphicsSetting ? graphicsSetting.resolutionLevel : ResolutionLevel.HIGH;
    }
Exemplo n.º 6
0
        private void DecodePacket(int layer, ResolutionLevel resolutionLevel)
        {
            var bitReader = new BitReader(DataReader.Input);

            var packetIsPresent = bitReader.ReadBit() != 0;

            if (packetIsPresent)
            {
                var packetHeader = new PacketHeader(layer, resolutionLevel);
                packetHeader.ReadFrom(bitReader);
                foreach (var codeBlock in packetHeader.IncludedCodeBlocks)
                {
                    StartDecodeCodeBlock(resolutionLevel.TilePartComponent, codeBlock);
                }
            }
        }
Exemplo n.º 7
0
    }                                                 // 0x00722A60-0x00722B00

    public void SetResolutionLevel(ResolutionLevel resolutionLevel, bool bForce = false /* Metadata: 0x00611B78 */)
    {
    }                                                                                                                      // 0x00721E20-0x00721E50
Exemplo n.º 8
0
        private void ReadSubBand(BitReader bitReader, Subband subband)
        {
            var subbandPrecinct = ResolutionLevel.GetSubbandPrecinct(subband);

            var nCodeBlocksX = subbandPrecinct.NCodeBlocksX;
            var nCodeBlocksY = subbandPrecinct.NCodeBlocksY;

            var codeBlockInclusionTagTree = subbandPrecinct.CodeBlockInclusionTagTree;

            for (var y = 0; y < nCodeBlocksY; y++)
            {
                for (var x = 0; x < nCodeBlocksX; x++)
                {
                    var codeBlockFirstIncludedInLayerIsValid = codeBlockInclusionTagTree.TryGetValue((uint)x, (uint)y,
                                                                                                     (uint)Layer, bitReader, out uint codeBlockFirstIncludedInLayer);

                    var codeBlockIsIncludedInPacket = false;

                    if (codeBlockFirstIncludedInLayerIsValid)
                    {
                        if (codeBlockFirstIncludedInLayer < Layer)
                        {
                            codeBlockIsIncludedInPacket = (bitReader.ReadBit() == 1);
                        }
                        else
                        {
                            codeBlockIsIncludedInPacket = codeBlockFirstIncludedInLayer == Layer;
                        }
                    }

                    if (codeBlockIsIncludedInPacket)
                    {
                        var codeBlock = subbandPrecinct.AddCodeBlock(x, y);

                        if (codeBlockFirstIncludedInLayer == Layer)
                        {
                            var zeroBitPlaneTagTree      = subbandPrecinct.ZeroBitPlaneTagTree;
                            var nAllZeroBitPlanesIsValid = zeroBitPlaneTagTree.TryGetValue((uint)x, (uint)y, uint.MaxValue,
                                                                                           bitReader, out uint nAllZeroBitPlanes);
                            Debug.Assert(nAllZeroBitPlanesIsValid); // must be true since limit == uint.MaxValue
                            codeBlock.NAllZeroBitPlanes_P = (int)nAllZeroBitPlanes;
                        }

                        codeBlock.NCodingPasses = (ushort)ReadNumberOfCodingPasses(bitReader);

                        ThrowIf(ResolutionLevel.TilePartComponent.COC.SP_CodeBlockCodingPassStyle != 0);

                        var codeBlockLengthIndicator = 3; // TODO: Get from and update in layer for this code block
                        while (bitReader.ReadBit() != 0)
                        {
                            codeBlockLengthIndicator++;
                        }

                        var nBitsUsedToStoreCodeBlockLength = codeBlockLengthIndicator + StaticInclude.FloorLog2(codeBlock.NCodingPasses);

                        codeBlock.LengthInBytes = bitReader.ReadBits(nBitsUsedToStoreCodeBlockLength);

                        IncludedCodeBlocks.Add(codeBlock);
                    }
                }
            }
        }
Exemplo n.º 9
0
 public PacketHeader(int layer, ResolutionLevel resolutionLevel)
 {
     Layer           = layer;
     ResolutionLevel = resolutionLevel;
 }
 public void CheckKeyExist()
 {
     if (!PlayerPrefs.HasKey("frameRate"))
     {
         frameRate = 30;
     }
     if (!PlayerPrefs.HasKey("shaderLod"))
     {
         shaderLod = 500;
     }
     if (!PlayerPrefs.HasKey("resolutionLevel"))
     {
         resolutionLevel = ResolutionLevel.HIGH;
     }
     if (!PlayerPrefs.HasKey("dynamicQuality"))
     {
         dynamicQuality = true;
     }
     if (!PlayerPrefs.HasKey("displayFPS"))
     {
         displayFPS = true;
     }
     if (!PlayerPrefs.HasKey("hdr"))
     {
         hdr = true;
     }
     if (!PlayerPrefs.HasKey("shadow"))
     {
         shadow = true;
     }
     if (!PlayerPrefs.HasKey("playerLayer"))
     {
         playerLayer = true;
     }
     if (!PlayerPrefs.HasKey("alphaBuffer"))
     {
         alphaBuffer = true;
     }
     if (!PlayerPrefs.HasKey("distortion"))
     {
         distortion = true;
     }
     if (!PlayerPrefs.HasKey("sceneBloom"))
     {
         sceneBloom = true;
     }
     if (!PlayerPrefs.HasKey("alphaBloom"))
     {
         alphaBloom = true;
     }
     if (!PlayerPrefs.HasKey("playerBloom"))
     {
         playerBloom = true;
     }
     if (!PlayerPrefs.HasKey("sceneColorLookup"))
     {
         sceneColorLookup = true;
     }
     if (!PlayerPrefs.HasKey("alphaColorLookup"))
     {
         alphaColorLookup = true;
     }
     if (!PlayerPrefs.HasKey("playerColorLookup"))
     {
         playerColorLookup = true;
     }
     if (!PlayerPrefs.HasKey("mask"))
     {
         mask = true;
     }
     if (!PlayerPrefs.HasKey("antialiasing"))
     {
         antialiasing = true;
     }
     if (!PlayerPrefs.HasKey("depthOfField"))
     {
         depthOfField = true;
     }
     if (!PlayerPrefs.HasKey("ambientOcclusion"))
     {
         ambientOcclusion = true;
     }
     if (!PlayerPrefs.HasKey("lumaOcclusion"))
     {
         lumaOcclusion = true;
     }
     if (!PlayerPrefs.HasKey("volumetricFog"))
     {
         volumetricFog = true;
     }
     if (!PlayerPrefs.HasKey("vignette"))
     {
         vignette = true;
     }
     if (!PlayerPrefs.HasKey("border"))
     {
         border = true;
     }
     if (!PlayerPrefs.HasKey("radialBlur"))
     {
         radialBlur = true;
     }
     if (!PlayerPrefs.HasKey("cloudShadow"))
     {
         cloudShadow = true;
     }
     if (!PlayerPrefs.HasKey("heightFog"))
     {
         heightFog = true;
     }
     if (!PlayerPrefs.HasKey("chromaticAberration"))
     {
         chromaticAberration = true;
     }
     if (!PlayerPrefs.HasKey("stochasticSSR"))
     {
         stochasticSSR = true;
     }
 }