OES_texture_half_float_linear 扩展

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

OES_texture_half_float_linear 扩展是 WebGL API 的一部分,它允许对半精度浮点纹理类型进行线性过滤。

可以使用 WebGLRenderingContext.getExtension() 方法来访问 WebGL 扩展。有关更多信息,请参阅 WebGL 教程中的 使用扩展

注意:此扩展仅对 WebGL1 上下文可用。在 WebGL2 中,此扩展的功能默认情况下在 WebGL2 上下文中可用,无需额外扩展。

线性过滤

单独的 OES_texture_half_float 扩展本身并不允许对半精度浮点纹理进行线性过滤。此扩展启用了此功能。

借助此扩展,您现在可以在 WebGLRenderingContext.texParameter() 方法中将放大或缩小滤镜设置为 gl.LINEARgl.LINEAR_MIPMAP_NEARESTgl.NEAREST_MIPMAP_LINEARgl.LINEAR_MIPMAP_LINEAR 之一,并使用半精度浮点纹理。

示例

js
const halfFloat = gl.getExtension("OES_texture_half_float");
gl.getExtension("OES_texture_half_float_linear");

const texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);

gl.texParameterf(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
gl.texImage2D(
  gl.TEXTURE_2D,
  0,
  gl.RGBA,
  gl.RGBA,
  halfFloat.HALF_FLOAT_OES,
  image,
);

规范

规范
WebGL OES_texture_half_float_linear Khronos 批准的扩展规范

浏览器兼容性

另见