Пример #1
0
        internal static void SetSamplers(TextureSampling sampling)
        {
            int minFilter = 0;
            int magFilter = 0;

            switch (sampling.Filter)
            {
            case TextureSampling.TextureFilter.Linear:
                minFilter = (int)TextureMinFilter.Linear;
                magFilter = (int)TextureMagFilter.Linear;
                break;

            case TextureSampling.TextureFilter.Nearest:
                minFilter = (int)TextureMinFilter.Nearest;
                magFilter = (int)TextureMagFilter.Nearest;
                break;

            default: Debug.Assert(false);
                break;
            }

            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMinFilter, minFilter);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureMagFilter, magFilter);

            int wrapS = GetAddressMode(sampling.AddressModeU);
            int wrapT = GetAddressMode(sampling.AddressModeV);

            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapS, wrapS);
            GL.TexParameter(TextureTarget.Texture2D, TextureParameterName.TextureWrapT, wrapT);
        }
Пример #2
0
        public void Begin(Matrix transform, BlendMode blendMode = BlendMode.BlendmodeAlpha, TextureSampling textureSampling = null, ColorTextureEffect effect = null)
        {
            Debug.Assert(!hasBegun, "Called Begin() twice");
            hasBegun = true;

            this.transform       = transform;
            this.blendMode       = blendMode;
            this.textureSampling = textureSampling ?? TextureSampling.LinearClamp;
            this.currentEffect   = effect ?? defaultEffect;
        }