Compare commits

..

7 Commits

Author SHA1 Message Date
greenkeeper[bot]
97d2f1425b fix(package): update scratch-svg-renderer to version 0.2.0-prerelease.20200103211543
Closes #534
2020-01-03 21:17:03 +00:00
picklesrus
932846f484 Merge pull request #531 from LLK/greenkeeper/scratch-svg-renderer-0.2.0-prerelease.20191217211338
Update scratch-svg-renderer to the latest version 🚀
2019-12-17 16:21:56 -05:00
greenkeeper[bot]
db1c7b3b2d fix(package): update scratch-svg-renderer to version 0.2.0-prerelease.20191217211338 2019-12-17 21:14:57 +00:00
DD Liu
e12646871e Merge pull request #487 from adroitwhiz/pen-stamp-to-framebuffer
penStamp() directly to the PenSkin's framebuffer
2019-12-11 15:30:28 -05:00
adroitwhiz
b1419d0468 set silhouette dirty 2019-08-04 06:43:59 -04:00
adroitwhiz
a8320b9ebc remove magic numbers 2019-08-01 22:28:49 -04:00
adroitwhiz
9f15b86672 penStamp directly to PenSkin's framebuffer 2019-07-25 07:59:52 -04:00
2 changed files with 12 additions and 15 deletions

View File

@@ -32,7 +32,7 @@
"chromeless": "^1.5.1",
"copy-webpack-plugin": "^4.5.1",
"docdash": "^0.4.0",
"eslint": "^6.7.2",
"eslint": "^4.6.1",
"eslint-config-scratch": "^5.0.0",
"gh-pages": "^1.0.0",
"jsdoc": "^3.5.5",
@@ -53,7 +53,7 @@
"minilog": "3.1.0",
"raw-loader": "^0.5.1",
"scratch-storage": "^1.0.0",
"scratch-svg-renderer": "0.2.0-prerelease.20191104164753",
"scratch-svg-renderer": "0.2.0-prerelease.20200103211543",
"twgl.js": "4.4.0"
}
}

View File

@@ -1542,23 +1542,20 @@ class RenderWebGL extends EventEmitter {
const skin = /** @type {PenSkin} */ this._allSkins[penSkinID];
const gl = this._gl;
twgl.bindFramebufferInfo(gl, this._queryBufferInfo);
twgl.bindFramebufferInfo(gl, skin._framebuffer);
// Limit size of viewport to the bounds around the stamp Drawable and create the projection matrix for the draw.
gl.viewport(0, 0, bounds.width, bounds.height);
gl.viewport(
(this._nativeSize[0] * 0.5) + bounds.left,
(this._nativeSize[1] * 0.5) - bounds.top,
bounds.width,
bounds.height
);
const projection = twgl.m4.ortho(bounds.left, bounds.right, bounds.top, bounds.bottom, -1, 1);
gl.clearColor(0, 0, 0, 0);
gl.clear(gl.COLOR_BUFFER_BIT);
try {
gl.disable(gl.BLEND);
this._drawThese([stampID], ShaderManager.DRAW_MODE.stamp, projection, {ignoreVisibility: true});
} finally {
gl.enable(gl.BLEND);
}
skin._drawToBuffer(this._queryBufferInfo.attachments[0], bounds.left, bounds.top);
// Draw the stamped sprite onto the PenSkin's framebuffer.
this._drawThese([stampID], ShaderManager.DRAW_MODE.stamp, projection, {ignoreVisibility: true});
skin._silhouetteDirty = true;
}
/* ******