Я хотел бы взять объект WebGLTexture, в который я рендерился, и использовать его для создания HTML-элемента изображения.Цель состоит в том, чтобы отобразить результат прохода закадрового рендеринга для целей отладки.Мой текущий метод отладки должен быть намного проще, чем рендеринг текстуры в полноэкранный квад.
Создание текстуры из элемента изображения в WebGL действительно просто:
var image = new Image();
image.src = "myImg.jpg";
// image loads...
var texture = gl.createTexture();
gl.bindTexture(texture);
gl.texImage2D(_gl.TEXTURE_2D, 0, _gl.RGBA, _gl.RGBA, _gl.UNSIGNED_BYTE, image);
Изображениезагрузка и декодирование полностью о вас позаботятся.
Есть ли такой же простой способ сделать обратное?то есть:
// This doesn't work
var img = new Image(texture);
// But maybe this could
var img = createImageFromTexture(texture);
function createImageFromTexture(texture) {
// ... some combination of tricks ...
}
Если есть способ сделать это, я уверен, что он будет полезен в контекстах вне отладки.Я буду продолжать проверять, смогу ли я найти способ сделать это, но я чувствую, что кто-то уже пытался сделать это раньше.