/// <summary> /// Create, update, use and delete a renderbuffer object. /// </summary> /// <param name="width"></param> /// <param name="height"></param> /// <param name="internalformat"></param> /// <param name="bufferType"></param> public Renderbuffer(int width, int height, uint internalformat, RenderbufferType bufferType) { this.Width = width; this.Height = height; this.BufferType = bufferType; glGenRenderbuffers(1, renderbuffer); glBindRenderbuffer(GL.GL_RENDERBUFFER, renderbuffer[0]); glRenderbufferStorage(GL.GL_RENDERBUFFER, internalformat,// TODO: add comment about GL.GL_DEPTH24_STENCIL8, GL.GL_RGBA, width, height); }
/// <summary> /// Create, update, use and delete a renderbuffer object. /// </summary> /// <param name="width"></param> /// <param name="height"></param> /// <param name="internalformat"></param> /// <param name="bufferType"></param> public Renderbuffer(int width, int height, uint internalformat, RenderbufferType bufferType) { if (glGenRenderbuffers == null) { glGenRenderbuffers = OpenGL.GetDelegateFor <OpenGL.glGenRenderbuffers>(); glBindRenderbuffer = OpenGL.GetDelegateFor <OpenGL.glBindRenderbuffer>(); glRenderbufferStorage = OpenGL.GetDelegateFor <OpenGL.glRenderbufferStorage>(); } this.Width = width; this.Height = height; this.BufferType = bufferType; glGenRenderbuffers(1, renderbuffer); glBindRenderbuffer(OpenGL.GL_RENDERBUFFER, renderbuffer[0]); glRenderbufferStorage(OpenGL.GL_RENDERBUFFER, internalformat,// TODO: add comment about OpenGL.GL_DEPTH24_STENCIL8, OpenGL.GL_RGBA, width, height); }
/// <summary> /// Create, update, use and delete a renderbuffer object. /// </summary> /// <param name="width"></param> /// <param name="height"></param> /// <param name="internalformat"></param> /// <param name="bufferType"></param> public Renderbuffer(int width, int height, uint internalformat, RenderbufferType bufferType) { if (glGenRenderbuffers == null) { glGenRenderbuffers = OpenGL.GetDelegateFor<OpenGL.glGenRenderbuffers>(); glBindRenderbuffer = OpenGL.GetDelegateFor<OpenGL.glBindRenderbuffer>(); glRenderbufferStorage = OpenGL.GetDelegateFor<OpenGL.glRenderbufferStorage>(); } this.Width = width; this.Height = height; this.BufferType = bufferType; glGenRenderbuffers(1, renderbuffer); glBindRenderbuffer(OpenGL.GL_RENDERBUFFER, renderbuffer[0]); glRenderbufferStorage(OpenGL.GL_RENDERBUFFER, internalformat,// TODO: add comment about OpenGL.GL_DEPTH24_STENCIL8, OpenGL.GL_RGBA, width, height); }
/// <summary> /// Attach a renderbuffer. /// </summary> /// <param name="renderbuffer"></param> /// <param name="target"></param> /// <returns></returns> public Renderbuffer Attach(RenderbufferType renderbuffer, FramebufferTarget target = FramebufferTarget.Framebuffer) { Renderbuffer result = null; switch (renderbuffer) { case RenderbufferType.DepthBuffer: result = AttachDepthbuffer(target); break; case RenderbufferType.ColorBuffer: result = AttachColorbuffer(target); break; default: throw new Exception("Unexpected RenderbufferType!"); } return(result); }
public void RenderbufferStorage(RenderbufferType type, RenderbufferFormat internalFormat, int width, int height) => this.CallMethod <object>(RENDERBUFFER_STORAGE, type, internalFormat, width, height);
public T GetRenderbufferParameter <T>(RenderbufferType target, RenderbufferParameter pname) => this.CallMethod <T>(GET_RENDERBUFFER_PARAMETER, target, pname);
public void ReadPixels(int x, int y, int width, int height, PixelFormat format, PixelType type, byte[] pixels) => this.CallMethod <object>(READ_PIXELS, x, y, width, height, format, type, pixels); //pixels should be an ArrayBufferView which the data gets read into public void BindRenderbuffer(RenderbufferType target, WebGLRenderbuffer renderbuffer) => this.CallMethod <object>(BIND_RENDERBUFFER, target, renderbuffer);
public void FramebufferRenderbuffer(FramebufferType target, FramebufferAttachment attachment, RenderbufferType renderbuffertarget, WebGLRenderbuffer renderbuffer) => this.CallMethod <object>(FRAMEBUFFER_RENDERBUFFER, target, attachment, renderbuffertarget, renderbuffer);