Three.js: текстура в текстуру данных
Я пытаюсь реализовать отложенный просмотр веб-камеры в javascript, используя Three.js для возможностей WebGL.
Мне нужно хранить кадры, полученные с веб-камеры, чтобы они могли отображаться через некоторое время (от нескольких миллисекунд до нескольких секунд). Я могу сделать это без Three.js, используяcanvas
а такжеgetImageData()
, Ты можешь найтипример на jsfidle.
Я пытаюсь найти способ сделать это без холста, но использую Three.jsTexture
или жеDataTexture
объект.Вот пример того, что я пытаюсь, Проблема в том, что я не могу найти, как скопировать изображение изTexture
(image
имеет типHTMLVideoElement
) другому.
ВrotateFrames()
Функция старого кадра должна быть потеряна, а новый заменить, как в FIFO. Но линия
frames[i].image = frames[i + 1].image;
просто копирует ссылку, а не данные текстуры. ПохожеDataTexture
должен сделать это, но я не могу получитьDataTexture
изTexture
или жеHTMLVideoElement
.
Любая идея?
Warning: у вас должна быть камера и позволить браузеру использовать ее для работы примеров. И, очевидно, вы должны иметь обновленный браузер.