topical media & game development

talk show tell print

graphic-processing-site-examples-Libraries-OpenGL-ExtrusionGL-ExtrusionGL.pde / pde



  
Extrusion. Converts a flat image into spatial data points and rotates the points around the center.

  
  
  import processing.opengl.*;
  
  PImage a;
  boolean onetime = true;
  int[][] aPixels;
  int[][] values;
  float angle;
  
  void setup() {
    size(1024, 768, OPENGL);
    
    aPixels = new int[width][height];
    values = new int[width][height];
    noFill();
  
    // Load the image into a new array
    // Extract the values and store in an array
    a = loadImage("ystone08.jpg");
    a.loadPixels();
    for (int i = 0; i < a.height; i++) {
      for (int j = 0; j < a.width; j++) {
        aPixels[j][i] = a.pixels[i*a.width + j];
        values[j][i] = int(blue(aPixels[j][i]));
      }
    }
  }
  
  void draw() {
    background(255);
    translate(width/2, height/2, 0);
    scale(2.0);
    
    // Update and constrain the angle
    angle += 0.005;
    rotateY(angle);  
    
    // Display the image mass
    for (int i = 0; i < a.height; i += 2) {
      for (int j = 0; j < a.width; j += 2) {
        stroke(values[j][i], 153);
        line(j-a.width/2, i-a.height/2, -values[j][i], j-a.width/2, i-a.height/2, -values[j][i]-10);
      }
    }
  }
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.