Skip to content

Commit 946266d

Browse files
committed
Render to texture
1 parent 6511b4b commit 946266d

2 files changed

Lines changed: 43 additions & 1 deletion

File tree

v3/src/gameobjects/graphics/Graphics.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ var Render = require('./GraphicsRender');
55
var Commands = require('./Commands');
66
var MATH_CONST = require('../../math/const');
77
var GetValue = require('../../utils/object/GetValue');
8+
var CanvasPool = require('../../dom/CanvasPool');
89

910
var Graphics = new Class({
1011

@@ -40,6 +41,22 @@ var Graphics = new Class({
4041
this.defaultStrokeAlpha = 1;
4142

4243
this.setDefaultStyles(options);
44+
45+
this.dstRenderTexture = null;
46+
this.dstRenderTarget = null;
47+
48+
var resourceManager = state.game.renderer.resourceManager;
49+
50+
if (resourceManager !== undefined)
51+
{
52+
//var gl = state.game.renderer.gl;
53+
//this.passShader = resourceManager.createShader(shaderName, {vert: TexturedAndNormalizedTintedShader.vert, frag: fragmentShader});
54+
//this.renderTexture = resourceManager.createTexture(0, gl.LINEAR, gl.LINEAR, gl.CLAMP_TO_EDGE, gl.CLAMP_TO_EDGE, gl.RGBA, null, width, height);
55+
//this.passRenderTarget = resourceManager.createRenderTarget(width, height, this.renderTexture, null);
56+
//state.game.renderer.currentTexture = null; // force rebinding of prev texture
57+
this.resourceManager = resourceManager;
58+
this.gl = state.game.renderer.gl;
59+
}
4360
},
4461

4562
// STYLES
@@ -368,6 +385,31 @@ var Graphics = new Class({
368385
}
369386

370387
return this;
388+
},
389+
390+
createRenderTarget: function (width, height)
391+
{
392+
var resourceManager = this.resourceManager;
393+
if (this.dstRenderTarget === null)
394+
{
395+
if (resourceManager !== undefined)
396+
{
397+
var gl = this.gl;
398+
this.dstRenderTexture = resourceManager.createTexture(0, gl.LINEAR, gl.LINEAR, gl.CLAMP_TO_EDGE, gl.CLAMP_TO_EDGE, gl.RGBA, null, width, height);
399+
this.dstRenderTarget = resourceManager.createRenderTarget(width, height, this.dstRenderTexture, null);
400+
state.game.renderer.currentTexture = null; // force rebinding of prev texture
401+
}
402+
else
403+
{
404+
this.dstRenderTexture = CanvasPool.create2D(null, width, height);
405+
this.dstRenderTarget = this.dstRenderTexture.getContext('2d');
406+
}
407+
}
408+
},
409+
410+
bakeToRenderTarget: function ()
411+
{
412+
371413
}
372414

373415
});

v3/src/gameobjects/tilesprite/TileSprite.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var Class = require('../../utils/Class');
33
var GameObject = require('../GameObject');
44
var Components = require('../../components');
55
var TileSpriteRender = require('./TileSpriteRender');
6-
var CanvasPool = require('../../dom/CanvasPool')
6+
var CanvasPool = require('../../dom/CanvasPool');
77

88
var TileSprite = new Class({
99

0 commit comments

Comments
 (0)