Thanks for your feedback, Jeff! My comments below...
On 2016-01-04 2:50 PM, Jeff Gilbert wrote: > WEBGL_dynamic_texture is due for a pruning refactor (I think I'm on > the hook for this), so don't base anything on it as-is. I'm glad I checked with you first. I would be interested in any alternatives that might be on the horizon. > > IIRC, we don't believe WEBGL_security_sensitive_resources is viably > implementable in a safe way (timing attacks!), so I suggest ignoring > it. Perhaps enforcing a CORS-like model would be simpler to secure, by limiting what content you can get handles for? > > Extending texture uploads to allow dom::Element uploads is easily done > from a technical standpoint, but doing it efficiently will take novel > non-trivial work. (not every dom::Element has a Layer/Image) Agree. Perhaps we could make the problem simpler by forcing an element to have a layer when it is captured? Perhaps similar to will-change. > > Adding picking to WebGL is a non-starter. I suspect that most of the picking / interactivity could be implemented in JS. Some extensions may make this more efficient by enabling content to perform picking asynchronously in a webworker with WEBGL_shared_resources or perhaps by using glQuery and EXT_disjoint_timer_query. > > From an API standpoint, it could be interesting to try to use > ImageBitmaps as handles to snapshots of dom::Elements. This is promising.. I'll explore this a bit. > > I think that it would be most efficient just to have a meeting about > these topics, instead of iterating slower via email. Sounds great, if you don't mind joining in. I'll ping you and get something set up. > > -Jeff Thanks again, Jeff! > > On Mon, Jan 4, 2016 at 1:46 PM, Kearwood "Kip" Gilbert > <kgilb...@mozilla.com> wrote: >> Hello All, >> >> In WebVR, we often present UI as a Head's Up Display (HUD) that floats >> in front of the user. Additionally, we often wish to show 2d graphics, >> video, and CSS animations as a texture in 3d scenes. Creating these >> textures is something that CSS and HTML are great at. >> >> Unfortunately, I am not aware of an easy and efficient way to capture an >> animated of an interactive HTML Element and bring it into the WebGL >> context. A "moz-element" -like API would be useful here. >> >> Perhaps we could solve this by implementing and extending the proposed >> WEBGL_dynamic_texture extension: >> >> https://www.khronos.org/registry/webgl/extensions/proposals/WEBGL_dynamic_texture/ >> >> Essentially, we would extend the same API but allow the WDTStream >> interface to apply to more HTML elements, not just HTMLCanvasElement, >> HTMLImageElement, or HTMLVideoElement. >> >> We would also need to implement WEBGL_security_sensitive_resources to >> enforce the security model: >> >> https://www.khronos.org/registry/webgl/extensions/WEBGL_security_sensitive_resources/ >> >> Does this sound like a good idea? I feel that this is something that >> all WebGL developers would want, as it would make building front-ends >> for games much easier. >> >> If others feel the same, I would also like to follow up with a proposal >> to make the captured HTML elements interactive through use of an >> explicit "pick buffer" added to canvases. >> >> I look forward to your feedback. >> >> Cheers, >> - Kearwood "Kip" Gilbert >> >> _______________________________________________ >> dev-platform mailing list >> dev-platform@lists.mozilla.org >> https://lists.mozilla.org/listinfo/dev-platform _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform