OES_texture_float 擴充套件
OES_texture_float 擴充套件是 WebGL API 的一部分,它公開了紋理的浮點畫素型別。
可以使用 WebGLRenderingContext.getExtension() 方法來訪問 WebGL 擴充套件。有關更多資訊,請參閱 WebGL 教程中的 使用擴充套件。
擴充套件的方法
此擴充套件擴充套件了 WebGLRenderingContext.texImage2D() 和 WebGLRenderingContext.texSubImage2D()。
type引數現在接受gl.FLOAT。pixels引數現在接受一個Float32Array。
限制:線性過濾
此擴充套件不允許對浮點紋理進行線性過濾。如果您在 WebGLRenderingContext.texParameter() 方法中將放大或縮小過濾器設定為 gl.LINEAR、gl.LINEAR_MIPMAP_NEAREST、gl.NEAREST_MIPMAP_LINEAR 或 gl.LINEAR_MIPMAP_LINEAR 之一,並使用浮點紋理,則紋理將被標記為不完整。
要對浮點紋理使用線性過濾,除了此擴充套件之外,還需要啟用 OES_texture_float_linear 擴充套件。
浮點顏色緩衝區
此擴充套件會自動啟用 WEBGL_color_buffer_float 擴充套件(如果支援),該擴充套件允許渲染到 32 位浮點顏色緩衝區。
示例
js
const ext = gl.getExtension("OES_texture_float");
const texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.FLOAT, image);
規範
| 規範 |
|---|
| WebGL OES_texture_float Khronos 批准的擴充套件規範 |
瀏覽器相容性
載入中…