⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 texturecube.pde

📁 This is processing for java examples.
💻 PDE
字号:
/** * TexturedCube * by Dave Bollinger. *  * Drag mouse to rotate cube. Demonstrates use of u/v coords in  * vertex() and effect on texture(). The textures get distorted using * the P3D renderer as you can see, but they look great using OPENGL.*/PImage tex;float rotx = PI/4;float roty = PI/4;void setup() {  size(640, 360, P3D);  tex = loadImage("berlin-1.jpg");  textureMode(NORMALIZED);  fill(255);  stroke(color(44,48,32));}void draw() {  background(0);  noStroke();  translate(width/2.0, height/2.0, -100);  rotateX(rotx);  rotateY(roty);  scale(90);  TexturedCube(tex);}void TexturedCube(PImage tex) {  beginShape(QUADS);  texture(tex);  // Given one texture and six faces, we can easily set up the uv coordinates  // such that four of the faces tile "perfectly" along either u or v, but the other  // two faces cannot be so aligned.  This code tiles "along" u, "around" the X/Z faces  // and fudges the Y faces - the Y faces are arbitrarily aligned such that a  // rotation along the X axis will put the "top" of either texture at the "top"  // of the screen, but is not otherwised aligned with the X/Z faces. (This  // just affects what type of symmetry is required if you need seamless  // tiling all the way around the cube)    // +Z "front" 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);  // -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);  // +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 mouseDragged() {  float rate = 0.01;  rotx += (pmouseY-mouseY) * rate;  roty += (mouseX-pmouseX) * rate;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -