WebGL2RenderingContext: phương thức uniform[1234][uif][v]()

Baseline Widely available

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

Note: This feature is available in Web Workers.

Các phương thức WebGL2RenderingContext.uniform[1234][uif][v]() của WebGL API chỉ định giá trị của các biến uniform.

Tên của các phương thức này được tạo thành từ:

  • Số lượng thành phần trong biến uniform (1, 2, 3 hoặc 4).
  • Loại của biến uniform (i cho số nguyên, f cho số thực, ui cho số nguyên không dấu).
  • Sự hiện diện của hậu tố vector (v) cho các loại vector.

Hầu hết các chữ ký này được kế thừa từ WebGL 1 API. WebGL 2 thêm các phiên bản số nguyên không dấu và các tham số srcOffsetsrcLength bổ sung cho các phương thức vector.

Cú pháp

js
uniform1ui(location, v0)
uniform2ui(location, v0, v1)
uniform3ui(location, v0, v1, v2)
uniform4ui(location, v0, v1, v2, v3)

uniform1fv(location, data)
uniform1fv(location, data, srcOffset)
uniform1fv(location, data, srcOffset, srcLength)

uniform2fv(location, data)
uniform2fv(location, data, srcOffset)
uniform2fv(location, data, srcOffset, srcLength)

uniform3fv(location, data)
uniform3fv(location, data, srcOffset)
uniform3fv(location, data, srcOffset, srcLength)

uniform4fv(location, data)
uniform4fv(location, data, srcOffset)
uniform4fv(location, data, srcOffset, srcLength)

uniform1iv(location, data)
uniform1iv(location, data, srcOffset)
uniform1iv(location, data, srcOffset, srcLength)

uniform2iv(location, data)
uniform2iv(location, data, srcOffset)
uniform2iv(location, data, srcOffset, srcLength)

uniform3iv(location, data)
uniform3iv(location, data, srcOffset)
uniform3iv(location, data, srcOffset, srcLength)

uniform4iv(location, data)
uniform4iv(location, data, srcOffset)
uniform4iv(location, data, srcOffset, srcLength)

uniform1uiv(location, data)
uniform1uiv(location, data, srcOffset)
uniform1uiv(location, data, srcOffset, srcLength)

uniform2uiv(location, data)
uniform2uiv(location, data, srcOffset)
uniform2uiv(location, data, srcOffset, srcLength)

uniform3uiv(location, data)
uniform3uiv(location, data, srcOffset)
uniform3uiv(location, data, srcOffset, srcLength)

uniform4uiv(location, data)
uniform4uiv(location, data, srcOffset)
uniform4uiv(location, data, srcOffset, srcLength)

Tham số

location

Một đối tượng WebGLUniformLocation chứa vị trí của thuộc tính uniform sẽ sửa đổi.

data, v0, v1, v2, v3

Một giá trị mới sẽ sử dụng cho biến uniform. Các loại có thể:

  • Một Number cho các giá trị số nguyên không dấu (phương thức với ui), cho giá trị số nguyên (phương thức với i) hoặc cho số thực (phương thức với f).
  • Một Uint32Array (hoặc một Array các số nguyên không dấu) cho các phương thức vector số nguyên không dấu (phương thức với uiv).
  • Một Int32Array (hoặc một Array các số nguyên) cho các phương thức vector số nguyên (phương thức với iv).
  • Một Float32Array (hoặc một Array các số) cho các phương thức vector số thực (phương thức với fv).
srcOffset Optional

Một số nguyên không âm chỉ định chỉ mục của phần tử đầu tiên trong mảng data sẽ sử dụng. Mặc định là 0.

srcLength Optional

Một số nguyên không âm chỉ định số phần tử trong mảng data sẽ sử dụng. Mặc định là 0, được xử lý như data.length - srcOffset.

Giá trị trả về

None (undefined).

Đặc tả kỹ thuật

Specification
WebGL 2.0 Specification
# 3.7.8

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

Xem thêm