Я использую three.js r73. У меня есть фрагмент затенение, отображение видеокадров с линией, как это:three.js: захватить видеокадр для последующего использования
gl_FragColor = texture2D(iChannel0, uv);
Я хотел бы еще форму (скажем, iChannel1) содержать видеокадр, который был показан на более раннем этапе. (Затем я сделаю маскировку между iChannel0 и iChannel1, чтобы сделать обнаружение движения/обнаружение края и т. Д.).
Я пробовал различные подходы к этому, но не повезло.
Я полагаю, что мне нужно клонировать текстуру видео как-то в javascript, а затем назначить ее iChannel1, но я не знаю, как захватить фрейм.
Я думаю, я мог бы захватить содержимое холста, но на холсте могут быть другие шумы, которые я не хочу. Я действительно хочу, чтобы видеокадра не была холстом. Также перемещение через захват холста кажется очень крутым. Я чувствую, что мне просто не хватает какого-либо вызова API, чтобы захватить текущий видеокадр таким образом, что я могу создать текстуру, которую будет использовать iChannel1.
Я посмотрел на UniformsUtils, но это тоже не похоже на трюк.