import saito.objloader.*; import processing.opengl.*; OBJModel model; /* float rotX = 0; float rotY = HALF_PI; float rotZ = 0; float posX=0; float posY=0; float posZ=0; */ float rotX= -0.02; float rotY= 1.5607964; float rotZ= 0.00999997; float posX= -12.599985; float posY= 142.40004; float posZ= 17.6; float scaler= 94.299995; float scalerW= 94.299995; float scalerD= 94.299995; float scalerH= 94.299995; float fov= 1.3207968; //float scaler = 100; // //float fov = HALF_PI; void setup() { size(1024, 768, OPENGL); model = new OBJModel(this, "crystaphyll.obj"); model.disableTexture(); } void draw() { background(0); noStroke(); lights(); ambient(255,255,255); // float cameraZ = (height/2.0) / tan(fov/2.0); perspective(fov, float(width)/float(height), cameraZ/10.0, cameraZ*10.0); // fill(255,190,190); pushMatrix(); translate(width/2+posX, height/2+posY, posZ); pointLight(255, 255, 255, 0, -222, 200); rotateZ(rotZ); rotateX(rotX); rotateY(rotY); scale(scalerW, scalerD, scalerH); // model.disableTexture(); model.drawMode(TRIANGLES); model.draw(); popMatrix(); println(" float rotX= "+rotX+"; "); println(" float rotY= "+rotY+"; "); println(" float rotZ= "+rotZ+"; "); println(" float posX= "+posX+"; "); println(" float posY= "+posY+"; "); println(" float posZ= "+posZ+"; "); println(" float scalerW= "+scalerW+"; "); println(" float scalerD= "+scalerD+"; "); println(" float scalerH= "+scalerH+"; "); println(" float fov= "+fov+"; "); println("\r\r"); } void mouseDragged() { if(keyPressed) { if(key == 'd') { scalerD += (mouseX - pmouseX)*.1; } if(key == 'w') { scalerW += (mouseX - pmouseX)*.1; } if(key == 'h') { scalerH += (mouseY - pmouseY)*.1; } // if(key == 'X') { rotX += (mouseY - pmouseY) * 0.01; } if(key == 'Y') { rotY -= (mouseX - pmouseX) * 0.01; } if(key == 'Z') { rotZ += (mouseY - pmouseY) * 0.01; } // if(key == 'x') { posX += (mouseX - pmouseX) * 0.1; } if(key == 'y') { posY -= (mouseY - pmouseY) * 0.1; } if(key == 'z') { posZ += (mouseY - pmouseY) * 0.1; } // if(key == 'l') { fov += (mouseX - pmouseX) * 0.01; } } }