У меня есть видео-текстура, которую, очевидно, необходимо обновить / перекрасить, чтобы кадр за кадром отображался как видео в моей сцене Three. js:
let video_geometry = new THREE.CircleGeometry(150, 32);
let video = document.getElementById('video');
video.play();
let video_texture = new THREE.VideoTexture(video);
video_texture.minFilter = THREE.LinearFilter;
video_texture.magFilter = THREE.LinearFilter;
video_texture.format = THREE.RGBFormat;
video_texture.repeat.set(0.6, 1);
let video_material = new THREE.MeshLambertMaterial({ color: 0xffffff, map: video_texture });
let circle_mesh = new THREE.Mesh(video_geometry, video_material);
scene.add(circle_mesh);
let animate = ()=>{
requestAnimationFrame(animate);
renderer.render(scene, camera); // can I here only rerender the circle_mesh?
}
animate();
Как я могу только заново визуализировать объект с видео, а не со всей сценой, которая вообще не изменилась для сохранения производительности?