import Texture from './Texture'
export default class FrameBuffer
{
    constructor(width, height)
    {
    	this.width = width || 100;
    	this.height = height || 100;
    	this.stencil = false;
        this.depth = false;
    	this.dirtyId = 0;
    	this.depthTexture = null;
    	this.colorTextures = [];
    	this.glFrameBuffers = {};
    }
    get colorTexture()
    {
    	return this.colorTextures[0];
    }
    addColorTexture(index, texture)
    {
        // TODO add some validation to the texture - same width / height etc?
    	this.colorTextures[index || 0] = texture || new Texture(this.width, this.height, 'rgba');// || new Texture();
    	this.dirtyId++;
    	return this;
    }
    addDepthTexture()
    {
    	this.depthTexture[0] = new Texture(this.width, this.height, 'depth');// || new Texture();
    	this.dirtyId++;
    	return this;
    }
    enableDepth()
    {
    	this.depth = true;
    	this.dirtyId++;
    	return this;
    }
    enableStencil()
    {
    	this.stencil = true;
    	this.dirtyId++;
    	return this;
    }
    resize(width, height)
    {
    	this.width = width;
    	this.height = height;
    	this.dirtyId++;
    }
}