Added CameraLight example

This commit is contained in:
codeanticode
2011-02-28 05:08:08 +00:00
parent dbe5c2a549
commit f28f0521fd

View File

@@ -0,0 +1,44 @@
// CameraLight, by Andres Colubri
// Simple example showing a lit rotating cube. The projection
// is set to orthographic if the mouse is pressed.
import processing.opengl2.*;
float spin = 0.0;
void setup() {
size(400, 400, OPENGL2);
noStroke();
}
void draw() {
background(51);
lights();
if (mousePressed) {
// The arguments of ortho are specified in screen coordinates, where (0,0)
// is the upper left corner of the screen
ortho(0, width, 0, height);
} else {
float fov = PI/3.0;
float cameraZ = (height/2.0) / tan(fov/2.0);
perspective(fov, float(width)/float(height),
cameraZ/2.0, cameraZ*2.0);
}
spin += 0.01;
pushMatrix();
translate(width/2, height/2, 0);
rotateX(PI/9);
rotateY(PI/5 + spin);
box(100);
popMatrix();
}