Files
processing4/android/examples/OpenGL/CubicVR/vrCube.pde
2011-01-26 20:22:21 +00:00

60 lines
1.3 KiB
Plaintext

// QTVR style cube.
class VRCube{
int totalSides = 6;
int dim;
int cDim;
PImage[] sides;
PImage mainImage;
VRCube (String sentFileName){
noStroke();
imageMode(CORNER);
mainImage = loadImage(sentFileName);
dim = mainImage.width/3;
cDim = dim/2;
sides = new PImage[totalSides];
sides[0] = mainImage.get(dim, 0, dim,dim);
sides[1] = mainImage.get(0, dim, dim,dim);
sides[2] = mainImage.get(dim, dim, dim,dim);
sides[3] = mainImage.get(dim*2, dim, dim,dim);
sides[4] = mainImage.get(dim, dim*2, dim,dim);
sides[5] = mainImage.get(dim, dim*3, dim,dim);
}
void exist(){
renderCube();
}
void renderCube(){
pushMatrix();
drawFace(sides[1]);
rotateY(-HALF_PI);
drawFace(sides[2]);
rotateY(-HALF_PI);
drawFace(sides[3]);
rotateY(-HALF_PI);
rotateZ(PI);
drawFace(sides[5]);
rotateX(HALF_PI);
drawFace(sides[0]);
rotateX(PI);
drawFace(sides[4]);
popMatrix();
}
void drawFace(PImage sentImage){
pushMatrix();
translate(0,0,-cDim+.5);
beginShape();
texture(sentImage);
vertex(-cDim,-cDim,0,0,0);
vertex(-cDim,cDim,0,0,dim);
vertex(cDim,cDim,0,dim,dim);
vertex(cDim,-cDim,0,dim,0);
endShape();
popMatrix();
}
}