Как отобразить iframe в виде текстуры в A-Frame?

Я хочу отображать веб-страницы как 2D-контент со сценой VR. Могу ли я использовать элемент <iframe> в качестве источника текстуры в WebGL/three.js в https://aframe.io?


person ngokevin    schedule 29.03.2016    source источник


Ответы (2)


Вы не можете использовать iframes или любой другой HTML-элемент внутри WebGL, так как это представляет угрозу безопасности. Люди могли читать пароли и другую личную информацию из текстур.

однако вы можете найти творческие решения, подобные этому one, который является первым поиском в гугле "iframe webgl".

Вы делаете это, помещая iframe за холст webgl, используя 3D-математику вырезать дыру (рисовать прозрачные пиксели), где вам нужно, чтобы iframe просвечивал, используя 2d-плоскость, представляющую iframe. Затем используйте 3D css, чтобы расположить элемент iframe в соответствии с плоскостью.

person gman    schedule 30.03.2016
comment
Обратите внимание, что это не будет работать для VR, стереоскопических режимов и не может быть затенено. Так что это не очень полезно. - person ngokevin; 17.08.2016

Нет. В настоящее время из-за ограничений браузера <iframe>s нельзя отображать в A-Frame, использовать в качестве текстуры или смешивать с WebGL или WebVR.

Хотя можно наложить iframe поверх сцены, он не будет правильно отображаться в стереоскопическом режиме (VR) с правильным искажением и не будет должным образом затенен.

person ngokevin    schedule 29.03.2016