Difference between revisions of "FSOSS 2010/processing.js/texture1"
Line 5: | Line 5: | ||
*/ | */ | ||
import processing.opengl.*; | import processing.opengl.*; | ||
− | |||
− | |||
− | |||
+ | /* @pjs preload="processing.png"; */ | ||
+ | |||
+ | PImage crateImage; | ||
+ | |||
void setup() | void setup() | ||
{ | { | ||
size(400, 400, OPENGL); | size(400, 400, OPENGL); | ||
− | + | crateImage = loadImage("processing.png"); | |
textureMode(NORMALIZED); | textureMode(NORMALIZED); | ||
} | } | ||
+ | |||
+ | |||
+ | void drawBox(PImage img){ | ||
+ | background(200); | ||
− | |||
− | |||
beginShape(QUADS); | beginShape(QUADS); | ||
− | + | ||
− | texture( | + | texture(img); |
− | + | ||
// -Z "back" face | // -Z "back" face | ||
vertex( 1, -1, -1, 0, 0); | vertex( 1, -1, -1, 0, 0); | ||
Line 27: | Line 30: | ||
vertex(-1, 1, -1, 1, 1); | vertex(-1, 1, -1, 1, 1); | ||
vertex( 1, 1, -1, 0, 1); | vertex( 1, 1, -1, 0, 1); | ||
− | + | ||
vertex(-1, -1, 1, 0, 0); | vertex(-1, -1, 1, 0, 0); | ||
vertex( 1, -1, 1, 1, 0); | vertex( 1, -1, 1, 1, 0); | ||
vertex( 1, 1, 1, 1, 1); | vertex( 1, 1, 1, 1, 1); | ||
vertex(-1, 1, 1, 0, 1); | vertex(-1, 1, 1, 0, 1); | ||
− | + | ||
// +Y "bottom" face | // +Y "bottom" face | ||
vertex(-1, 1, 1, 0, 0); | vertex(-1, 1, 1, 0, 0); | ||
Line 38: | Line 41: | ||
vertex( 1, 1, -1, 1, 1); | vertex( 1, 1, -1, 1, 1); | ||
vertex(-1, 1, -1, 0, 1); | vertex(-1, 1, -1, 0, 1); | ||
− | + | ||
// -Y "top" face | // -Y "top" face | ||
vertex(-1, -1, -1, 0, 0); | vertex(-1, -1, -1, 0, 0); | ||
Line 44: | Line 47: | ||
vertex( 1, -1, 1, 1, 1); | vertex( 1, -1, 1, 1, 1); | ||
vertex(-1, -1, 1, 0, 1); | vertex(-1, -1, 1, 0, 1); | ||
− | + | ||
// +X "right" face | // +X "right" face | ||
vertex( 1, -1, 1, 0, 0); | vertex( 1, -1, 1, 0, 0); | ||
Line 50: | Line 53: | ||
vertex( 1, 1, -1, 1, 1); | vertex( 1, 1, -1, 1, 1); | ||
vertex( 1, 1, 1, 0, 1); | vertex( 1, 1, 1, 0, 1); | ||
− | + | ||
// -X "left" face | // -X "left" face | ||
vertex(-1, -1, -1, 0, 0); | vertex(-1, -1, -1, 0, 0); | ||
Line 56: | Line 59: | ||
vertex(-1, 1, 1, 1, 1); | vertex(-1, 1, 1, 1, 1); | ||
vertex(-1, 1, -1, 0, 1); | vertex(-1, 1, -1, 0, 1); | ||
− | + | ||
endShape(); | endShape(); | ||
} | } | ||
− | + | ||
− | + | ||
void draw() | void draw() | ||
{ | { | ||
background(0); | background(0); | ||
+ | stroke(255); | ||
// center in the canvas | // center in the canvas | ||
Line 69: | Line 73: | ||
rotateY(radians(45)); | rotateY(radians(45)); | ||
− | + | ||
rotateX( frameCount/250.0f ); | rotateX( frameCount/250.0f ); | ||
− | + | ||
scale(50); | scale(50); | ||
− | + | ||
− | drawBox( | + | drawBox(crateImage); |
} | } | ||
</source> | </source> | ||
+ | [http://matrix.senecac.on.ca/~asalga/pjswebide/index.php?sketchID=34 Run me] |
Revision as of 13:08, 27 October 2010
/*
FSOSS 2010
Andor Salga
*/
import processing.opengl.*;
/* @pjs preload="processing.png"; */
PImage crateImage;
void setup()
{
size(400, 400, OPENGL);
crateImage = loadImage("processing.png");
textureMode(NORMALIZED);
}
void drawBox(PImage img){
background(200);
beginShape(QUADS);
texture(img);
// -Z "back" face
vertex( 1, -1, -1, 0, 0);
vertex(-1, -1, -1, 1, 0);
vertex(-1, 1, -1, 1, 1);
vertex( 1, 1, -1, 0, 1);
vertex(-1, -1, 1, 0, 0);
vertex( 1, -1, 1, 1, 0);
vertex( 1, 1, 1, 1, 1);
vertex(-1, 1, 1, 0, 1);
// +Y "bottom" face
vertex(-1, 1, 1, 0, 0);
vertex( 1, 1, 1, 1, 0);
vertex( 1, 1, -1, 1, 1);
vertex(-1, 1, -1, 0, 1);
// -Y "top" face
vertex(-1, -1, -1, 0, 0);
vertex( 1, -1, -1, 1, 0);
vertex( 1, -1, 1, 1, 1);
vertex(-1, -1, 1, 0, 1);
// +X "right" face
vertex( 1, -1, 1, 0, 0);
vertex( 1, -1, -1, 1, 0);
vertex( 1, 1, -1, 1, 1);
vertex( 1, 1, 1, 0, 1);
// -X "left" face
vertex(-1, -1, -1, 0, 0);
vertex(-1, -1, 1, 1, 0);
vertex(-1, 1, 1, 1, 1);
vertex(-1, 1, -1, 0, 1);
endShape();
}
void draw()
{
background(0);
stroke(255);
// center in the canvas
translate(width/2, height/2, 150);
rotateY(radians(45));
rotateX( frameCount/250.0f );
scale(50);
drawBox(crateImage);
}