vispy.gloo.framebuffer module

class vispy.gloo.framebuffer.FrameBuffer(color=None, depth=None, stencil=None)

Bases: vispy.gloo.globject.GLObject

Frame buffer object

Parameters
colorRenderBuffer (optional)

The color buffer to attach to this frame buffer

depthRenderBuffer (optional)

The depth buffer to attach to this frame buffer

stencilRenderBuffer (optional)

The stencil buffer to attach to this frame buffer

activate()

Activate/use this frame buffer.

property color_buffer

Color buffer attachment

deactivate()

Stop using this frame buffer, the previous framebuffer will be made active.

property depth_buffer

Depth buffer attachment

read(mode='color', alpha=True, crop=None)

Return array of pixel values in an attached buffer

Parameters
modestr

The buffer type to read. May be ‘color’, ‘depth’, or ‘stencil’.

alphabool

If True, returns RGBA array. Otherwise, returns RGB.

croparray-like

If not None, specifies pixels to read from buffer. Format is (x, y, w, h).

Returns
bufferarray

3D array of pixels in np.uint8 format. The array shape is (h, w, 3) or (h, w, 4), with the top-left corner of the framebuffer at index [0, 0] in the returned array if crop was not specified. If crop was given, the result will match the offset and dimensions of the crop.

resize(shape)

Resize all attached buffers with the given shape

Parameters
shapetuple of two integers

New buffer shape (h, w), to be applied to all currently attached buffers. For buffers that are a texture, the number of color channels is preserved.

property shape

The shape of the Texture/RenderBuffer attached to this FrameBuffer

property stencil_buffer

Stencil buffer attachment

class vispy.gloo.framebuffer.RenderBuffer(shape=None, format=None, resizeable=True)

Bases: vispy.gloo.globject.GLObject

Base class for render buffer object

A render buffer can be in color, depth or stencil format. If this format is not specified, it is set when attached to the FrameBuffer.

Parameters
shapetuple

The shape of the render buffer.

format{None, ‘color’, ‘depth’, ‘stencil’}

The format of the render buffer. See resize.

resizeablebool

Indicates whether texture can be resized

property format

Render Buffer format

resize(shape, format=None)

Set the render-buffer size and format

Parameters
shapetuple of integers

New shape in yx order. A render buffer is always 2D. For symmetry with the texture class, a 3-element tuple can also be given, in which case the last dimension is ignored.

format{None, ‘color’, ‘depth’, ‘stencil’}

The buffer format. If None, the current format is maintained. If that is also None, the format will be set upon attaching it to a framebuffer. One can also specify the explicit enum: GL_RGB565, GL_RGBA4, GL_RGB5_A1, GL_DEPTH_COMPONENT16, or GL_STENCIL_INDEX8

property shape

Render Buffer shape