Skip to content

Commit bcbec41

Browse files
committed
Fixed Graphics and Blitter issue with renderTarget
1 parent 81c6124 commit bcbec41

4 files changed

Lines changed: 14 additions & 12 deletions

File tree

v3/src/gameobjects/blitter/BlitterWebGLRenderer.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ var BlitterWebGLRenderer = function (renderer, src, interpolationPercentage, cam
1616
var f = cameraMatrix[5];
1717
var cameraScrollX = camera.scrollX;
1818
var cameraScrollY = camera.scrollY;
19+
var renderTarget = src.renderTarget;
1920

2021
// Render bobs
2122

@@ -44,7 +45,7 @@ var BlitterWebGLRenderer = function (renderer, src, interpolationPercentage, cam
4445
blitterBatch.flush();
4546
}
4647

47-
renderer.setRenderer(blitterBatch, frame.texture.source[frame.sourceIndex].glTexture);
48+
renderer.setRenderer(blitterBatch, frame.texture.source[frame.sourceIndex].glTexture, camera, renderTarget);
4849
vertexOffset = vertexDataBuffer.allocate(20);
4950
blitterBatch.elementCount += 6;
5051
x += frame.x;

v3/src/gameobjects/graphics/GraphicsWebGLRenderer.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,27 @@ var Path = function (x, y, width, rgb, alpha)
2222
this.points[0] = new Point(x, y, width, rgb, alpha);
2323
};
2424

25-
var GraphicsWebGLRenderer = function (renderer, src, interpolationPercentage, camera)
25+
var GraphicsWebGLRenderer = function (renderer, gameObject, interpolationPercentage, camera)
2626
{
2727
if (this.renderMask !== this.renderFlags)
2828
{
2929
return;
3030
}
3131

32+
var renderTarget = gameObject.renderTarget;
3233
var shapeBatch = renderer.shapeBatch;
3334
var vertexDataBuffer = shapeBatch.vertexDataBuffer;
3435
var vertexBufferF32 = vertexDataBuffer.floatView;
3536
var vertexBufferU32 = vertexDataBuffer.uintView;
3637
var vertexOffset = 0;
3738
var cameraScrollX = camera.scrollX;
3839
var cameraScrollY = camera.scrollY;
39-
const srcX = src.x - cameraScrollX;
40-
const srcY = src.y - cameraScrollY;
41-
const srcScaleX = src.scaleX;
42-
const srcScaleY = src.scaleY;
43-
const srcRotation = -src.rotation;
44-
var commandBuffer = src.commandBuffer;
40+
const srcX = gameObject.x - cameraScrollX;
41+
const srcY = gameObject.y - cameraScrollY;
42+
const srcScaleX = gameObject.scaleX;
43+
const srcScaleY = gameObject.scaleY;
44+
const srcRotation = -gameObject.rotation;
45+
var commandBuffer = gameObject.commandBuffer;
4546
var value;
4647
var lineAlpha = 1.0;
4748
var fillAlpha = 1.0;
@@ -95,7 +96,7 @@ var GraphicsWebGLRenderer = function (renderer, src, interpolationPercentage, ca
9596
mve = sre * cma + srf * cmc + cme;
9697
mvf = sre * cmb + srf * cmd + cmf;
9798

98-
renderer.setRenderer(shapeBatch, null);
99+
renderer.setRenderer(shapeBatch, null, renderTarget);
99100

100101
for (var cmdIndex = 0, cmdLength = commandBuffer.length; cmdIndex < cmdLength; ++cmdIndex)
101102
{

v3/src/renderer/webgl/WebGLRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ WebGLRenderer.prototype = {
170170
}
171171
},
172172

173-
setRenderer: function (renderer, texture, camera, renderTarget)
173+
setRenderer: function (renderer, texture, renderTarget)
174174
{
175175
this.setTexture(texture);
176176
this.setRenderTarget(renderTarget);

v3/src/renderer/webgl/renderers/spritebatch/SpriteBatch.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ SpriteBatch.prototype = {
215215
tx3 = xw * mva + y * mvc + mve;
216216
ty3 = xw * mvb + y * mvd + mvf;
217217

218-
this.manager.setRenderer(this, texture, camera, gameObject.renderTarget);
218+
this.manager.setRenderer(this, texture, gameObject.renderTarget);
219219
vertexOffset = vertexDataBuffer.allocate(24);
220220
this.elementCount += 6;
221221

@@ -307,7 +307,7 @@ SpriteBatch.prototype = {
307307
tx3 = xw * mva + y * mvc + mve;
308308
ty3 = xw * mvb + y * mvd + mvf;
309309

310-
this.manager.setRenderer(this, frame.texture.source[frame.sourceIndex].glTexture, camera, gameObject.renderTarget);
310+
this.manager.setRenderer(this, frame.texture.source[frame.sourceIndex].glTexture, gameObject.renderTarget);
311311
vertexOffset = vertexDataBuffer.allocate(24);
312312
this.elementCount += 6;
313313

0 commit comments

Comments
 (0)