👟 Moves render functionality to own functions

This commit is contained in:
Rune Harlyk
2023-08-07 22:19:19 +02:00
parent 6017051324
commit 2f070bed5d
+18 -15
View File
@@ -219,28 +219,31 @@ const handleResize = () => {
camera.updateProjectionMatrix();
}
const handleVideoStream = () => {
if(!isLoaded || !showStream) return
context.drawImage(stream, 0, 0)
texture.needsUpdate = true;
}
const handleRobotShadow = () => {
if(isLoaded) return
const intervalId = setInterval(() => {
robot.traverse(c => c.castShadow = true);
}, 10);
setTimeout(() => {
clearInterval(intervalId)
}, 1000);
isLoaded = true;
}
const render = () => {
requestAnimationFrame(render);
renderer.render(scene, camera);
if(!robot) return
robot.rotation.z = lerp(robot.rotation.z, MathUtils.degToRad($dataBuffer[1]), 0.1)
if(!isLoaded){
const intervalId = setInterval(() => {
robot.traverse(c => c.castShadow = true);
}, 10);
setTimeout(() => {
clearInterval(intervalId)
}, 1000);
isLoaded = true;
}
handleRobotShadow()
if(isLoaded && showStream) {
context.drawImage(stream, 0, 0)
texture.needsUpdate = true;
}
handleVideoStream()
for (let i = 0; i < servoNames.length; i++) {
modelAngles[i] = lerp(robot.joints[servoNames[i]].angle * (180/Math.PI), modelTargetAngles[i], 0.1)