XRWebGLBinding:getReflectionCubeMap() 方法
getReflectionCubeMap()
是 XRWebGLBinding
接口的方法,它返回一个包含反射立方体贴图纹理的 WebGLTexture
对象。
纹理格式由会话的 reflectionFormat
指定。有关详细信息,请参阅 XRSession.requestLightProbe()
和 XRSession.preferredReflectionFormat
上的 options
参数。默认情况下,使用 srgba8
格式。当使用 rgba16f
格式时,您需要处于 WebGL 2.0 上下文内,或者在 WebGL 1.0 上下文内启用 OES_texture_half_float
扩展。
语法
js
getReflectionCubeMap(lightProbe)
参数
lightProbe
-
通过调用
XRSession.requestLightProbe()
返回的XRLightProbe
对象。
返回值
一个 WebGLTexture
对象。
示例
通常,每当光探测器上触发 reflectionchange
事件时,您都会调用 getReflectionCubeMap()
以检索更新的立方体贴图。这比使用每个 XRFrame
检索照明信息更经济。
如果使用 rgba16f
格式,请在 WebGL 1.0 上下文中启用 OES_texture_half_float
扩展。
js
const glBinding = new XRWebGLBinding(xrSession, gl);
gl.getExtension("OES_texture_half_float"); // if rgba16f is the preferredReflectionFormat
xrSession.requestLightProbe().then((lightProbe) => {
lightProbe.addEventListener("reflectionchange", () => {
glBinding.getReflectionCubeMap(lightProbe);
});
});
规范
规范 |
---|
WebXR 照明估算 API 级别 1 # dom-xrwebglbinding-getreflectioncubemap |
浏览器兼容性
BCD 表仅在启用了 JavaScript 的浏览器中加载。