mirror of
https://github.com/photonstorm/phaser
synced 2025-02-17 06:28:30 +00:00
Render to texture
This commit is contained in:
parent
6511b4b0d5
commit
946266d715
2 changed files with 43 additions and 1 deletions
|
@ -5,6 +5,7 @@ var Render = require('./GraphicsRender');
|
|||
var Commands = require('./Commands');
|
||||
var MATH_CONST = require('../../math/const');
|
||||
var GetValue = require('../../utils/object/GetValue');
|
||||
var CanvasPool = require('../../dom/CanvasPool');
|
||||
|
||||
var Graphics = new Class({
|
||||
|
||||
|
@ -40,6 +41,22 @@ var Graphics = new Class({
|
|||
this.defaultStrokeAlpha = 1;
|
||||
|
||||
this.setDefaultStyles(options);
|
||||
|
||||
this.dstRenderTexture = null;
|
||||
this.dstRenderTarget = null;
|
||||
|
||||
var resourceManager = state.game.renderer.resourceManager;
|
||||
|
||||
if (resourceManager !== undefined)
|
||||
{
|
||||
//var gl = state.game.renderer.gl;
|
||||
//this.passShader = resourceManager.createShader(shaderName, {vert: TexturedAndNormalizedTintedShader.vert, frag: fragmentShader});
|
||||
//this.renderTexture = resourceManager.createTexture(0, gl.LINEAR, gl.LINEAR, gl.CLAMP_TO_EDGE, gl.CLAMP_TO_EDGE, gl.RGBA, null, width, height);
|
||||
//this.passRenderTarget = resourceManager.createRenderTarget(width, height, this.renderTexture, null);
|
||||
//state.game.renderer.currentTexture = null; // force rebinding of prev texture
|
||||
this.resourceManager = resourceManager;
|
||||
this.gl = state.game.renderer.gl;
|
||||
}
|
||||
},
|
||||
|
||||
// STYLES
|
||||
|
@ -368,6 +385,31 @@ var Graphics = new Class({
|
|||
}
|
||||
|
||||
return this;
|
||||
},
|
||||
|
||||
createRenderTarget: function (width, height)
|
||||
{
|
||||
var resourceManager = this.resourceManager;
|
||||
if (this.dstRenderTarget === null)
|
||||
{
|
||||
if (resourceManager !== undefined)
|
||||
{
|
||||
var gl = this.gl;
|
||||
this.dstRenderTexture = resourceManager.createTexture(0, gl.LINEAR, gl.LINEAR, gl.CLAMP_TO_EDGE, gl.CLAMP_TO_EDGE, gl.RGBA, null, width, height);
|
||||
this.dstRenderTarget = resourceManager.createRenderTarget(width, height, this.dstRenderTexture, null);
|
||||
state.game.renderer.currentTexture = null; // force rebinding of prev texture
|
||||
}
|
||||
else
|
||||
{
|
||||
this.dstRenderTexture = CanvasPool.create2D(null, width, height);
|
||||
this.dstRenderTarget = this.dstRenderTexture.getContext('2d');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
bakeToRenderTarget: function ()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
|
|
@ -3,7 +3,7 @@ var Class = require('../../utils/Class');
|
|||
var GameObject = require('../GameObject');
|
||||
var Components = require('../../components');
|
||||
var TileSpriteRender = require('./TileSpriteRender');
|
||||
var CanvasPool = require('../../dom/CanvasPool')
|
||||
var CanvasPool = require('../../dom/CanvasPool');
|
||||
|
||||
var TileSprite = new Class({
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue