//javac -classpath ../jogl-1.1.1-rc7-linux-i586/lib/jogl.jar:../jogl-1.1.1-rc7-linux-i586/lib/gluegen-rt.jar:. J1_1_Point.java //java -classpath ../jogl-1.1.1-rc7-linux-i586/lib/jogl.jar:../jogl-1.1.1-rc7-linux-i586/lib/gluegen-rt.jar:. -Djava.library.path=../jogl-1.1.1-rc7-linux-i586/lib/ J1_1_Point //Windows: //C:\Program Files\Java\joglprogs>javac -classpath jogl.jar;gluegen-rt.jar;. J1_1_Point.java //C:\Program Files\Java\joglprogs>java -classpath jogl.jar;gluegen-rt.jar;. -Djava.library.path=. J1_1_Point // gluegen-rt.dll This dll's not needed yet // gluegen-rt.jar // jogl.dll // jogl.jar // jogl_awt.dll // jogl_cg.dll import java.awt.*; //import net.java.games.jogl.*; //**Removed import javax.media.opengl.GL; import javax.media.opengl.*; import javax.media.opengl.glu.GLU; public class J1_3_Line extends J1_2_Line { public void display(GLAutoDrawable drawable) { int x0 = (int) (Math.random()*WIDTH); int y0 = (int) (Math.random()*HEIGHT); int xn = (int) (Math.random()*WIDTH); int yn = (int) (Math.random()*HEIGHT); gl.glColor3f(1,1,1); bresenhamLine(x0, y0, xn,yn); } void bresenhamLine(int x0, int y0, int xn, int yn) { int dx, dy, incrE, incrNE, d, x, y, flag=0; if (xn < x0) { int temp = x0; x0 = xn; xn = temp; temp = y0; y0 = yn; yn = temp; } if (yn < y0) { y0 = -y0; yn = -yn; flag = 10; } dy = yn - y0; dx = xn - x0; if (dx < dy) { int temp = x0; x0 = y0; y0 = temp; temp = xn; xn = yn; yn = temp; flag++; } x = x0; y = y0; d = 2*dy - dx; incrE = 2*dy; incrNE = 2*(dy-dx); while (x < xn+1) { writepixel(x, y, flag); x++; if (d <= 0) { d += incrE; } else { y++; d += incrNE; } } } void writepixel(int x, int y, int flag) { gl.glBegin(GL.GL_POINTS); if (flag==0) { gl.glVertex2i(x, y); } else if (flag == -1) { gl.glVertex2i(y, x); } else if (flag == 10) { gl.glVertex2i(x, -y); } else { //if (flag == 11) { gl.glVertex2i(y, -x); } gl.glEnd(); } /* * OpenGL version: gl.glBegin(GL.GL_LINES); gl.glVertex2i(x0, y0); gl.glVertex2i(xn, yn); gl.glEnd(); */ public static void main(String[] args) { J1_3_Line f = new J1_3_Line(); f.setTitle("JOGL J1_3_Line"); f.setSize(WIDTH, HEIGHT); f.setVisible(true); } }