Utils

.Renderer.WebGL. Utils

Since:
  • 3.0.0

Methods

(static) checkShaderMax(gl, maxTextures) → {number}

Since:
  • 3.50.0
根据给定的配置值,查看GPU支持多少纹理单位. 然后用GLSL能够支持的最大迭代次数来测试这一点.
Parameters:
Name Type Description
gl WebGLRenderingContext 用于创建着色器的网络上下文.
maxTextures number 游戏配置最大纹理值.
Returns:
此浏览器和GPU支持的纹理单元数量.
Type
number

(static) getFloatsFromUintRGB(rgb) → {array}

Since:
  • 3.0.0
将Uint24 RGB解包为范围为0.0和1.0的浮动数组.
Parameters:
Name Type Description
rgb number 作为Uint24打包的RGB
Returns:
将每个组件表示为一个浮动的浮动数组
Type
array

(static) getTintAppendFloatAlpha(rgb, a) → {number}

Since:
  • 3.0.0
将代表RGB分量的Uint24与代表 α分量,范围在0.0和1.0之间,返回一个Uint32
Parameters:
Name Type Description
rgb number 代表RGB分量的Uint24
a number 代表阿尔法分量的浮点32
Returns:
包装RGBA为Uint32
Type
number

(static) getTintAppendFloatAlphaAndSwap(rgb, a) → {number}

Since:
  • 3.0.0
将代表RGB分量的Uint24与代表 α分量,范围在0.0和1.0之间,返回 痛饮Uint32
Parameters:
Name Type Description
rgb number 代表RGB分量的Uint24
a number 代表阿尔法分量的浮点32
Returns:
包装RGBA为Uint32
Type
number

(static) getTintFromFloats(r, g, b, a) → {number}

Since:
  • 3.0.0
将0.0到1.0范围内的四个浮点数打包到一个Uint32中
Parameters:
Name Type Description
r number 0.0到1.0范围内的红色成分.
g number 范围从0.0到1.0的绿色成分.
b number 0.0至1.0范围内的蓝色成分.
a number 0.0到1.0范围内的Alpha分量.
Returns:
包装好的RGBA价值32英镑.
Type
number

(static) parseFragmentShaderMaxTextures(fragmentShaderSource, maxTextures) → {string}

Since:
  • 3.50.0
检查给定片段着色器源的 `%计数%` 和 `% forloop %` 声明 用GLSL代码替换那些设置 `texture = texture 2d(umainsimpler[I],outexcode)` .
Parameters:
Name Type Description
fragmentShaderSource string 要操作的片段着色器源代码.
maxTextures number 最大纹理数值.
Returns:
修改后的片段着色器源.
Type
string