Skip to content

Commit

Permalink
fix filter demo
Browse files Browse the repository at this point in the history
;
  • Loading branch information
asturur committed Nov 25, 2017
1 parent 441f9d7 commit 5096c3b
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 16 deletions.
2 changes: 1 addition & 1 deletion build/files/HEADER.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*! Fabric.js Copyright 2008-2015, Printio (Juriy Zaytsev, Maxim Chernyak) */

var fabric = fabric || { version: '2.0.0-rc.2' };
var fabric = fabric || { version: '2.0.0-rc.3' };
if (typeof exports !== 'undefined') {
exports.fabric = fabric;
}
Expand Down
10 changes: 6 additions & 4 deletions build/files/src/filters/base_filter.class.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,30 +67,32 @@ fabric.Image.filters.BaseFilter = fabric.util.createClass(/** @lends fabric.Imag
* @param {String} vertexSource vertexShader source for compilation
*/
createProgram: function(gl, fragmentSource, vertexSource) {
fragmentSource = fragmentSource || this.fragmentSource;
vertexSource = vertexSource || this.vertexSource;
if (fabric.webGlPrecision !== 'highp'){
fragmentSource = fragmentSource.replace(
/precision highp float/g,
'precision ' + fabric.webGlPrecision + ' float'
);
}
var vertexShader = gl.createShader(gl.VERTEX_SHADER);
gl.shaderSource(vertexShader, vertexSource || this.vertexSource);
gl.shaderSource(vertexShader, vertexSource);
gl.compileShader(vertexShader);
if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) {
throw new Error(
// eslint-disable-next-line prefer-template
'Vertex shader compile error for "${this.type}": ' +
'Vertex shader compile error for ' + this.type + ': ' +
gl.getShaderInfoLog(vertexShader)
);
}

var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
gl.shaderSource(fragmentShader, fragmentSource || this.fragmentSource);
gl.shaderSource(fragmentShader, fragmentSource);
gl.compileShader(fragmentShader);
if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {
throw new Error(
// eslint-disable-next-line prefer-template
'Fragment shader compile error for "${this.type}": ' +
'Fragment shader compile error for ' + this.type + ': ' +
gl.getShaderInfoLog(fragmentShader)
);
}
Expand Down
2 changes: 1 addition & 1 deletion build/files/src/filters/grayscale_filter.class.js
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,8 @@
*/
retrieveShader: function(options) {
var cacheKey = this.type + '_' + this.mode;
var shaderSource = this.fragmentSource[this.mode];
if (!options.programCache.hasOwnProperty(cacheKey)) {
var shaderSource = this.fragmentSource[this.mode];
options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);
}
return options.programCache[cacheKey];
Expand Down
1 change: 0 additions & 1 deletion build/files/src/filters/webgl_backend.class.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

'use strict';


/**
* Tests if webgl supports certain precision
* @param {WebGL} Canvas WebGL context to test on
Expand Down
15 changes: 8 additions & 7 deletions lib/fabric.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* build: `node build.js modules=ALL exclude=gestures,accessors minifier=uglifyjs` */
/*! Fabric.js Copyright 2008-2015, Printio (Juriy Zaytsev, Maxim Chernyak) */

var fabric = fabric || { version: '2.0.0-rc.2' };
var fabric = fabric || { version: '2.0.0-rc.3' };
if (typeof exports !== 'undefined') {
exports.fabric = fabric;
}
Expand Down Expand Up @@ -19421,7 +19421,6 @@ fabric.util.object.extend(fabric.StaticCanvas.prototype, /** @lends fabric.Stati

'use strict';


/**
* Tests if webgl supports certain precision
* @param {WebGL} Canvas WebGL context to test on
Expand Down Expand Up @@ -19984,30 +19983,32 @@ fabric.Image.filters.BaseFilter = fabric.util.createClass(/** @lends fabric.Imag
* @param {String} vertexSource vertexShader source for compilation
*/
createProgram: function(gl, fragmentSource, vertexSource) {
fragmentSource = fragmentSource || this.fragmentSource;
vertexSource = vertexSource || this.vertexSource;
if (fabric.webGlPrecision !== 'highp'){
fragmentSource = fragmentSource.replace(
/precision highp float/g,
'precision ' + fabric.webGlPrecision + ' float'
);
}
var vertexShader = gl.createShader(gl.VERTEX_SHADER);
gl.shaderSource(vertexShader, vertexSource || this.vertexSource);
gl.shaderSource(vertexShader, vertexSource);
gl.compileShader(vertexShader);
if (!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) {
throw new Error(
// eslint-disable-next-line prefer-template
'Vertex shader compile error for "${this.type}": ' +
'Vertex shader compile error for ' + this.type + ': ' +
gl.getShaderInfoLog(vertexShader)
);
}

var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
gl.shaderSource(fragmentShader, fragmentSource || this.fragmentSource);
gl.shaderSource(fragmentShader, fragmentSource);
gl.compileShader(fragmentShader);
if (!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {
throw new Error(
// eslint-disable-next-line prefer-template
'Fragment shader compile error for "${this.type}": ' +
'Fragment shader compile error for ' + this.type + ': ' +
gl.getShaderInfoLog(fragmentShader)
);
}
Expand Down Expand Up @@ -21005,8 +21006,8 @@ fabric.Image.filters.BaseFilter.fromObject = function(object, callback) {
*/
retrieveShader: function(options) {
var cacheKey = this.type + '_' + this.mode;
var shaderSource = this.fragmentSource[this.mode];
if (!options.programCache.hasOwnProperty(cacheKey)) {
var shaderSource = this.fragmentSource[this.mode];
options.programCache[cacheKey] = this.createProgram(options.context, shaderSource);
}
return options.programCache[cacheKey];
Expand Down
4 changes: 2 additions & 2 deletions posts/demos/_posts/2011-10-26-image-filters.html
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ <h3>Filters:</h3>
var webglBackend = new fabric.WebglFilterBackend();
var canvas2dBackend = new fabric.Canvas2dFilterBackend()

fabric.filterBackend = webglBackend;
fabric.filterBackend = fabric.initFilterBackend();
fabric.Object.prototype.transparentCorners = false;
var $ = function(id){return document.getElementById(id)};

Expand Down Expand Up @@ -196,7 +196,7 @@ <h3>Filters:</h3>
'blackwhite', 'blend-image', 'hue', 'resize'];

for (var i = 0; i < filters.length; i++) {
filters[i] && (
$(filters[i]) && (
$(filters[i]).checked = !!canvas.getActiveObject().filters[i]);
}
},
Expand Down

0 comments on commit 5096c3b

Please sign in to comment.