A 2D render-texture (frame buffer object) for use with kami.
var fbo = require('kami-fbo')(gl, {
width: 256,
height: 256,
format: gl.RGB
});
//binds the frame buffer for your render-to-texture ops
//this also sets the viewport to the FBO size
fbo.begin();
// ... draw to it ...
//unbinds the framebuffer (binds null fbo)
//this resets the viewport to the context size
fbo.end();
Options:
width
the width of the texture, must be >= 1height
the height of the texture, must be >= 1format
the format of the texture, default gl.RGBAtexture
optional; a kami-texture to use instead of creating a new one
Calling end()
resets the viewport to the context size, by querying the width and height of the passed gl
context. If you've passed a simple WebGLRenderingContext, it will use the canvas width and height. This may cause problems if your canvas width and height is scaled for retina displays.
If you passed a kami-context
, the width
and height
of the context do not represent the retina-scaled sizes, so it should be all good.
MIT, see LICENSE.md for details.