Class: RenderTexture

PIXI~RenderTexture

RenderTexture是一种特殊的纹理,它允许将任何PixiJS显示对象渲染给它。

Hint: 所有渲染到RenderTexture的显示对象(即精灵)都应预加载 否则将绘制黑色矩形。

Hint-2: 实际内存分配将在第一次渲染时发生。 您不应该仅在删除每个帧之后创建renderTextures,而是尝试重用它们。

RenderTexture获取指定给其呈现方法的任何显示对象的快照。例如:

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);

本例中的精灵将使用其局部变换进行渲染。在0,0渲染此精灵 你可以清除转换


sprite.setTransform()

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

renderer.render(sprite, renderTexture);  // 渲染到RenderTexture的中心

new RenderTexture (baseRenderTexture, frame)

Name Type Description
baseRenderTexture PIXI.BaseRenderTexture

此纹理使用的基础纹理对象

frame PIXI.Rectangle optional

The rectangle frame of the texture to show

Extends

Members

BaseTexture图像在渲染时实际复制到Canvas / WebGL的区域, 不管实际的区域大小或位置如何(可能受修剪的纹理图集影响)

_updateID number protected inherited overrides

精灵和TextureMatrix实例可以观察到更新ID。 调用updateUvs()将其递增。

WebGL UV数据缓存。可用作一个quad(二个triangle)

该纹理使用的基本纹理。

使用此纹理创建精灵时,默认的描点。 在创建后更改defaultAnchor不会更新精灵的描点。

Default Value:
  • {0,0}

filterFrame PIXI.Rectangle readonly

Stores 当此纹理位于当前滤镜堆栈中时存储sourceFrame。 你可以在滤镜里面读取它。

filterPoolKey string protected

FilterSystem混合纹理的key

帧指定此纹理使用的基础纹理的区域。 手动更改frame的坐标后,请调用updateUvs()

height number inherited overrides

纹理的高度(像素)。

noFrame boolean inherited overrides

纹理是否分配了任何区域数据?

如果没有在构造函数中传递任何区域,则自动启用此模式。

在这种模式下,纹理订阅了baseTexture事件,并在发生任意更改时触发 update

当心,加载或调整baseTexture事件的大小后,可能会触发两次! 如果需要更多控制,请订阅baseTexture本身。

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

Any assignment of frame switches off noFrame mode. 任何对frame的分配都会关闭noFrame模式。

原始纹理的区域,在它被放入图集之前

requiresUpdate boolean inherited overrides

让渲染器知道纹理是否已更新(主要用于WebGL uv更新)

resolution number readonly inherited overrides

返回baseTexture的分辨率

rotate number inherited overrides

指示纹理是否在图集内旋转 set to 2 to compensate for texture packer rotation set to 6 to compensate for spine packer rotation 可用于旋转或镜像精灵 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 overrides

将纹理添加到纹理缓存的ID数组。 只要使用了Texture.addToCache,就会自动设置该选项, 但如果直接将纹理添加到TextureCache数组,则可能不会设置该选项。

原始纹理的修剪区域,在放入图集之前,请手动更改trim的坐标后调用updateUvs()

纹理默认的TextureMatrix实例 默认情况下,不会创建该对象,因为它很重

valid boolean overrides

这将使渲染器知道纹理是否有效。 如果不是,则无法渲染。

width number inherited overrides

纹理的宽度(以像素为单位)。

Methods

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

创建渲染纹理的简单方法。

Name Type Description
options object optional

Options

Name Type Default Description
width number 100 optional

渲染纹理的宽度

height number 100 optional

渲染纹理的高度

scaleMode number PIXI.settings.SCALE_MODE optional

有关可选值,请参见PIXI.SCALE_MODES

resolution number 1 optional

生成的纹理的分辨率/设备像素比

Returns:
Type Description
PIXI.RenderTexture 新的渲染纹理

克隆一个新的纹理对象。

Returns:
Type Description
PIXI.Texture 新的纹理对象

destroy (destroyBase) inherited overrides

销毁纹理

Name Type Default Description
destroyBase boolean false optional

是否一起销毁基础纹理

onBaseTextureUpdated (baseTexture) protected inherited overrides

在更新基础纹理时调用

Name Type Description
baseTexture PIXI.BaseTexture

基础纹理

resize (width, height, resizeBaseTexture)

调整RenderTexture的大小。

Name Type Default Description
width number

要调整大小的宽度。

height number

要调整大小的高度。

resizeBaseTexture boolean true optional

是否需要baseTexture.width和height值也调整大小?

setResolution (resolution)

更改baseTexture的分辨率,但不更改帧缓冲区大小。

Name Type Description
resolution number

应用于RenderTexture的新分辨率

在gpu上更新此纹理。

调用TextureResource更新。

If you adjusted frame manually, please call updateUvs() instead. 如果手动调整 frame ,请改为调用updateUvs()

更新内部WebGL UV缓存。更改纹理的 frametrim 后使用。 改变frame调用