var AbstractFilter = require('./AbstractFilter'); // @see https://github.com/substack/brfs/issues/25 var fs = require('fs'); /** * * Basic FXAA implementation based on the code on geeks3d.com with the * modification that the texture2DLod stuff was removed since it's * unsupported by WebGL. * * -- * From: * https://github.com/mitsuhiko/webgl-meincraft * * @class * @extends PIXI.Filter * @memberof PIXI * */ function FXAAFilter() { AbstractFilter.call(this, // vertex shader fs.readFileSync(__dirname + '/FXAA.vert', 'utf8'), // fragment shader fs.readFileSync(__dirname + '/FXAA.frag', 'utf8'), // uniforms { resolution: { type: 'v2', value: { x: 1, y: 1 } } } ); } FXAAFilter.prototype = Object.create(AbstractFilter.prototype); FXAAFilter.prototype.constructor = FXAAFilter; module.exports = FXAAFilter; /** * Applies the filter * * @param renderer {PIXI.WebGLRenderer} The renderer to retrieve the filter from * @param input {PIXI.RenderTarget} * @param output {PIXI.RenderTarget} */ FXAAFilter.prototype.applyFilter = function (renderer, input, output) { var filterManager = renderer.filterManager; var shader = this.getShader( renderer ); // draw the filter... filterManager.applyFilter(shader, input, output); };