static protected void copyImage(PShape src, PShape dest) { if (src.image != null) { dest.texture(src.image); } }
PShape createFrame(PImage photo) { PShape face = createShape(); face.beginShape(QUAD); face.noStroke(); //face.stroke(0); face.textureMode(NORMAL); face.texture(photo); face.vertex(-1, -1, 0, 0, 0); face.vertex(1, -1, 0, 1, 0); face.vertex(1, 1, 0, 1, 1); face.vertex(-1, 1, 0, 0, 1); face.endShape(); return face; }
PShape createTextGraphics(String s) { PGraphics buffer = createGraphics(width/2, height); buffer.beginDraw(); buffer.textSize(128); buffer.background(0x80800020); stroke(255); fill(255); buffer.text(s, width / 8, height / 2 + height / 4); buffer.endDraw(); PShape face = createShape(); face.beginShape(QUAD); face.noStroke(); face.textureMode(NORMAL); face.texture(buffer); face.vertex(-1, -1, 0, 0, 0); face.vertex(1, -1, 0, 1, 0); face.vertex(1, 1, 0, 1, 1); face.vertex(-1, 1, 0, 0, 1); face.endShape(); return face; }
static protected void copyImage(PShape src, PShape dest) { if (src.image != null) { dest.texture(src.image); } }
public PShape createGridShape() { int gridSize = 20; stroke(128); fill(64); strokeWeight(1); println("width=" + width + " height=" + height); PGraphics buffer = createGraphics(width / 2, height, P2D); buffer.beginDraw(); for (int y = 0; y < height; y += gridSize) { buffer.line(0, y, width/2, y); } for (int x = 0; x < width; x += gridSize) { buffer.line(x, 0, x, height); } buffer.endDraw(); PShape face = createShape(); face.beginShape(QUAD); face.noStroke(); face.textureMode(NORMAL); face.texture(buffer); face.vertex(-1, -1, 0, 0, 0); face.vertex(1, -1, 0, 1, 0); face.vertex(1, 1, 0, 1, 1); face.vertex(-1, 1, 0, 0, 1); face.endShape(); return face; }
PShape createReticle() { final int RADIUS = 64; PGraphics buffer = createGraphics(RADIUS, RADIUS); buffer.beginDraw(); buffer.background(0, 0); // transparent buffer.stroke(255); buffer.strokeWeight(4); buffer.ellipseMode(CENTER); buffer.ellipse(RADIUS / 2, RADIUS / 2, RADIUS / 3, RADIUS / 3); buffer.strokeWeight(8.0f); buffer.line(RADIUS/2, 0, RADIUS/2, RADIUS - 1); buffer.line(0, RADIUS/2, RADIUS-1, RADIUS/2); buffer.endDraw(); PShape face = createShape(); face.beginShape(QUAD); face.noStroke(); face.textureMode(NORMAL); face.texture(buffer); face.vertex(-1, -1, 0, 0, 0); face.vertex(1, -1, 0, 1, 0); face.vertex(1, 1, 0, 1, 1); face.vertex(-1, 1, 0, 0, 1); face.endShape(); return face; }
PShape createTextGraphics(String s) { PGraphics buffer = createGraphics(width/2, height); buffer.beginDraw(); buffer.strokeWeight(8.0f); buffer.background(color(0,128,0)); buffer.stroke(0xff, 0, 0); buffer.text(s, 0, height / 4); buffer.stroke(255); buffer.textSize(64f); buffer.text(s, 0, height / 3); buffer.stroke(0x0000FF); buffer.textSize(128); buffer.text(s, 0, height / 2 + height / 4); buffer.fill(color(128, 0, 128)); buffer.rect(400, 200, 400, 400); buffer.stroke(128); buffer.line(0, 0, width / 2, height); buffer.endDraw(); PShape face = createShape(); face.beginShape(QUAD); face.noStroke(); face.textureMode(NORMAL); face.texture(buffer); face.vertex(-1, -1, 0, 0, 0); face.vertex(1, -1, 0, 1, 0); face.vertex(1, 1, 0, 1, 1); face.vertex(-1, 1, 0, 0, 1); face.endShape(); return face; }
face.noStroke(); face.textureMode(NORMAL); face.texture(photo[i]); switch (i) { case 0: