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() và 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
getReflectionCubeMap(lightProbe)
Tham số
lightProbe-
Đối tượng
XRLightProbeđược trả về khi gọiXRSession.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.
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> |