Colors WebGL是否支持32位以上的颜色格式?
我似乎找不到任何超过32位(GL.RGBA)的纹理格式。WebGL不支持这一点吗 32位是指每个元素本身是32位,或者每个元素是8位,加起来是32位(8位红色、8位绿色、8位蓝色、8位阿尔法) 在任何情况下,WebGL中都有32位浮点格式的扩展,即32位红色、32位绿色、32位蓝色、32位alpha(128位纹理格式) 这些扩展是Colors WebGL是否支持32位以上的颜色格式?,colors,format,webgl,Colors,Format,Webgl,我似乎找不到任何超过32位(GL.RGBA)的纹理格式。WebGL不支持这一点吗 32位是指每个元素本身是32位,或者每个元素是8位,加起来是32位(8位红色、8位绿色、8位蓝色、8位阿尔法) 在任何情况下,WebGL中都有32位浮点格式的扩展,即32位红色、32位绿色、32位蓝色、32位alpha(128位纹理格式) 这些扩展是 。让我们创建每个通道32位的浮点纹理 让我们为每个通道创建16位半浮点纹理 。使用浮点纹理时,让我们将过滤设置为除gl.NEAREST之外的其他值 。让我们在使用半
- 。让我们创建每个通道32位的浮点纹理
- 让我们为每个通道创建16位半浮点纹理
- 。使用浮点纹理时,让我们将过滤设置为除
之外的其他值gl.NEAREST
- 。让我们在使用半浮点纹理时,将过滤设置为除
之外的其他值gl.NEAREST
var ext = gl.getExtension("OES_texture_float");
if (!ext) {
alertNoFloatSupportOrFallbackToOtherOption();
}
几乎所有桌面GPU都支持所有4个。移动设备通常只支持半格式,有时不支持过滤
此外,大多数移动设备不允许像桌面那样渲染浮动或半浮动纹理。要检查是否有,请以所需格式创建纹理,将其附加到帧缓冲区,然后调用
gl.checkFramebufferStatus
。如果它返回gl.FRAMEBUFFER\u COMPLETE
,则可以渲染到纹理。否则,您只能将其用作源。32位是指每个元素本身为32位,或者每个元素为8位,加起来为32位(8位红色、8位绿色、8位蓝色、8位alpha)
在任何情况下,WebGL中都有32位浮点格式的扩展,即32位红色、32位绿色、32位蓝色、32位alpha(128位纹理格式)
这些扩展是
- 。让我们创建每个通道32位的浮点纹理
- 让我们为每个通道创建16位半浮点纹理
- 。使用浮点纹理时,让我们将过滤设置为除
之外的其他值gl.NEAREST
- 。让我们在使用半浮点纹理时,将过滤设置为除
之外的其他值gl.NEAREST
var ext = gl.getExtension("OES_texture_float");
if (!ext) {
alertNoFloatSupportOrFallbackToOtherOption();
}
几乎所有桌面GPU都支持所有4个。移动设备通常只支持半格式,有时不支持过滤
此外,大多数移动设备不允许像桌面那样渲染浮动或半浮动纹理。要检查是否有,请以所需格式创建纹理,将其附加到帧缓冲区,然后调用
gl.checkFramebufferStatus
。如果它返回gl.FRAMEBUFFER\u COMPLETE
,则可以渲染到纹理。否则,您只能将其用作源。32位是指每个元素本身为32位,或者每个元素为8位,加起来为32位(8位红色、8位绿色、8位蓝色、8位alpha)
在任何情况下,WebGL中都有32位浮点格式的扩展,即32位红色、32位绿色、32位蓝色、32位alpha(128位纹理格式)
这些扩展是
- 。让我们创建每个通道32位的浮点纹理
- 让我们为每个通道创建16位半浮点纹理
- 。使用浮点纹理时,让我们将过滤设置为除
之外的其他值gl.NEAREST
- 。让我们在使用半浮点纹理时,将过滤设置为除
之外的其他值gl.NEAREST
var ext = gl.getExtension("OES_texture_float");
if (!ext) {
alertNoFloatSupportOrFallbackToOtherOption();
}
几乎所有桌面GPU都支持所有4个。移动设备通常只支持半格式,有时不支持过滤
此外,大多数移动设备不允许像桌面那样渲染浮动或半浮动纹理。要检查是否有,请以所需格式创建纹理,将其附加到帧缓冲区,然后调用
gl.checkFramebufferStatus
。如果它返回gl.FRAMEBUFFER\u COMPLETE
,则可以渲染到纹理。否则,您只能将其用作源。32位是指每个元素本身为32位,或者每个元素为8位,加起来为32位(8位红色、8位绿色、8位蓝色、8位alpha)
在任何情况下,WebGL中都有32位浮点格式的扩展,即32位红色、32位绿色、32位蓝色、32位alpha(128位纹理格式)
这些扩展是
- 。让我们创建每个通道32位的浮点纹理
- 让我们为每个通道创建16位半浮点纹理
- 。使用浮点纹理时,让我们将过滤设置为除
之外的其他值gl.NEAREST
- 。让我们在使用半浮点纹理时,将过滤设置为除
之外的其他值gl.NEAREST
var ext = gl.getExtension("OES_texture_float");
if (!ext) {
alertNoFloatSupportOrFallbackToOtherOption();
}
几乎所有桌面GPU都支持所有4个。移动设备通常只支持半格式,有时不支持过滤
此外,大多数移动设备不允许像桌面那样渲染浮动或半浮动纹理。要检查是否有,请以所需格式创建纹理,将其附加到帧缓冲区,然后调用gl.checkFramebufferStatus
。如果它返回gl.FRAMEBUFFER\u COMPLETE
,则可以渲染到纹理。否则,您只能将其用作源