UtilityPipeline

.Renderer.WebGL.Pipelines. UtilityPipeline

公用管线是属于管线管理器的特殊用途管线. 它提供了4个着色器和方便的相关方法: 1)拷贝着色器.具有可选亮度设置的快速纹理到纹理复制着色器. 2)添加混合模式着色器.使用添加混合模式混合两种纹理. 3)线性混合模式着色器.使用线性混合模式混合两种纹理. 4)颜色矩阵拷贝着色器.使用颜色矩阵将纹理绘制到目标. 您不扩展此管道,而是从管道中获取对它的引用 通过 `setUtility` 方法管理.您还可以访问诸如 `copyFrame` 之类的方法 直接从管道管理器. 此管道提供了操作帧缓冲区支持的纹理的方法,例如 将一个纹理复制或混合到另一个纹理,另外复制一部分纹理 混合两种纹理,翻转纹理等等. 此管道的默认着色器属性是: `inPosition` (vec2,偏移量0) `zntexcoord` (vec 2,偏移量8) 该流水线具有硬编码的批量大小1和硬编码的顶点集.

Constructor

new UtilityPipeline(config)

Since:
  • 3.50.0
Parameters:
Name Type Description
config Phaser.Types.Renderer.WebGL.WebGLPipelineConfig 此管道的配置选项.

Extends

Members

active :boolean

Since:
  • 3.10.0
Inherited From:
指示当前管道是否处于活动状态. 切换此属性以启用或禁用管道呈现任何内容.
Type:
  • boolean

addShader :Phaser.Renderer.WebGL.WebGLShader

Since:
  • 3.50.0
属于此实用程序管道的添加混合着色器的引用. 该属性在 `boot` 方法中设置.
Type:

bytes :Uint8Array

Since:
  • 3.0.0
Inherited From:
Uint8视图到 `vertexData` ArrayBuffer.用于上传顶点缓冲资源到GPU.
Type:
  • Uint8Array

colorMatrix :Phaser.Display.ColorMatrix

Since:
  • 3.50.0
默认颜色矩阵,颜色矩阵着色器在以下情况下使用 没有提供.
Type:

colorMatrixShader :Phaser.Renderer.WebGL.WebGLShader

Since:
  • 3.50.0
属于此实用程序管道的颜色矩阵着色器的引用. 该属性在 `boot` 方法中设置.
Type:

config :Phaser.Types.Renderer.WebGL.WebGLPipelineConfig

Since:
  • 3.50.0
Inherited From:
用于创建此管道的配置对象. 将此对象视为 `read only`,因为在创建后更改它不会 以任何方式影响这条管道.但是,它在内部用于克隆 和开机后设置.
Type:

copyShader :Phaser.Renderer.WebGL.WebGLShader

Since:
  • 3.50.0
Default Value:
  • null
对属于此实用程序管道的复制着色器的引用. 该属性在 `boot` 方法中设置.
Type:

currentRenderTarget :Phaser.Renderer.WebGL.RenderTarget

Since:
  • 3.50.0
Inherited From:
对 `WebGlPipeline.RenderTargets` 数组中当前绑定的渲染目标实例的引用.
Type:

currentShader :Phaser.Renderer.WebGL.WebGLShader

Since:
  • 3.50.0
Inherited From:
对 `WebGLPipeline.shaders` 数组中当前绑定的WebGLShader实例的引用. 对于许多管道,这是唯一的着色器,所以这是一种快速引用它的方法 数组查找.
Type:

currentUnit :number

Since:
  • 3.50.0
Inherited From:
保存最近分配的纹理单元. 将该值视为只读.
Type:
  • number

forceZero :boolean

Since:
  • 3.50.0
Inherited From:
有些管道需要强制使用纹理零(像光管道). 在这种情况下,应该设置此属性.
Type:
  • boolean

fullFrame1 :Phaser.Renderer.WebGL.RenderTarget

Since:
  • 3.50.0
对全帧1渲染目标的引用. 该属性在 `boot` 方法中设置. 该渲染目标是渲染器的全部大小. 您可以在多目标效果的后期效果管道中直接使用它. 但是,请注意,这些目标在所有外汇交易管道之间共享.
Type:

fullFrame2 :Phaser.Renderer.WebGL.RenderTarget

Since:
  • 3.50.0
对全帧2渲染目标的引用. 该属性在 `boot` 方法中设置. 该渲染目标是渲染器的全部大小. 您可以在多目标效果的后期效果管道中直接使用它. 但是,请注意,这些目标在所有外汇交易管道之间共享.
Type:

game :Phaser.Game

Since:
  • 3.0.0
Inherited From:
管道绑定到的相位器游戏实例.
Type:

gl :WebGLRenderingContext

Since:
  • 3.0.0
Inherited From:
此WebGL管道使用的WebGL上下文.
Type:
  • WebGLRenderingContext

glReset :boolean

Since:
  • 3.53.0
Inherited From:
自上次以来,总帐上下文是否已重置为移相器默认值 这条管道被封了?当管道管理器 通常在移交给第三方渲染器(如Spine)后,重置自身. 您应该将此属性视为只读.
Type:
  • boolean

halfFrame1 :Phaser.Renderer.WebGL.RenderTarget

Since:
  • 3.50.0
对半帧1渲染目标的引用. 该属性在 `boot` 方法中设置. 此渲染目标是渲染器大小的一半. 您可以在多目标效果的后期效果管道中直接使用它. 但是,请注意,这些目标在所有外汇交易管道之间共享.
Type:

halfFrame2 :Phaser.Renderer.WebGL.RenderTarget

Since:
  • 3.50.0
对半帧2渲染目标的引用. 该属性在 `boot` 方法中设置. 此渲染目标是渲染器大小的一半. 您可以在多目标效果的后期效果管道中直接使用它. 但是,请注意,这些目标在所有外汇交易管道之间共享.
Type:

(readonly) hasBooted :boolean

Since:
  • 3.50.0
Inherited From:
指示此管道是否已启动. 只有当游戏实例本身以及所有相关联的系统 完全准备好.
Type:
  • boolean

height :number

Since:
  • 3.0.0
Inherited From:
当前视口的高度.
Type:
  • number

(readonly) isPostFX :boolean

Since:
  • 3.50.0
Inherited From:
指示这是否是一个后外汇管道.
Type:
  • boolean

linearShader :Phaser.Renderer.WebGL.WebGLShader

Since:
  • 3.50.0
属于此实用程序管道的线性混合着色器的引用. 该属性在 `boot` 方法中设置.
Type:

(nullable) manager :Phaser.Renderer.WebGL.PipelineManager

Since:
  • 3.50.0
Inherited From:
对网络总帐管道管理器的引用. 这最初是未定义的,仅在添加此管道时设置 给经理.
Type:

name :string

Since:
  • 3.0.0
Inherited From:
管道的名称.用于游戏对象的识别和设置.
Type:
  • string

projectionHeight :number

Since:
  • 3.50.0
Inherited From:
投影矩阵的缓存高度.
Type:
  • number

projectionMatrix :Phaser.Math.Matrix4

Since:
  • 3.50.0
Inherited From:
投影矩阵,由着色器用作 `uProjectionMatrix` 均匀.
Type:

projectionWidth :number

Since:
  • 3.50.0
Inherited From:
投影矩阵的缓存宽度.
Type:
  • number

renderer :Phaser.Renderer.WebGL.WebGLRenderer

Since:
  • 3.0.0
Inherited From:
此管道绑定到的WebGL渲染器实例.
Type:

renderTargets :Array.<Phaser.Renderer.WebGL.RenderTarget>

Since:
  • 3.50.0
Inherited From:
属于此管道的渲染目标实例的数组.
Type:

shaders :Array.<Phaser.Renderer.WebGL.WebGLShader>

Since:
  • 3.50.0
Inherited From:
属于此管道的所有WebGLShader实例的数组. 着色器管理自己的属性和制服,但共享相同的顶点数据缓冲区, 属于这条管道. 着色器是在调用 `setShadersFromConfig` 方法时设置的,这是自动发生的, 但也可以在游戏中的任何时候调用.有关详细信息,请参见方法文档.
Type:

topology :GLenum

Since:
  • 3.0.0
Inherited From:
管道将用于提交绘制调用的原始拓扑. 如果配置中没有设置,则默认为GL_TRIANGLES.
Type:
  • GLenum

(readonly) vertexBuffer :WebGLBuffer

Since:
  • 3.0.0
Inherited From:
保存顶点数据的网络缓冲区. 从 `vertexData` ArrayBuffer创建.如果在配置中设置了 `vertices` ,则 `STATIC_DRAW` 缓冲区 被创造出来.如果没有,则创建一个 `DYNAMIC_DRAW` 缓冲区.
Type:
  • WebGLBuffer

vertexCapacity :number

Since:
  • 3.0.0
Inherited From:
此管道批处理在刷新之前可以容纳的顶点总数. 这默认为 `renderbatchsize * 6` ,其中 `batchSize` 在渲染器游戏配置中定义.
Type:
  • number

vertexCount :number

Since:
  • 3.0.0
Inherited From:
Default Value:
  • 0
已添加到管道批次的当前顶点数.
Type:
  • number

(readonly) vertexData :ArrayBuffer

Since:
  • 3.0.0
Inherited From:
顶点的原始字节缓冲区. 通过配置对象 `vertices` 属性设置,或生成新的数组缓冲区 大小 `vertexCapacity * vertexSize` .
Type:
  • ArrayBuffer

vertexViewF32 :Float32Array

Since:
  • 3.0.0
Inherited From:
包含管道顶点的数组缓冲区的Float32视图.
Type:
  • Float32Array

vertexViewU32 :Uint32Array

Since:
  • 3.0.0
Inherited From:
包含管道顶点的数组缓冲区的Uint32视图.
Type:
  • Uint32Array

view :HTMLCanvasElement

Since:
  • 3.0.0
Inherited From:
此WebGL管道渲染到的画布.
Type:
  • HTMLCanvasElement

width :number

Since:
  • 3.0.0
Inherited From:
当前视口的宽度.
Type:
  • number

Methods

addListener(event, fn, contextopt) → {this}

Since:
  • 3.0.0
Inherited From:
为给定事件添加侦听器.
Parameters:
Name Type Attributes Default Description
event string | symbol 事件名称.
fn function 侦听器函数.
context * <optional>
this 用来调用侦听器的上下文.
Returns:
`this`.
Type
this

batchQuad(gameObject, x0, y0, x1, y1, x2, y2, x3, y3, u0, v0, u1, v1, tintTL, tintTR, tintBL, tintBR, tintEffect, textureopt, unitopt) → {boolean}

Since:
  • 3.50.0
Inherited From:
将顶点数据添加到批处理中,如果已满,则进行刷新. 假设有6个顶点,排列如下: ``` 0----3 |\ B| | \ | | \ | | A \| | \ 1----2 ``` 其中tx0/ty0 = 0,tx1/ty1 = 1,tx2/ty2 = 2,tx3/ty3 = 3
Parameters:
<
Name Type Attributes Default Description
gameObject Phaser.GameObjects.GameObject | null 游戏对象,如果有的话,画这个方块.
x0 number 左上角的x位置.
y0 number 左上角的y位置.
x1 number 左下角的x位置.
y1 number 左下角的y位置.
x2 number 右下角的x位置.