La función draw() en una app de VR se llama dos veces por cuadro, una vez para cada ojo. Esto significa que cualquier código en draw() que solo necesite ejecutarse una vez, se ejecutará en vez dos veces, lo cual puede dar lugar a errores en la animación u otros aspectos del bosquejo. Para solucionar este problema, podemos poner este código dentro de la función calculate(), que se llama una vez por cuadro, justo antes de draw().
import processing.vr.*;
float x, y, z;
void setup() {
fullScreen(VR);
}
void calculate() {
// update position variables, e.g.:
x += 0.1;
y += 0.1;
z += 0.1;
}
void draw() {
translate(x, y, z);
// ...
}