/** * @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(Filter) * @private */ this.passes = [this]; /** * @property shaders * @type Array(Shader) * @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 :) }; */