import com.hardcorepawn.*; import processing.opengl.*; //import java.nio.*; import javax.media.opengl.*; /*GL gl; float[] xyz; float[] rgb; FloatBuffer f; FloatBuffer c;*/ SuperPoint p; void setup() { size(800,500,OPENGL); p=new SuperPoint(this); // xyz=new float[3*200000]; // rgb=new float[xyz.length/3*4]; Random rnd=new Random(); for(int i=0;i<200000;i++) { float t=(float)rnd.nextGaussian(); float neg=1.0; if(t<0) neg=-1.0; t/=3.0; if(t<0) t=-t; t=constrain(t,0,1); float x=bezierPoint(0,50,120,0,t); float z=bezierPoint(0,-60,100,100,t); float y=0.0; x+=(float)rnd.nextGaussian()*10; z+=(float)rnd.nextGaussian()*10; y=(float)rnd.nextGaussian()*3; x*=neg; z*=neg; int j=i*3; float v=sqrt(x*x+y*y+z*z); float r=1-v/240.0; float g=0.6; float b=0.2+v/120.0; float a=0.075; p.addPoint(x,y,z,r,g,b,a); } } void draw() { background(0); translate(width/2,height/2,250); // rotateX((mouseY-height/2)/((float)height/2.0)); rotateX(-PI/6.0); rotateY(frameCount/360.0); GL gl=((PGraphicsOpenGL)g).gl; gl.glEnable(GL.GL_BLEND); gl.glBlendFunc(GL.GL_SRC_ALPHA,GL.GL_ONE); gl.glDisable(GL.GL_DEPTH_TEST); p.draw(2); }