WebGLRenderer

.Renderer.WebGL. WebGLRenderer

WebGLRenderer是一个类,它包含保持 WebGLRenderingContext状态为干净.网络渲染器的主要思想是跟踪 相位器内部的WebGL渲染发生的任何上下文变化.这意味着 如果在相位器网络gl的网络GLRenderer之外调用原始网络GL函数 渲染生态系统它们可能会污染当前的网页渲染上下文状态 意想不到的行为.建议通过以下方式进行WebGL交互 WebGLRenderer和/或WebGLPipeline.

Constructor

new WebGLRenderer(game)

Since:
  • 3.0.0
Parameters:
Name Type Description
game Phaser.Game 拥有此WebGL渲染器的游戏实例.

Extends

Members

(readonly) blankTexture :WebGLTexture

Since:
  • 3.12.0
空白32x32透明纹理,由图形系统在需要时使用. 这是在 `boot` 方法中设置的.
Type:
  • WebGLTexture

blendModes :array

Since:
  • 3.0.0
Default Value:
  • []
WebGL渲染器支持的混合模式数组. 该数组包括默认混合模式以及通过#addBlendMode添加的任何自定义混合模式.
Type:
  • array

canvas :HTMLCanvasElement

Since:
  • 3.0.0
此WebGL渲染器绘制到的画布.
Type:
  • HTMLCanvasElement

compression :Phaser.Types.Renderer.WebGL.WebGLTextureCompression

Since:
  • 3.8.0
存储支持的WebGL纹理压缩格式.
Type:

config :object

Since:
  • 3.0.0
此WebGL渲染器的本地配置设置.
Type:
  • object

contextLost :boolean

Since:
  • 3.0.0
Default Value:
  • false
如果渲染器的WebGL上下文丢失,此属性设置为 `true` .
Type:
  • boolean

contextLostHandler :function

Since:
  • 3.19.0
上下文丢失时要调用的处理程序. 这不应该更改,而是在引导方法中设置的.
Type:
  • function

contextRestoredHandler :function

Since:
  • 3.19.0
上下文恢复时要调用的处理程序. 这不应该更改,而是在引导方法中设置的.
Type:
  • function

currentActiveTexture :number

Since:
  • 3.1.0
上次使用的纹理单元的缓存值.
Type:
  • number

currentBlendMode :number

Since:
  • 3.0.0
当前使用的混合模式
Type:
  • number

currentCameraMask :any

Since:
  • 3.17.0
跟踪当前设置的摄像机遮罩的内部属性.
Type:
  • any

currentFramebuffer :WebGLFramebuffer

Since:
  • 3.0.0
Default Value:
  • null
当前绑定的帧缓冲区正在使用.
Type:
  • WebGLFramebuffer

currentMask :any

Since:
  • 3.17.0
跟踪当前设置的掩码的内部属性.
Type:
  • any

currentProgram :WebGLProgram

Since:
  • 3.0.0
Default Value:
  • null
当前正在使用的WebGLProgram.
Type:
  • WebGLProgram

currentScissor :Uint32Array

Since:
  • 3.0.0
存储当前剪式数据
Type:
  • Uint32Array

currentScissorEnabled :boolean

Since:
  • 3.0.0
Default Value:
  • false
指示是否在WebGLRenderingContext中启用了剪式状态
Type:
  • boolean

currentType :string

Since:
  • 3.19.0
当前正在渲染的游戏对象的 `type` . 这可以由高级渲染函数用于批处理前瞻.
Type:
  • string

(readonly) drawingBufferHeight :number

Since:
  • 3.11.0
缓存的绘图缓冲区高度,以减少gl调用.
Type:
  • number

extensions :object

Since:
  • 3.0.0
Default Value:
  • {}
加载到当前上下文中的网络总帐扩展.
Type:
  • object

fboStack :Array.<WebGLFramebuffer>

Since:
  • 3.50.0
将帧缓冲区对象推入并弹出的堆栈.
Type:
  • Array.<WebGLFramebuffer>

finalType :boolean

Since:
  • 3.50.0
当前正在渲染的游戏对象是列表中的最后一个吗?
Type:
  • boolean

game :Phaser.Game

Since:
  • 3.0.0
拥有此WebGL渲染器的游戏实例.
Type:

gl :WebGLRenderingContext

Since:
  • 3.0.0
Default Value:
  • null
渲染器的基础WebGL上下文.
Type:
  • WebGLRenderingContext

glFormats :array

Since:
  • 3.2.0
Default Value:
  • []
存储当前的WebGL组件格式供进一步使用.
Type:
  • array

glFuncMap :any

Since:
  • 3.17.0
统一查找的内部gl函数映射. https://developer.mozilla.org/en-US/docs/Web/API/WebGLRenderingContext/uniform
Type:
  • any

height :number

Since:
  • 3.0.0
要渲染到的画布的高度. 这在onResize事件处理程序中填充.
Type:
  • number

instancedArraysExtension :ANGLE_instanced_arrays

Since:
  • 3.50.0
Default Value:
  • null
如果浏览器支持 `ANGLE_instanced_arrays` 扩展,此属性将保持不变 对它的glExtension的引用.
Type:
  • ANGLE_instanced_arrays

isBooted :boolean

Since:
  • 3.50.0
这个渲染器已经完全启动了吗?
Type:
  • boolean

isTextureClean :boolean

Since:
  • 3.51.0
WebGL纹理是否处于默认状态? 用于避免持续的总帐绑定.
Type:
  • boolean

maskCount :number

Since:
  • 3.17.0
当前堆叠的掩码总数.
Type:
  • number

maskStack :Array.<Phaser.Display.Masks.GeometryMask>

Since:
  • 3.17.0
面具堆.
Type:

maxTextures :number

Since:
  • 3.50.0
GPU可以处理的纹理的最大数量.WebGL1规范下的最小值为8. 这是通过游戏配置 `maxTextures` 属性设置的,启动后不应更改.
Type:
  • number

mipmapFilter :GLenum

Since:
  • 3.21.0
创建纹理时使用的mipmap magFilter. 您可以在游戏配置中将其指定为字符串,即.: `renderer: { mipmapFilter: 'NEAREST_MIPMAP_LINEAR' }` WebGL1的6个选项按计算成本从低到高的顺序是: NEAREST (针对像素艺术) LINEAR (the default) NEAREST_MIPMAP_NEAREST LINEAR_MIPMAP_NEAREST NEAREST_MIPMAP_LINEAR LINEAR_MIPMAP_LINEAR Mipmaps只适用于大小完全为2次方的纹理. 有关更多详细信息,请参见 https://webglfundamentals.org/webgl/lessons/webgl-3d-textures.html
Type:
  • GLenum

newType :boolean

Since:
  • 3.19.0
游戏对象的 `type` 是否与当前渲染的不同 显示列表中对象的类型?即.它是`new`类型.
Type:
  • boolean

nextTypeMatch :boolean

Since:
  • 3.19.0
显示列表中下一个游戏对象的 `type` 是否匹配 当前正在渲染的对象的.
Type:
  • boolean

(nullable) normalTexture :WebGLTexture

Since:
  • 3.50.0
纹理单元1处的当前绑定法线贴图纹理(如果有).
Type:
  • WebGLTexture

pipelines :Phaser.Renderer.WebGL.PipelineManager

Since:
  • 3.50.0
管道管理器类的一个实例,处理所有的网络总帐管道. 使用它来管理您与管道的所有交互,例如添加,获取, 设置和渲染它们. 管道管理器类在 `init` 方法中创建,然后填充 在 `boot` 方法中使用管道. 在Phaser 3.50.0之前,这只是一个普通的JavaScript对象,而不是一个类.
Type:

projectionHeight :number

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

projectionMatrix :Phaser.Math.Matrix4

Since:
  • 3.50.0
全局游戏投影矩阵,由着色器用作 `uProjectionMatrix` 统一.
Type:

projectionWidth :number

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

renderTarget :Phaser.Renderer.WebGL.RenderTarget

Since:
  • 3.50.0
一个渲染目标,可用于捕获渲染器的当前状态. 渲染目标封装了一个帧缓冲区和纹理.
Type:

scissorStack :Uint32Array

Since:
  • 3.0.0
剪刀数据堆栈
Type:
  • Uint32Array

snapshotState :Phaser.Types.Renderer.Snapshot.SnapshotState

Since:
  • 3.0.0
当前计划快照的详细信息. 如果在此对象中设置了非空的 `callback` ,将在当前帧完全渲染后拍摄画布的快照.
Type:

startActiveTexture :number

Since:
  • 3.50.0
包含当前启动的活动纹理单元. 该值会不断更新,您的代码应该将其视为只读.
Type:
  • number

supportedExtensions :Array.<string>

Since:
  • 3.0.0
Default Value:
  • null
字符串数组,指示浏览器支持哪些WebGL扩展. 这在 `boot` 方法中填充.
Type:
  • Array.<string>

tempTextures :array

Since:
  • 3.50.0
默认临时WebGL纹理的数组. 该阵列在初始化阶段被填充,并且在引导后不应该被改变.
Type:
  • array

textureFlush :number

Since:
  • 3.50.0
由于纹理单元耗尽,渲染器必须刷新此帧的次数.
Type:
  • number

textureIndexes :array

Since:
  • 3.50.0
一个可用的WebGL纹理单元数组,用于填充uSampler制服. 该阵列在初始化阶段被填充,并且在引导后不应该被改变.
Type:
  • array

(nullable) textureZero :WebGLTexture

Since:
  • 3.50.0
纹理单位为零时的当前绑定纹理(如果有).
Type:
  • WebGLTexture

type :number

Since:
  • 3.0.0
一个常量,它允许渲染器很容易地被识别为一个WebGL渲染器.
Type:
  • number

vaoExtension :OES_vertex_array_object

Since:
  • 3.50.0
Default Value:
  • null
如果浏览器支持 `OES_vertex_array_object` 扩展,此属性将保持不变 对它的glExtension的引用.
Type:
  • OES_vertex_array_object

(readonly) whiteTexture :WebGLTexture

Since:
  • 3.50.0
纯白色4x4纹理,由图形系统在需要时使用. 这是在 `boot` 方法中设置的.
Type:
  • WebGLTexture

width :number

Since:
  • 3.0.0
要渲染到的画布的宽度. 这在onResize事件处理程序中填充.
Type:
  • number

Methods

addBlendMode(func, equation) → {number}

Since:
  • 3.0.0
为渲染器创建新的自定义混合模式. 参见https://developer.Mozilla.org/en-US/docs/Web/API/WebGL_API/Constants # Blending_modes
Parameters:
Name Type Description
func Array.<GLenum> 一个数组,包含分别用于源和目标混合因子的WebGL函数.请参见WebGLRenderingContext#blendFunc()的可能常量.
equation GLenum 用于将新像素的RGB和alpha分量与渲染像素相结合的等式.请参见WebGLRenderingContext#blendEquation()的可能常量.
Returns:
新混合模式的索引,用于将来引用它.
Type
number

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

beginCapture(widthopt, heightopt)

Since:
  • 3.50.0
绑定WebGL渲染器渲染目标,因此所有绘制的内容现在都被重定向到它. 完成后,请务必调用 `endCapture` .
Parameters:
Name Type Attributes Description
width number <optional>
渲染目标的可选新宽度.
height number <optional>