XRWebGLBinding: phương thức getReflectionCubeMap()

Khả dụng hạn chế

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

Phương thức getReflectionCubeMap() của giao diện XRWebGLBinding trả về đối tượng WebGLTexture chứa kết cấu bản đồ khối phản chiếu.

Định dạng kết cấu được xác định bởi reflectionFormat của phiên. Xem tham số options trên XRSession.requestLightProbe()XRSession.preferredReflectionFormat để biết thêm chi tiết. Theo mặc định, định dạng srgba8 được sử dụng. Khi sử dụng định dạng rgba16f, bạn cần phải nằm trong ngữ cảnh WebGL 2.0 hoặc kích hoạt phần mở rộng OES_texture_half_float trong các ngữ cảnh WebGL 1.0.

Cú pháp

js
getReflectionCubeMap(lightProbe)

Tham số

lightProbe

Đối tượng XRLightProbe được trả về khi gọi XRSession.requestLightProbe().

Giá trị trả về

Đối tượng WebGLTexture.

Ví dụ

Thông thường bạn gọi getReflectionCubeMap() bất cứ khi nào sự kiện reflectionchange được kích hoạt trên một light probe để lấy bản đồ khối được cập nhật. Điều này ít tốn kém hơn so với việc lấy thông tin ánh sáng với mỗi XRFrame.

Nếu định dạng rgba16f được sử dụng, hãy kích hoạt phần mở rộng OES_texture_half_float trong các ngữ cảnh WebGL 1.0.

js
const glBinding = new XRWebGLBinding(xrSession, gl);
gl.getExtension("OES_texture_half_float"); // nếu rgba16f là preferredReflectionFormat

xrSession.requestLightProbe().then((lightProbe) => {
  lightProbe.addEventListener("reflectionchange", () => {
    glBinding.getReflectionCubeMap(lightProbe);
  });
});

Thông số kỹ thuật

Thông số kỹ thuật
WebXR Lighting Estimation API Level 1
# dom-xrwebglbinding-getreflectioncubemap

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

Xem thêm