WebGLRenderingContext: stencilFuncSeparate() method

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.

Note: This feature is available in Web Workers.

Phương thức WebGLRenderingContext.stencilFuncSeparate() của WebGL API thiết lập chức năng mặt trước và/hoặc mặt sau và giá trị tham chiếu cho việc kiểm tra stencil.

stencilling cho phép và vô hiệu hóa việc vẽ trên cơ sở từng pixel. Nó thường được sử dụng trong kết xuất nhiều lượt để đạt được các hiệu ứng đặc biệt.

Cú pháp

js
stencilFuncSeparate(face, func, ref, mask)

Thông số

face

Một GLenum xác định trạng thái stencil mặt trước và/hoặc mặt sau là được cập nhật. Các giá trị có thể là:

  • gl.FRONT
  • gl.BACK
  • gl.FRONT_AND_BACK
func

Một GLenum chỉ định chức năng kiểm tra. Chức năng mặc định là gl.ALWAYS. Các giá trị có thể là:

  • gl.NEVER: Không bao giờ vượt qua.
  • gl.LESS: Đạt nếu (ref & mask) < (stencil & mask).
  • gl.EQUAL: Đạt nếu (ref & mask) = (stencil & mask).
  • gl.LEQUAL: Đạt nếu (ref & mask) <= (stencil & mask).
  • gl.GREATER: Đạt nếu (ref & mask) > (stencil & mask).
  • gl.NOTEQUAL: Đạt nếu (ref & mask) !== (stencil & mask).
  • gl.GEQUAL: Đạt nếu (ref & mask) >= (stencil & mask).
  • gl.ALWAYS: Luôn đậu.
ref

A GLint chỉ định giá trị tham chiếu cho thử nghiệm stencil. Cái này giá trị được giới hạn trong phạm vi từ 0 đến 2^n - 1 trong đó n là số mặt phẳng bit trong bộ đệm stencil. Giá trị mặc định là 0.

mask

Một GLuint chỉ định một mặt nạ bit khôn ngoan được sử dụng để VÀ tham chiếu giá trị và giá trị stencil được lưu trữ khi quá trình kiểm tra được thực hiện. Giá trị mặc định đều là 1.

Giá trị trả về

Không có (undefined).

Ví dụ

Việc kiểm tra stencil bị tắt theo mặc định. Để bật hoặc tắt kiểm tra stencil, hãy sử dụng các phương thức enable()disable() với đối số gl.STENCIL_TEST.

js
gl.enable(gl.STENCIL_TEST);
gl.stencilFuncSeparate(gl.FRONT, gl.LESS, 0.2, 1110011);

Để có được hàm stencil hiện tại, giá trị tham chiếu hoặc thông tin stencil khác, hãy truy vấn các hằng số sau bằng getParameter().

js
gl.getParameter(gl.STENCIL_FUNC);
gl.getParameter(gl.STENCIL_VALUE_MASK);
gl.getParameter(gl.STENCIL_REF);
gl.getParameter(gl.STENCIL_BACK_FUNC);
gl.getParameter(gl.STENCIL_BACK_VALUE_MASK);
gl.getParameter(gl.STENCIL_BACK_REF);
gl.getParameter(gl.STENCIL_BITS);

Thông số kỹ thuật

Specification
WebGL Specification
# 5.14.3

Khả năng tương thích của trình duyệt

Xem thêm