internal void Dispose() { if (!PreviousTexture.HasValue) { return; } MonoGame.OpenGL.GL.BindTexture(TextureTarget.Texture2D, PreviousTexture.Value); GLExt.CheckError(); }
internal RebindTexture(int texture) { var currentTexture = GraphicsExtensions.GetBoundTexture2D(); if (texture == currentTexture) { PreviousTexture = null; } else { PreviousTexture = currentTexture; MonoGame.OpenGL.GL.BindTexture(TextureTarget.Texture2D, texture); GLExt.CheckError(); } }
public Context(IGraphicsContext context, IWindowInfo window) { CheckError(); GLExt.Setup((IGraphicsContextInternal)context); this.context = context; this.window = window; CheckError(); MakeCurrent(); CheckError(); DrawBuffer[] drawBuffers = new DrawBuffer[Device.GetInt32(GetPName.MaxDrawBuffers, 1)]; for (int index = 0; index < drawBuffers.Length; index++) { drawBuffers[index] = new DrawBuffer(this, index); } this.drawBuffers = new DrawBufferCollection(drawBuffers); }