def blit_from_current_readbuffer(self, src_box, dst_box=None, mask=None, _filter=None): from pyglet import gl mask = mask if mask else gl.GL_COLOR_BUFFER_BIT _filter = _filter if _filter else gl.GL_LINEAR if not dst_box: dst_box = (0, 0, src_box[2] - src_box[0], src_box[3] - src_box[1]) args = tuple(src_box) + tuple(dst_box) + (mask, _filter) gl.glBlitFramebufferEXT(*args)
def blit_from_current_readbuffer(self, src_box, dst_box=None, mask=None, _filter=None): from pyglet import gl mask = mask if mask else gl.GL_COLOR_BUFFER_BIT _filter = _filter if _filter else gl.GL_LINEAR if not dst_box: dst_box = (0, 0, src_box[2] - src_box[0], src_box[3] - src_box[1]) args = tuple(src_box) + tuple(dst_box) + (mask, _filter) gl.glBlitFramebufferEXT(*args)
def _blit_buffer_direct(self, framebuffer, parent_framebuffer, width, height, parent_width, parent_height, transformation, **kwargs): # XXX: Use this instead of blit_buffer when we don't need # colorizing/opacity transformation.reset() gl.glViewport(0, 0, width, height) gl.glBindFramebufferEXT(gl.GL_READ_FRAMEBUFFER_EXT, framebuffer.framebuffer_id) gl.glReadBuffer(gl.GL_COLOR_ATTACHMENT0_EXT) gl.glBindFramebufferEXT(gl.GL_DRAW_FRAMEBUFFER_EXT, parent_framebuffer.framebuffer_id) gl.glBlitFramebufferEXT(0, 0, width, height, 0, 0, parent_width, parent_height, gl.GL_COLOR_BUFFER_BIT, gl.GL_NEAREST) gl.glDisable(gl.GL_TEXTURE_2D)