//import processing.opengl.*; PImage tex; float rotX = PI/4; float rotY = PI/4; int zoom = 100; void setup() { size(500,300,P3D); tex = loadImage("textur.jpg"); textureMode(IMAGE); noStroke(); } void draw() { background(0); lights(); directionalLight(51, 102, 126, -1, 0, 0); directionalLight(51, 102, 126, 0, -1, 0); translate(width/2, height/2, -100); rotateX(rotX); rotateY(rotY); scale(zoom); beginShape(QUADS); texture(tex); // +Z "front" face / 1 vertex(-1, -1, 1, 0, 1); vertex( 1, -1, 1, 99, 1); vertex( 1, 1, 1, 99, 100); vertex(-1, 1, 1, 0, 100); // -Z "back" face / 6 vertex( 1, -1, -1, 0, 500); vertex(-1, -1, -1, 99, 500); vertex(-1, 1, -1, 99, 599); vertex( 1, 1, -1, 0, 599); // +Y "bottom" face / 2 vertex(-1, 1, 1, 0, 100); vertex( 1, 1, 1, 99, 100); vertex( 1, 1, -1, 99, 200); vertex(-1, 1, -1, 0, 200); // -Y "top" face / 5 vertex(-1, -1, -1, 0, 400); vertex( 1, -1, -1, 99, 400); vertex( 1, -1, 1, 99, 500); vertex(-1, -1, 1, 0, 500); // +X "right" face / 4 vertex( 1, -1, 1, 0, 300); vertex( 1, -1, -1, 99, 300); vertex( 1, 1, -1, 99, 400); vertex( 1, 1, 1, 0, 400); // -X "left" face / 3 vertex(-1, -1, -1, 0, 200); vertex(-1, -1, 1, 99, 200); vertex(-1, 1, 1, 99, 300); vertex(-1, 1, -1, 0, 300); endShape(CLOSE); } void mouseDragged() { float rate = 0.01; rotX += (pmouseY-mouseY) * rate; rotY += (mouseX-pmouseX) * rate; } void keyPressed() { if (keyCode == UP) { zoom = abs(zoom)+5; } if (keyCode == DOWN) { zoom = abs(zoom)-5; } }