Ejemplo n.º 1
0
        internal void Dispose()
        {
            if (!PreviousTexture.HasValue)
            {
                return;
            }

            MonoGame.OpenGL.GL.BindTexture(TextureTarget.Texture2D, PreviousTexture.Value);
            GLExt.CheckError();
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
        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);
        }