Class: RenderTexture


A RenderTexture is a special texture that allows any PixiJS display object to be rendered to it.

Hint: All DisplayObjects (i.e. Sprites) that render to a RenderTexture should be preloaded otherwise black rectangles will be drawn instead.

Hint-2: The actual memory allocation will happen on first render. You shouldn't create renderTextures each frame just to delete them after, try to reuse them.

A RenderTexture takes a snapshot of any Display Object given to its render method. For example:

let renderer = PIXI.autoDetectRenderer();
let renderTexture = PIXI.RenderTexture.create(800, 600);
let sprite = PIXI.Sprite.from("spinObj_01.png");

sprite.position.x = 800/2;
sprite.position.y = 600/2;
sprite.anchor.x = 0.5;
sprite.anchor.y = 0.5;

renderer.render(sprite, renderTexture);

The Sprite in this case will be rendered using its local transform. To render this sprite at 0,0 you can clear the transform


let renderTexture = new PIXI.RenderTexture.create(100, 100);

renderer.render(sprite, renderTexture);  // Renders to center of RenderTexture

new PIXI.RenderTexture (baseRenderTexture, frame)

Name Type Description
baseRenderTexture PIXI.BaseRenderTexture

The base texture object that this texture uses

frame PIXI.Rectangle optional

The rectangle frame of the texture to show



This is the area of the BaseTexture image to actually copy to the Canvas / WebGL when rendering, irrespective of the actual frame size or placement (which can be influenced by trimmed texture atlases)

_updateID number protected inherited

Update ID is observed by sprites and TextureMatrix instances. Call updateUvs() to increment it.

_uvs PIXI.TextureUvs protected inherited

The WebGL UV data cache. Can be used as quad UV

The base texture that this texture uses.

defaultAnchor PIXI.Point inherited

Anchor point that is used as default if sprite is created with this texture. Changing the defaultAnchor at a later point of time will not update Sprite's anchor point.

Default Value:
  • {0,0}

filterFrame PIXI.Rectangle protected

FilterSystem temporary storage

filterPoolKey string protected

The key for pooled texture of FilterSystem

The frame specifies the region of the base texture that this texture uses. Please call updateUvs() after you change coordinates of frame manually.

height number inherited

The height of the Texture in pixels.

noFrame boolean inherited

Does this Texture have any frame data assigned to it?

This mode is enabled automatically if no frame was passed inside constructor.

In this mode texture is subscribed to baseTexture events, and fires update on any change.

Beware, after loading or resize of baseTexture event can fired two times! If you want more control, subscribe on baseTexture itself.

texture.on('update', () => {});

Any assignment of frame switches off noFrame mode.

This is the area of original texture, before it was put in atlas

requiresUpdate boolean inherited

This will let a renderer know that a texture has been updated (used mainly for WebGL uv updates)

rotate number inherited

Indicates whether the texture is rotated inside the atlas set to 2 to compensate for texture packer rotation set to 6 to compensate for spine packer rotation can be used to rotate or mirror sprites See PIXI.GroupD8 for explanation

size PIXI.Rectangle Deprecated : since 5.0.0 readonly

sourceFrame PIXI.Rectangle Deprecated : since 5.0.0 readonly

textureCacheIds Array.<string> inherited

The ids under which this Texture has been added to the texture cache. This is automatically set as long as Texture.addToCache is used, but may not be set if a Texture is added directly to the TextureCache array.

This is the trimmed area of original texture, before it was put in atlas Please call updateUvs() after you change coordinates of trim manually.

Default TextureMatrix instance for this texture By default that object is not created because its heavy

valid boolean overrides

This will let the renderer know if the texture is valid. If it's not then it cannot be rendered.

width number inherited

The width of the Texture in pixels.


PIXI.RenderTexture.create (options)PIXI.RenderTexture static

A short hand way of creating a render texture.

Name Type Description
options object optional


Name Type Default Description
width number 100 optional

The width of the render texture

height number 100 optional

The height of the render texture

scaleMode number PIXI.settings.SCALE_MODE optional

See PIXI.SCALE_MODES for possible values

resolution number 1 optional

The resolution / device pixel ratio of the texture being generated

Type Description
PIXI.RenderTexture The new render texture

Creates a new texture object that acts the same as this one.

Type Description
PIXI.Texture The new texture

destroy (destroyBase) inherited

Destroys this texture

Name Type Default Description
destroyBase boolean false optional

Whether to destroy the base texture as well

onBaseTextureUpdated (baseTexture) protected inherited

Called when the base texture is updated

Name Type Description
baseTexture PIXI.BaseTexture

The base texture.

resize (width, height, resizeBaseTexture)

Resizes the RenderTexture.

Name Type Default Description
width number

The width to resize to.

height number

The height to resize to.

resizeBaseTexture boolean true optional

Should the baseTexture.width and height values be resized as well?

setResolution (resolution)

Changes the resolution of baseTexture, but does not change framebuffer size.

Name Type Description
resolution number

The new resolution to apply to RenderTexture

Updates this texture on the gpu.

Calls the TextureResource update.

If you adjusted frame manually, please call updateUvs() instead.

updateUvs () inherited

Updates the internal WebGL UV cache. Use it after you change frame or trim of the texture. Call it after changing the frame