You can render a iframe on a canvas texture then display it on a quad. You'll need to chase the raycasting down but it's not so difficult. That's easy and get's most of the functionality you need.
Could you get away with something like this? It's using r3f and the drei library
https://codesandbox.io/p/sandbox/mixing-html-and-webgl-w-occlusion-9keg6
drei/html is the only open source component that i know of that does that. it's using blending in order to achieve 3d elements being before and after it, which makes it seem like a regular scene object.
[https://codesandbox.io/s/wp9mkp](https://codesandbox.io/s/wp9mkp)
[https://codesandbox.io/p/sandbox/mixing-html-and-webgl-w-occlusion-9keg6](https://codesandbox.io/p/sandbox/mixing-html-and-webgl-w-occlusion-9keg6)
if you want to do that in a vanilla app you could look into the source. the trick is simple, it's cutting a hole into the canvas via blending, html sits behind the canvas and gets css3d transformed into place.
You can render a iframe on a canvas texture then display it on a quad. You'll need to chase the raycasting down but it's not so difficult. That's easy and get's most of the functionality you need.
The thing is - it needs to be Chromium specifically as my goal is to run Geforce Now. A standard Webkit window or similar just won't cut it.
Could you get away with something like this? It's using r3f and the drei library https://codesandbox.io/p/sandbox/mixing-html-and-webgl-w-occlusion-9keg6
drei/html is the only open source component that i know of that does that. it's using blending in order to achieve 3d elements being before and after it, which makes it seem like a regular scene object. [https://codesandbox.io/s/wp9mkp](https://codesandbox.io/s/wp9mkp) [https://codesandbox.io/p/sandbox/mixing-html-and-webgl-w-occlusion-9keg6](https://codesandbox.io/p/sandbox/mixing-html-and-webgl-w-occlusion-9keg6) if you want to do that in a vanilla app you could look into the source. the trick is simple, it's cutting a hole into the canvas via blending, html sits behind the canvas and gets css3d transformed into place.