From 7e352ee0223f757f9dca8f46c45757a958d797ca Mon Sep 17 00:00:00 2001 From: Rik Cabanier Date: Tue, 6 Feb 2024 23:36:55 +0000 Subject: [PATCH 1/2] Add access to WebXR depth texture + add example --- examples/files.json | 1 + .../webxr_xr_dragging_custom_depth.jpg | Bin 0 -> 22848 bytes examples/webxr_xr_dragging_custom_depth.html | 456 ++++++++++++++++++ src/renderers/webxr/WebXRDepthSensing.js | 6 + src/renderers/webxr/WebXRManager.js | 6 + 5 files changed, 469 insertions(+) create mode 100644 examples/screenshots/webxr_xr_dragging_custom_depth.jpg create mode 100644 examples/webxr_xr_dragging_custom_depth.html diff --git a/examples/files.json b/examples/files.json index 0b69f8e9829a20..9bbc02eaf617e8 100644 --- a/examples/files.json +++ b/examples/files.json @@ -417,6 +417,7 @@ "webxr_xr_controls_transform", "webxr_xr_cubes", "webxr_xr_dragging", + "webxr_xr_dragging_custom_depth", "webxr_xr_haptics", "webxr_xr_paint", "webxr_xr_sculpt" diff --git a/examples/screenshots/webxr_xr_dragging_custom_depth.jpg b/examples/screenshots/webxr_xr_dragging_custom_depth.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f1771c66083f9ee30c8de71a3d16bec09c12497c GIT binary patch literal 22848 zcmeFYXH-*NxGow*0TD%dC(@(|NE46}73l)fkrtKSdxu0t0TDq!Kx&j;jYzMd_aa?7 zgx(VZA%qZazHjew_TA_Fx%ZCq=Z7u3ja-N^y;X;@^YvIu!-wbxH~fsvA_-ssCxD zcQiMsY5w`}AGck(MoxZ>nv#O@-^>56y31Ao9Tfmi_Jy2`4seBzjGT__vXd-_B;&Pz zMI#CNAC2q^`PFL_lq3;u+$M=lPEHc`8c9;pH^WKS09Wa*(ep??reH95Mak>UDD^hs z2NmCwiZ&+0Q53)QYoB-5shL?=+1Lf{3JM8}$jCmBlUI1C`czF_LsLuJ$k@cx%>0Fg zt)0Dtqm#3Xub+QFU{G*K#QP7CQPCe`5|h3rr=)&MOV7#8%P%M_DlYk5Syf$ATUX!E z-qG3B-P7CGKQ=xwIW_%vW_AU+y0*TtxwXB6KEfQIU{7&pcrpO_f2c$1{}+8oij!UW zXUr-8(TD6xAn72dyLydBl7jxR0p%-i241PRRE$p&epIww=aV)>F}?N~rDo=rSrI`0 zqtd?`{XbLa-Tx4A~c0YCsD!1pU}sQ=ID{|v$Zzh}XfM{I%s z|GVkBjdv7)ECdf+=<<4^V!7phDqTc|wbFGkU(xWBh&@eNyyH!rYLAt!u4#TG);PPw z-}5TIR8*k~FU#E2=Nt1-nbLYJOh4B$DB?+z19#r zm^i=XI@vFEZxhsY?}24hmNPcivNj`BU}LYTb5%;P%kw<`=*c)N-3Q0FQ-49_&!RdIW{nQ*CQ2=ESN!a~<9X&+ zdogc*d?)-6$Lxx~5v2rLZn>>(PIE6j=Ms>bbh^2dM+BaGs|B+uXk~V$zx%#ky0e4K z;Pd?hwFkxQt{gJyqH4_=y5jPAQnehE)D+fpu{Vc7vj8X)R1UY^W-#al+@-h$YRbS_x|Jpz4JE%?j|Gkjx+>e-30sTNe)W&1-wBzV1MjkDo*Kz5rXUSF ziFXly2;3av{r5|6zRhJfo*I2`Y&M^$a4?hcprn*wT=Lqy%&>kMur=BBaK%;%)5+tb zG%{81XdWP~|1n!}%i~VH(|XMFQSI_~v9}&m*29V3b)tkmhY@*%~s z*&$0%O9R;9vr+xu=?=SUV!bM!%wr~sX=LXXcDglDQR@pYf!Hz_BhBYysXj**181TGuv2vWF;-e~QaEXCm0*Y?ra`*WwJNnZ2K(aiC}>Kx^5dg*H;j zY572Ci0@7Qh_-J)RF#%+%SZWsQ_q~_pL@x36+MwdsG#DauGw>|BasWIlmFEpHRn08 z;2S+Y1gO(WA@n<@>b>RrDZ66Q_IfM$0OL(b&mN?)@@ZMbk(VK(fd3 z5f$G%+Sl^3Tg&J=tM+&0QK>TiHlIDxLkb!SlB~5`9pvwg)9#}x4L{HBjq44`?5*-2 zdppY#_Lf8)oW>fvqR&Rl9hEZDq9E>))f&e8Yj-AuZbT5K2VDn@-pZI`uNKz5-e zA^c%ADV~M?A+q4^;*xIC%qf2@URf^_E*CU_N<$rJ^HXI~io0GkUoaSt8nGG!AA=iT zdMW7X=o+>D`5@CM0L`rR9I6@Fc~%=0#z%+F#P3vu(VbNvP%X-Ik32ll;i8wy{n%JqdsQ^z-Z}=@R|CsJoQcM?8|x4(WrO zzib-Yn~^a+snrRi?dvHlbN3h|z+%I0u0VJ?`fChRSm?%O%i;M>(Lesa#Eefif z3#ypwMr4fD6W;NrILHHN5}maTVl6%TD7xoxk*Dnv6j`~}QXIi4I#C}hHU^b7cPJOQ z8em9SLTHbYnu^%)rs*Z1{==%S-}GzYP5;1X8^xA0LjqiCMrT}7A9z17 z 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 S{x3Z(|Ei? + + + three.js xr - dragging with custom depth shader + + + + + + +
+ three.js xr - dragging +
+ + + + + + diff --git a/src/renderers/webxr/WebXRDepthSensing.js b/src/renderers/webxr/WebXRDepthSensing.js index 5f290eeb637db1..9e88df3199360d 100644 --- a/src/renderers/webxr/WebXRDepthSensing.js +++ b/src/renderers/webxr/WebXRDepthSensing.js @@ -99,6 +99,12 @@ class WebXRDepthSensing { } + getDepthTexture() { + + return this.texture; + + } + } export { WebXRDepthSensing }; diff --git a/src/renderers/webxr/WebXRManager.js b/src/renderers/webxr/WebXRManager.js index 4d1dc2f77979f4..16d709eda1806b 100644 --- a/src/renderers/webxr/WebXRManager.js +++ b/src/renderers/webxr/WebXRManager.js @@ -379,6 +379,12 @@ class WebXRManager extends EventDispatcher { }; + this.getDepthTexture = function () { + + return depthSensing.getDepthTexture(); + + }; + function onInputSourcesChange( event ) { // Notify disconnected From 2b2c3493a4696f9c60825ebc0fdcccdd8b0905a9 Mon Sep 17 00:00:00 2001 From: Rik Cabanier Date: Thu, 30 May 2024 22:47:53 +0000 Subject: [PATCH 2/2] rebase + add depthsensing dictionary --- examples/webxr_xr_dragging_custom_depth.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/webxr_xr_dragging_custom_depth.html b/examples/webxr_xr_dragging_custom_depth.html index 9d206f39ca396c..180117f651e8df 100644 --- a/examples/webxr_xr_dragging_custom_depth.html +++ b/examples/webxr_xr_dragging_custom_depth.html @@ -260,7 +260,10 @@ renderer.xr.enabled = true; container.appendChild( renderer.domElement ); - document.body.appendChild( XRButton.createButton( renderer, { 'optionalFeatures': [ 'depth-sensing'] } ) ); + document.body.appendChild( XRButton.createButton( renderer, { + 'optionalFeatures': [ 'depth-sensing' ], + 'depthSensing': { 'usagePreference': [ 'gpu-optimized' ], 'dataFormatPreference': [] } + } ) ); // controllers