MCPcopy
hub / github.com/phaserjs/phaser / LayerWebGLRenderer

Function LayerWebGLRenderer

src/gameobjects/layer/LayerWebGLRenderer.js:26–110  ·  view source on GitHub ↗
(renderer, layer, drawingContext, parentMatrix, renderStep, displayList, displayListIndex)

Source from the content-addressed store, hash-verified

24 * @param {number} displayListIndex - The index of the Game Object within the display list.
25 */
26var LayerWebGLRenderer = function (renderer, layer, drawingContext, parentMatrix, renderStep, displayList, displayListIndex)
27{
28 var children = layer.list;
29 var childCount = children.length;
30
31 if (childCount === 0)
32 {
33 return;
34 }
35
36 var currentContext = drawingContext;
37 var camera = currentContext.camera;
38
39 layer.depthSort();
40
41 var layerHasBlendMode = (layer.blendMode !== CONST.BlendModes.SKIP_CHECK);
42
43 if (!layerHasBlendMode && currentContext.blendMode !== 0)
44 {
45 // If Layer is SKIP_TEST then set blend mode to be Normal
46 currentContext = currentContext.getClone();
47 currentContext.setBlendMode(0);
48 currentContext.use();
49 }
50
51 var alpha = layer.alpha;
52
53 for (var i = 0; i < childCount; i++)
54 {
55 var child = children[i];
56
57 if (!child.willRender(camera))
58 {
59 continue;
60 }
61
62 var childAlphaTopLeft;
63 var childAlphaTopRight;
64 var childAlphaBottomLeft;
65 var childAlphaBottomRight;
66
67 if (child.alphaTopLeft !== undefined)
68 {
69 childAlphaTopLeft = child.alphaTopLeft;
70 childAlphaTopRight = child.alphaTopRight;
71 childAlphaBottomLeft = child.alphaBottomLeft;
72 childAlphaBottomRight = child.alphaBottomRight;
73 }
74 else
75 {
76 var childAlpha = child.alpha;
77
78 childAlphaTopLeft = childAlpha;
79 childAlphaTopRight = childAlpha;
80 childAlphaBottomLeft = childAlpha;
81 childAlphaBottomRight = childAlpha;
82 }
83

Callers 1

Calls 3

setBlendModeMethod · 0.80
renderWebGLStepMethod · 0.80
setAlphaMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…