File: src/pixi/filters/AbstractFilter.js
/**
* @author Mat Groves http://matgroves.com/ @Doormat23
*/
/**
* This is the base class for creating a PIXI filter. Currently only webGL supports filters.
* If you want to make a custom filter this should be your base class.
* @class AbstractFilter
* @constructor
* @param fragmentSrc {Array} The fragment source in an array of strings.
* @param uniforms {Object} An object containing the uniforms for this filter.
*/
PIXI.AbstractFilter = function(fragmentSrc, uniforms)
{
/**
* An array of passes - some filters contain a few steps this array simply stores the steps in a liniear fashion.
* For example the blur filter has two passes blurX and blurY.
* @property passes
* @type Array an array of filter objects
* @private
*/
this.passes = [this];
/**
* @property shaders
* @type Array an array of shaders
* @private
*/
this.shaders = [];
/**
* @property dirty
* @type Boolean
*/
this.dirty = true;
/**
* @property padding
* @type Number
*/
this.padding = 0;
/**
* @property uniforms
* @type object
* @private
*/
this.uniforms = uniforms || {};
/**
* @property fragmentSrc
* @type Array
* @private
*/
this.fragmentSrc = fragmentSrc || [];
};
PIXI.AbstractFilter.prototype.constructor = PIXI.AbstractFilter;
/**
* Syncs the uniforms between the class object and the shaders.
*
* @method syncUniforms
*/
PIXI.AbstractFilter.prototype.syncUniforms = function()
{
for(var i=0,j=this.shaders.length; i<j; i++)
{
this.shaders[i].dirty = true;
}
};
/*
PIXI.AbstractFilter.prototype.apply = function(frameBuffer)
{
// TODO :)
};
*/