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); }
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; }