# Resizing Render Texture

**URL:** <https://phaser.discourse.group/t/resizing-render-texture/1108>\
**Category:** Phaser 3\
**Created:** [February 7, 2019, 11:27am UTC](https://phaser.discourse.group/t/resizing-render-texture/1108 "2019-02-07T11:27:53Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![falc](https://avatars.discourse-cdn.com/v4/letter/f/b4bc9f/32.png) [@falc](https://phaser.discourse.group/u/falc)\
**Post date:** [February 7, 2019, 11:27am UTC](https://phaser.discourse.group/t/resizing-render-texture/1108/1 "2019-02-07T11:27:53Z")

</div>

Hello Community!

I’ve been trying to make a paint-like environment using Phaser and Render Textures.  
It seems that everytime I resize or setSize to the RenderTexture, my drawings are destroyed.

According to Phaser’s RenderTexture resize method source code:

```javascript
this.renderer.deleteTexture(this.frame.source.glTexture);
this.renderer.deleteFramebuffer(this.framebuffer);

this.frame.source.glTexture = this.renderer.createTexture2D(0, gl.NEAREST, gl.NEAREST, gl.CLAMP_TO_EDGE, gl.CLAMP_TO_EDGE, gl.RGBA, null, width, height, false);
this.framebuffer = this.renderer.createFramebuffer(width, height, this.frame.source.glTexture, false);

this.frame.glTexture = this.frame.source.glTexture;

```

The example in Phaser 3 Examples page is broken and outdated.  
Is there a way I could get a hold to what’s been drawn, resize and then redraw it?

---

<div class="post-metadata">

**Author:** ![jjcapellan](https://yyz2.discourse-cdn.com/free1/user_avatar/phaser.discourse.group/jjcapellan/32/542_2.png) [@jjcapellan](https://phaser.discourse.group/u/jjcapellan)\
**Post date:** [February 7, 2019, 9:26pm UTC](https://phaser.discourse.group/t/resizing-render-texture/1108/2 "2019-02-07T21:26:26Z")

</div>

Hi @falc,  
Before resize, you could draw the render texture in another.  
Something like:

```javascript
// rt1: render texture to resize
// rt2: helper render texture
function resizeRt(rt1, rt2, width, height) {
  rt2.clear();
  rt2.draw(rt1, 0, 0);
  rt1.resize(width, height);
  rt1.draw(rt2, 0, 0);
}

```

Regards.
