texture3.pde

来自「This is processing for java examples.」· PDE 代码 · 共 47 行

PDE
47
字号
/** * Texture 3.  *  * Load an image and draw it onto a cylinder and a quad.  */int tubeRes = 32;float[] tubeX = new float[tubeRes];float[] tubeY = new float[tubeRes];PImage img;void setup() {  size(640, 360, P3D);  img = loadImage("berlin-1.jpg");  float angle = 270.0 / tubeRes;  for (int i = 0; i < tubeRes; i++) {    tubeX[i] = cos(radians(i * angle));    tubeY[i] = sin(radians(i * angle));  }  noStroke();}void draw() {  background(0);  translate(width / 2, height / 2);  rotateX(map(mouseY, 0, height, -PI, PI));  rotateY(map(mouseX, 0, width, -PI, PI));  beginShape(QUAD_STRIP);  texture(img);  for (int i = 0; i < tubeRes; i++) {    float x = tubeX[i] * 100;    float z = tubeY[i] * 100;    float u = img.width / tubeRes * i;    vertex(x, -100, z, u, 0);    vertex(x, 100, z, u, img.height);  }  endShape();  beginShape(QUADS);  texture(img);  vertex(0, -100, 0, 0, 0);  vertex(100, -100, 0, 100, 0);  vertex(100, 100, 0, 100, 100);  vertex(0, 100, 0, 0, 100);  endShape();}

⌨️ 快捷键说明

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