Axiom.RenderSystems.DirectX9.D3DTexture.GetBestFilterMethod C# (CSharp) Метод

GetBestFilterMethod() приватный метод

private GetBestFilterMethod ( ) : SlimDX.Direct3D9.TextureFilter
Результат SlimDX.Direct3D9.TextureFilter
		private D3D.TextureFilter GetBestFilterMethod()
		{
			// those MUST be initialized !!!
			Debug.Assert( this._device != null, "device must be intitialized" );
			Debug.Assert( this._texture != null, "texture must be intialized" );

			D3D.FilterCaps filterCaps;

			// Minification filter is used for mipmap generation
			// Pick the best one supported for this tex type
			switch ( this.TextureType )
			{
				case TextureType.OneD: // Same as 2D
				case TextureType.TwoD:
					filterCaps = this._devCaps.TextureFilterCaps;
					break;
				case TextureType.ThreeD:
					filterCaps = this._devCaps.VertexTextureFilterCaps;
					break;
				case TextureType.CubeMap:
					filterCaps = this._devCaps.CubeTextureFilterCaps;
					break;
				default:
					return D3D.TextureFilter.Point;
			}

			if ( ( filterCaps & D3D.FilterCaps.MinGaussianQuad ) == D3D.FilterCaps.MinGaussianQuad )
			{
				return D3D.TextureFilter.GaussianQuad;
			}

			if ( ( filterCaps & D3D.FilterCaps.MinPyramidalQuad ) == D3D.FilterCaps.MinPyramidalQuad )
			{
				return D3D.TextureFilter.PyramidalQuad;
			}

			if ( ( filterCaps & D3D.FilterCaps.MinAnisotropic ) == D3D.FilterCaps.MinAnisotropic )
			{
				return D3D.TextureFilter.Anisotropic;
			}

			if ( ( filterCaps & D3D.FilterCaps.MinLinear ) == D3D.FilterCaps.MinLinear )
			{
				return D3D.TextureFilter.Linear;
			}

			if ( ( filterCaps & D3D.FilterCaps.MinPoint ) == D3D.FilterCaps.MinPoint )
			{
				return D3D.TextureFilter.Point;
			}

			return D3D.TextureFilter.Point;
		}