XRWebGLDepthInformation:texture 属性
XRWebGLDepthInformation
接口的只读texture
属性是一个 WebGLTexture
,其中包含深度缓冲区信息作为不透明纹理。
值
一个 WebGLTexture
。
示例
使用 XRWebGLBinding.getDepthInformation()
获取 GPU 深度信息。返回的 XRWebGLDepthInformation
对象将包含 texture
缓冲区,然后可以将其绑定到纹理,并将深度缓冲区信息提供给 WebGL 片段着色器。
js
const depthInfo = glBinding.getDepthInformation(view);
const uvTransform = depthInfo.normDepthBufferFromNormView.matrix;
const u_DepthTextureLocation = gl.getUniformLocation(program, "u_DepthTexture");
const u_UVTransformLocation = gl.getUniformLocation(program, "u_UVTransform");
const u_RawValueToMeters = gl.getUniformLocation(program, "u_RawValueToMeters");
gl.bindTexture(gl.TEXTURE_2D, depthInfo.texture);
gl.activeTexture(gl.TEXTURE0);
gl.uniform1i(u_DepthTextureLocation, 0);
// UV transform to correctly index into the depth map
gl.uniformMatrix4fv(u_UVTransformLocation, false, uvTransform);
// scaling factor to convert from the raw number to meters
gl.uniform1f(u_RawValueToMeters, depthInfo.rawValueToMeters);
规范
规范 |
---|
WebXR 深度感知模块 # dom-xrwebgldepthinformation-texture |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。