コード例 #1
0
        private static void UpdateAntialiasingMode(MyAntialiasingMode mode, MyAntialiasingMode oldMode)
        {
            var defineList = new List <ShaderMacro>();
            var msDefine   = ShaderMultisamplingDefine();

            if (msDefine.HasValue)
            {
                defineList.Add(msDefine.Value);
            }
            if (DebugMode)
            {
                defineList.Add(MyShadersDefines.DebugMacro);
            }

            GlobalShaderMacro = defineList.ToArray();

            MyShaders.Recompile();
            MyMaterialShaders.Recompile();
            MyRenderableComponent.MarkAllDirty();

            if (mode.SamplesCount() != oldMode.SamplesCount())
            {
                CreateScreenResources();
            }
        }
コード例 #2
0
 public static bool IsMultisampled(this MyAntialiasingMode aaMode)
 {
     switch (aaMode)
     {
     case MyAntialiasingMode.MSAA_2:
     case MyAntialiasingMode.MSAA_4:
     case MyAntialiasingMode.MSAA_8:
         return(true);
     }
     return(false);
 }
コード例 #3
0
 public static bool IsMultisampled(this MyAntialiasingMode aaMode)
 {
     //switch(aaMode)
     //{
     //    case MyAntialiasingMode.MSAA_2:
     //    case MyAntialiasingMode.MSAA_4:
     //    case MyAntialiasingMode.MSAA_8:
     //        return true;
     //}
     return(false);
 }
コード例 #4
0
        public static int SamplesCount(this MyAntialiasingMode aaMode)
        {
            switch (aaMode)
            {
            case MyAntialiasingMode.NONE:
            case MyAntialiasingMode.FXAA:
                return(1);

            //case MyAntialiasingMode.MSAA_2:
            //    return 2;
            //case MyAntialiasingMode.MSAA_4:
            //    return 4;
            //case MyAntialiasingMode.MSAA_8:
            //    return 8;
            default:
                return(-1);
            }
        }
コード例 #5
0
        public static int SamplesCount(this MyAntialiasingMode aaMode)
        {
            switch (aaMode)
            {
            case MyAntialiasingMode.NONE:
            case MyAntialiasingMode.FXAA:
                return(1);

            case MyAntialiasingMode.MSAA_2:
                return(2);

            case MyAntialiasingMode.MSAA_4:
                return(4);

            case MyAntialiasingMode.MSAA_8:
                return(8);

            default:
                return(-1);
            }
        }
コード例 #6
0
        public bool IsSetToLowQuality()
        {
            MyTextureAnisoFiltering?anisotropicFiltering = this.AnisotropicFiltering;
            MyTextureAnisoFiltering nONE = MyTextureAnisoFiltering.NONE;

            if ((((MyTextureAnisoFiltering)anisotropicFiltering.GetValueOrDefault()) == nONE) & (anisotropicFiltering != null))
            {
                MyAntialiasingMode?antialiasingMode = this.AntialiasingMode;
                MyAntialiasingMode mode             = MyAntialiasingMode.NONE;
                if ((((MyAntialiasingMode)antialiasingMode.GetValueOrDefault()) == mode) & (antialiasingMode != null))
                {
                    MyShadowsQuality?shadowQuality = this.ShadowQuality;
                    MyShadowsQuality lOW           = MyShadowsQuality.LOW;
                    if ((((MyShadowsQuality)shadowQuality.GetValueOrDefault()) == lOW) & (shadowQuality != null))
                    {
                        MyTextureQuality?textureQuality = this.TextureQuality;
                        MyTextureQuality quality2       = MyTextureQuality.LOW;
                        if ((((MyTextureQuality)textureQuality.GetValueOrDefault()) == quality2) & (textureQuality != null))
                        {
                            MyRenderQualityEnum?modelQuality = this.ModelQuality;
                            MyRenderQualityEnum enum2        = MyRenderQualityEnum.LOW;
                            if ((((MyRenderQualityEnum)modelQuality.GetValueOrDefault()) == enum2) & (modelQuality != null))
                            {
                                modelQuality = this.VoxelQuality;
                                enum2        = MyRenderQualityEnum.LOW;
                                if ((((MyRenderQualityEnum)modelQuality.GetValueOrDefault()) == enum2) & (modelQuality != null))
                                {
                                    float?grassDrawDistance = this.GrassDrawDistance;
                                    float num = 0f;
                                    return((grassDrawDistance.GetValueOrDefault() == num) & (grassDrawDistance != null));
                                }
                            }
                        }
                    }
                }
            }
            return(false);
        }
コード例 #7
0
        private static void UpdateAntialiasingMode(MyAntialiasingMode mode, MyAntialiasingMode oldMode)
        {
            var defineList = new List<ShaderMacro>();
            var msDefine = ShaderMultisamplingDefine();
            if (msDefine.HasValue)
                defineList.Add(msDefine.Value);

            MyShaders.SetGlobalMacros(defineList);

            MyShaders.Recompile();
            MyMaterialShaders.Recompile();
            MyRenderableComponent.MarkAllDirty();

            if (mode.SamplesCount() != oldMode.SamplesCount())
            {
                CreateScreenResources();
            }
        }