@@ -5,6 +5,7 @@ var Render = require('./GraphicsRender');
55var Commands = require ( './Commands' ) ;
66var MATH_CONST = require ( '../../math/const' ) ;
77var GetValue = require ( '../../utils/object/GetValue' ) ;
8+ var CanvasPool = require ( '../../dom/CanvasPool' ) ;
89
910var 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} ) ;
0 commit comments