/// <summary> /// Immediately binds a renderbuffer to the OpenGL context and updates the state cache. /// </summary> /// <param name="renderbuffer">The renderbuffer to bind to the OpenGL context.</param> public static void BindRenderbuffer(UInt32 renderbuffer) { gl.BindRenderbuffer(gl.GL_RENDERBUFFER, renderbuffer); gl.ThrowIfError(); GL_RENDERBUFFER_BINDING.Update(renderbuffer); VerifyCache(); }
private void Dispose_BindRenderbuffer() { if (forced || !gl.IsDirectStateAccessAvailable) { gl.BindRenderbuffer(gl.GL_RENDERBUFFER, oldGL_RENDERBUFFER_BINDING); gl.ThrowIfError(); GL_RENDERBUFFER_BINDING.Update(oldGL_RENDERBUFFER_BINDING); } }
private void Apply_BindRenderbuffer() { if (forced || !gl.IsDirectStateAccessAvailable) { gl.BindRenderbuffer(gl.GL_RENDERBUFFER, newGL_RENDERBUFFER_BINDING); gl.ThrowIfError(); oldGL_RENDERBUFFER_BINDING = GL_RENDERBUFFER_BINDING.Update(newGL_RENDERBUFFER_BINDING); } }
private void Apply_CreateRenderbuffer(out UInt32 renderbuffer) { if (SupportsDirectStateAccessCreateFunctions) { renderbuffer = gl.CreateRenderbuffer(); } else { renderbuffer = gl.GenRenderbuffer(); gl.ThrowIfError(); if (!gl.IsDirectStateAccessAvailable) { gl.BindRenderbuffer(gl.GL_RENDERBUFFER, renderbuffer); gl.ThrowIfError(); newGL_RENDERBUFFER_BINDING = renderbuffer; oldGL_RENDERBUFFER_BINDING = GL_RENDERBUFFER_BINDING.Update(renderbuffer); } } }
/// <summary> /// Immediately creates a renderbuffer and updates the state cache. /// </summary> /// <param name="renderbuffer">The identifier of the renderbuffer that was created.</param> public static void CreateRenderbuffer(out UInt32 renderbuffer) { if (SupportsDirectStateAccessCreateFunctions) { renderbuffer = gl.CreateRenderbuffer(); gl.ThrowIfError(); } else { renderbuffer = gl.GenRenderbuffer(); gl.ThrowIfError(); if (!gl.IsDirectStateAccessAvailable) { gl.BindRenderbuffer(gl.GL_RENDERBUFFER, renderbuffer); gl.ThrowIfError(); GL_RENDERBUFFER_BINDING.Update(renderbuffer); VerifyCache(); } } }