var ExternWebGLRenderer = function (renderer, src, interpolationPercentage, camera, parentMatrix){ var pipeline = renderer.currentPipeline; renderer.clearPipeline(); var camMatrix = renderer._tempMatrix1; var spriteMatrix = renderer._tempMatrix2; var calcMatrix = renderer._tempMatrix3; spriteMatrix.applyITRS(src.x, src.y, src.rotation, src.scaleX, src.scaleY); camMatrix.copyFrom(camera.matrix); if (parentMatrix) { camMatrix.multiplyWithOffset(parentMatrix, - camera.scrollX * src.scrollFactorX, - camera.scrollY * src.scrollFactorY); spriteMatrix.e = src.x; spriteMatrix.f = src.y; camMatrix.multiply(spriteMatrix, calcMatrix); } else { spriteMatrix.e -= camera.scrollX * src.scrollFactorX; spriteMatrix.f -= camera.scrollY * src.scrollFactorY; camMatrix.multiply(spriteMatrix, calcMatrix); } src.render.call(src, renderer, camera, calcMatrix); renderer.rebindPipeline(pipeline); } ; module.exports = ExternWebGLRenderer;