OES_standard_derivatives extension

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Phần mở rộng OES_standard_derivatives là một phần của WebGL API và thêm các hàm đạo hàm GLSL dFdx, dFdyfwidth.

Các phần mở rộng WebGL có sẵn bằng cách sử dụng phương thức WebGLRenderingContext.getExtension(). Để biết thêm thông tin, xem Sử dụng Phần mở rộng trong hướng dẫn WebGL.

Note: Phần mở rộng này chỉ có sẵn cho ngữ cảnh WebGL1. Trong WebGL2, chức năng của phần mở rộng này có sẵn theo mặc định. Trong WebGL 2, hằng số có sẵn dưới dạng gl.FRAGMENT_SHADER_DERIVATIVE_HINT và yêu cầu GLSL #version 300 es.

Hằng số

Phần mở rộng này hiển thị một hằng số mới, có thể được sử dụng trong các phương thức hint()getParameter().

ext.FRAGMENT_SHADER_DERIVATIVE_HINT_OES

Một GLenum cho biết độ chính xác của phép tính đạo hàm cho các hàm tích hợp GLSL: dFdx, dFdyfwidth.

Các hàm tích hợp GLSL

Các hàm mới sau có thể được sử dụng trong mã shader GLSL, nếu phần mở rộng này được bật:

c
genType dFdx(genType p)
genType dFdy(genType p)
genType fwidth(genType p)
dFdx()

Trả về đạo hàm theo x bằng cách sử dụng phân biệt cục bộ cho đối số đầu vào p.

dFdy()

Trả về đạo hàm theo y bằng cách sử dụng phân biệt cục bộ cho đối số đầu vào p.

fwidth()

Trả về tổng của đạo hàm tuyệt đối theo xy bằng cách sử dụng phân biệt cục bộ cho đối số đầu vào p. Tức là, abs(dFdx(p)) + abs(dFdy(p)).

Ví dụ

Bật các phần mở rộng:

js
gl.getExtension("OES_standard_derivatives");
gl.getExtension("EXT_shader_texture_lod");

Thông số kỹ thuật

Thông số kỹ thuật
WebGL OES_standard_derivatives Khronos Ratified Extension Specification

Tương thích trình duyệt

Xem thêm