示例#1
0
 public void setMagFilter(TextureFilter tf)
 {
     if (tf != _currentMagFilter)
     {
         _currentMagFilter = tf;
         updateFilter();
     }
 }
        public static Microsoft.Xna.Framework.Graphics.TextureFilter convertTextureFilter(TextureFilter minFilter, TextureFilter magFilter)
        {
            Microsoft.Xna.Framework.Graphics.TextureFilter newFilter;
            if (minFilter == TextureFilter.LINEAR || minFilter == TextureFilter.LINEAR_MIP_POINT)
            {
                if (magFilter == TextureFilter.LINEAR || magFilter == TextureFilter.LINEAR_MIP_POINT)
                {
                    if (minFilter == TextureFilter.LINEAR || magFilter == TextureFilter.LINEAR)
                    {
                        newFilter = Microsoft.Xna.Framework.Graphics.TextureFilter.Linear;
                    }
                    else
                    {
                        newFilter = Microsoft.Xna.Framework.Graphics.TextureFilter.LinearMipPoint;
                    }
                }
                else
                {
                    if (minFilter == TextureFilter.LINEAR || magFilter == TextureFilter.PIXEL)
                    {
                        newFilter = Microsoft.Xna.Framework.Graphics.TextureFilter.MinLinearMagPointMipLinear;
                    }
                    else
                    {
                        newFilter = Microsoft.Xna.Framework.Graphics.TextureFilter.MinLinearMagPointMipPoint;
                    }
                }
            }
            else
            {
                if (magFilter == TextureFilter.LINEAR || magFilter == TextureFilter.LINEAR_MIP_POINT)
                {
                    if (minFilter == TextureFilter.PIXEL || magFilter == TextureFilter.LINEAR)
                    {
                        newFilter = Microsoft.Xna.Framework.Graphics.TextureFilter.MinPointMagLinearMipLinear;
                    }
                    else
                    {
                        newFilter = Microsoft.Xna.Framework.Graphics.TextureFilter.MinPointMagLinearMipPoint;
                    }
                }
                else
                {
                    if (minFilter == TextureFilter.PIXEL || magFilter == TextureFilter.PIXEL)
                    {
                        newFilter = Microsoft.Xna.Framework.Graphics.TextureFilter.PointMipLinear;
                    }
                    else
                    {
                        newFilter = Microsoft.Xna.Framework.Graphics.TextureFilter.Point;
                    }
                }
            }

            return(newFilter);
        }