This page demonstrates Pjs textures
// Demo by Andor Salga import processing.opengl.*; /* @pjs preload="fire.jpg,pjs.jpg"; */ float r = 0.0; float s = 0.0; PImage fire, pjs_; void setup() { size(640, 360, OPENGL); pjs_ = loadImage("pjs.jpg"); fire = loadImage("fire.jpg"); textureMode(NORMALIZED); } void drawBox(PImage img){ beginShape(QUADS); texture(img); stroke(0); if(img == fire){ noStroke(); } // -Z "back" face vertex( 1, -1, -1, 0-s, 0); vertex(-1, -1, -1, 1-s, 0); vertex(-1, 1, -1, 1-s, 1); vertex( 1, 1, -1, 0-s, 1); // +Z "front" face" vertex(-1, -1, 1, 0-s, 0); vertex( 1, -1, 1, 1-s, 0); vertex( 1, 1, 1, 1-s, 1); vertex(-1, 1, 1, 0-s, 1); // +Y "bottom" face vertex(-1, 1, 1, 0+s, 0); vertex( 1, 1, 1, 1+s, 0); vertex( 1, 1, -1, 1+s, 1); vertex(-1, 1, -1, 0+s, 1); // -Y "top" face vertex(-1, -1, -1, 0-s, 0); vertex( 1, -1, -1, 1-s, 0); vertex( 1, -1, 1, 1-s, 1); vertex(-1, -1, 1, 0-s, 1); // +X "right" face vertex( 1, -1, 1, 0-s, 0); vertex( 1, -1, -1, 1-s, 0); vertex( 1, 1, -1, 1-s, 1); vertex( 1, 1, 1, 0-s, 1); // -X "left" face vertex(-1, -1, -1, 0-s, 0); vertex(-1, -1, 1, 1-s, 0); vertex(-1, 1, 1, 1-s, 1); vertex(-1, 1, -1, 0-s, 1); endShape(); } void draw() { background(0); r += 0.01; pushMatrix(); translate(width/2.0, height/2.0, 250); pushMatrix(); scale(15); rotateZ(r); rotateY(-r); drawBox(pjs_); popMatrix(); pushMatrix(); scale(60); rotateZ(r); rotateX(r); rotateY(-r); drawBox(fire); popMatrix(); popMatrix(); }