XRSession: requestLightProbe() 方法
XRSession 接口的 requestLightProbe() 方法返回一个 Promise,该 Promise 会解析为一个 XRLightProbe 对象,用于估算用户环境中特定点的光照信息。
语法
js
requestLightProbe()
requestLightProbe(options)
参数
options可选-
一个包含配置选项的对象,具体来说是
reflectionFormat-
内部反射格式,指示纹理数据的表示方式,可以是
srgba8(默认值)或rgba16f。另请参阅XRSession.preferredReflectionFormat。
返回值
一个 Promise,该 Promise 会解析为一个 XRLightProbe 对象。
异常
requestLightProbe() 不会抛出真正的异常,而是会使用 DOMException 来拒绝返回的 Promise,具体来说是以下其中一种:
NotSupportedErrorDOMException-
如果在
XRSystem.requestSession()中未启用lighting-estimation功能,或者reflectionFormat不是srgb8或preferredReflectionFormat,则抛出此异常。 InvalidStateErrorDOMException-
如果会话已结束,则会抛出此异常。
示例
使用系统首选格式请求光照探针
默认格式是 srgb8,但是,一些渲染引擎可能会使用其他(高动态范围)格式。您可以使用 XRSession.preferredReflectionFormat 来请求光照探针,该属性会报告首选的内部格式。
js
const lightProbe = await xrSession.requestLightProbe({
reflectionFormat: xrSession.preferredReflectionFormat,
});
规范
| 规范 |
|---|
| WebXR 光照估算 API Level 1 # dom-xrsession-requestlightprobe |
浏览器兼容性
加载中…