XRWebGLDepthInformation: texture-Eigenschaft
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die schreibgeschützte texture
-Eigenschaft des XRWebGLDepthInformation
-Interfaces ist ein WebGLTexture
, der Tiefenpufferinformationen als eine undurchsichtige Textur enthält.
Wert
Ein WebGLTexture
.
Beispiele
Verwenden Sie XRWebGLBinding.getDepthInformation()
, um die GPU-Tiefeninformation abzurufen. Das zurückgegebene XRWebGLDepthInformation
-Objekt enthält den texture
-Puffer, der dann an eine Textur gebunden werden kann, sodass die Tiefenpufferinformationen einem WebGL-Fragment-Shader zur Verfügung gestellt werden können.
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);
Spezifikationen
Specification |
---|
WebXR Depth Sensing Module # dom-xrwebgldepthinformation-texture |
Browser-Kompatibilität
BCD tables only load in the browser