var ContainerWebGLRenderer = function (renderer, container, interpolationPercentage, camera, parentMatrix){ var children = container.list; if (_AN_Read_length('length', children) === 0) { return ; } var transformMatrix = container.localTransform; if (parentMatrix) { transformMatrix.loadIdentity(); transformMatrix.multiply(parentMatrix); transformMatrix.translate(container.x, container.y); transformMatrix.rotate(container.rotation); transformMatrix.scale(container.scaleX, container.scaleY); } else { transformMatrix.applyITRS(container.x, container.y, container.rotation, container.scaleX, container.scaleY); } var containerHasBlendMode = (container.blendMode !== -1); if (!containerHasBlendMode) { renderer.setBlendMode(0); } var alpha = container._alpha; var scrollFactorX = container.scrollFactorX; var scrollFactorY = container.scrollFactorY; for (var i = 0; i < _AN_Read_length('length', children); i++ ){ var child = children[i]; if (!child.willRender(camera)) { continue ; } var childAlpha = child._alpha; var childScrollFactorX = child.scrollFactorX; var childScrollFactorY = child.scrollFactorY; if (!containerHasBlendMode && child.blendMode !== renderer.currentBlendMode) { renderer.setBlendMode(child.blendMode); } if (child.mask) { child.mask.preRenderWebGL(renderer, child, camera); } child.setScrollFactor(childScrollFactorX * scrollFactorX, childScrollFactorY * scrollFactorY); child.setAlpha(childAlpha * alpha); child.renderWebGL(renderer, child, interpolationPercentage, camera, transformMatrix); child.setAlpha(childAlpha); child.setScrollFactor(childScrollFactorX, childScrollFactorY); if (child.mask) { child.mask.postRenderWebGL(renderer, camera); } } } ; module.exports = ContainerWebGLRenderer;