Skip to content

Commit 71a6360

Browse files
committed
Pipeline components added
1 parent 107cd84 commit 71a6360

30 files changed

Lines changed: 102 additions & 17 deletions

src/gameobjects/bitmaptext/dynamic/DynamicBitmapText.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ var DynamicBitmapText = new Class({
1212
Components.Alpha,
1313
Components.BlendMode,
1414
Components.Origin,
15+
Components.Pipeline,
1516
Components.Texture,
1617
Components.Tint,
1718
Components.Transform,
@@ -41,6 +42,7 @@ var DynamicBitmapText = new Class({
4142
this.setTexture(entry.texture, entry.frame);
4243
this.setPosition(x, y);
4344
this.setOrigin(0, 0);
45+
this.initPipeline('TextureTintPipeline');
4446

4547
this._bounds = this.getTextBounds();
4648

src/gameobjects/bitmaptext/dynamic/DynamicBitmapTextWebGLRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ var DynamicBitmapTextWebGLRenderer = function (renderer, bitmapText, interpolati
1414
return;
1515
}
1616

17-
renderer.pipelines.TextureTintPipeline.batchDynamicBitmapText(bitmapText, camera);
17+
this.pipeline.batchDynamicBitmapText(bitmapText, camera);
1818
};
1919

2020
module.exports = DynamicBitmapTextWebGLRenderer;

src/gameobjects/bitmaptext/static/BitmapText.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ var BitmapText = new Class({
1414
Components.Alpha,
1515
Components.BlendMode,
1616
Components.Origin,
17+
Components.Pipeline,
1718
Components.ScaleMode,
1819
Components.Texture,
1920
Components.Tint,
@@ -44,6 +45,7 @@ var BitmapText = new Class({
4445
this.setTexture(entry.texture, entry.frame);
4546
this.setPosition(x, y);
4647
this.setOrigin(0, 0);
48+
this.initPipeline('TextureTintPipeline');
4749

4850
this._bounds = this.getTextBounds();
4951
},

src/gameobjects/bitmaptext/static/BitmapTextWebGLRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ var BitmapTextWebGLRenderer = function (renderer, gameObject, interpolationPerce
1212
return;
1313
}
1414

15-
renderer.pipelines.TextureTintPipeline.batchBitmapText(this, camera);
15+
this.pipeline.batchBitmapText(this, camera);
1616
};
1717

1818
module.exports = BitmapTextWebGLRenderer;

src/gameobjects/blitter/Blitter.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ var Blitter = new Class({
1313
Mixins: [
1414
Components.Alpha,
1515
Components.BlendMode,
16+
Components.Pipeline,
1617
Components.ScaleMode,
1718
Components.Size,
1819
Components.Texture,
@@ -51,8 +52,8 @@ var Blitter = new Class({
5152
GameObject.call(this, scene, 'Blitter');
5253

5354
this.setTexture(texture, frame);
54-
5555
this.setPosition(x, y);
56+
this.initPipeline('TextureTintPipeline');
5657

5758
/**
5859
* [description]

src/gameobjects/blitter/BlitterWebGLRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ var BlitterWebGLRenderer = function (renderer, gameObject, interpolationPercenta
77
return;
88
}
99

10-
renderer.pipelines.TextureTintPipeline.drawBlitter(gameObject, camera);
10+
this.pipeline.drawBlitter(gameObject, camera);
1111
};
1212

1313
module.exports = BlitterWebGLRenderer;
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
// Pipeline is a WebGL-Only feature
2+
3+
var Pipeline = {
4+
5+
defaultPipeline: null,
6+
pipeline: null,
7+
8+
initPipeline: function (pipelineName)
9+
{
10+
var renderer = this.scene.sys.game.renderer;
11+
12+
if (renderer.gl && renderer.hasPipeline(pipelineName))
13+
{
14+
this.defaultPipeline = renderer.getPipeline(pipelineName);
15+
this.pipeline = this.defaultPipeline;
16+
}
17+
18+
return this;
19+
},
20+
21+
setPipeline: function (pipelineName)
22+
{
23+
var renderer = this.scene.sys.game.renderer;
24+
25+
if (renderer.gl && renderer.hasPipeline(pipelineName))
26+
{
27+
this.pipeline = renderer.getPipeline(pipelineName);
28+
}
29+
30+
return this;
31+
},
32+
33+
resetPipeline: function ()
34+
{
35+
this.pipeline = this.defaultPipeline;
36+
return this;
37+
}
38+
39+
};
40+
41+
module.exports = Pipeline;

src/gameobjects/components/index.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ module.exports = {
1111
Flip: require('./Flip'),
1212
GetBounds: require('./GetBounds'),
1313
Origin: require('./Origin'),
14+
Pipeline: require('./Pipeline'),
1415
ScaleMode: require('./ScaleMode'),
1516
ScrollFactor: require('./ScrollFactor'),
1617
Size: require('./Size'),

src/gameobjects/graphics/Graphics.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ var Graphics = new Class({
1919
Mixins: [
2020
Components.Alpha,
2121
Components.BlendMode,
22+
Components.Pipeline,
2223
Components.Transform,
2324
Components.Visible,
2425
Components.ScrollFactor,
@@ -35,6 +36,7 @@ var Graphics = new Class({
3536
GameObject.call(this, scene, 'Graphics');
3637

3738
this.setPosition(x, y);
39+
this.initPipeline('FlatTintPipeline');
3840

3941
this.displayOriginX = 0;
4042
this.displayOriginY = 0;

src/gameobjects/graphics/GraphicsWebGLRenderer.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ var GraphicsWebGLRenderer = function (renderer, graphics, interpolationPercentag
77
return;
88
}
99

10-
renderer.pipelines.FlatTintPipeline.batchGraphics(this, camera);
10+
this.pipeline.batchGraphics(this, camera);
1111
};
1212

1313
module.exports = GraphicsWebGLRenderer;

0 commit comments

Comments
 (0)