import javax.swing.*; import java.awt.*; import java.awt.event.*; import javax.media.opengl.*; import javax.media.opengl.glu.*; import com.sun.opengl.util.*; import javax.media.opengl.GLEventListener; public class Animacion extends JFrame implements GLEventListener { GLU glu = new GLU(); GL gl = null; GLUT glut = new GLUT(); double spin = 0.0; FPSAnimator animator; public static void main(String[] args) { Animacion frame = new Animacion(); frame.addWindowListener( new WindowAdapter() { public void windowClosed(WindowEvent e) { System.exit(0); } public void windowClosing(WindowEvent e) { windowClosed(e); } } ); } public Animacion() { super("P02_10"); GLCapabilities caps = new GLCapabilities(); GLCanvas canvas = new GLCanvas(caps); canvas.addGLEventListener(this); add("Center", canvas); setSize(500, 500); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); animator = new FPSAnimator ( canvas, 50 ) ; getContentPane () .add ( canvas ) ; animator.start (); } public void init (GLAutoDrawable DRAW) { gl = DRAW.getGL(); gl.glClearColor (0.0f, 0.0f, 0.0f, 0.0f); gl.glShadeModel (gl.GL_FLAT); } public void display(GLAutoDrawable drawable) { gl.glClear(gl.GL_COLOR_BUFFER_BIT); // Cuadro gl.glPushMatrix(); gl.glRotated(spin, 0.0, 0.0, 1.0); gl.glColor3d(1.0, 1.0, 1.0); gl.glRectd(-25.0, -25.0, 25.0, 25.0); gl.glPopMatrix(); // Triangulo /* gl.glBegin(GL.GL_TRIANGLES); gl.glColor3d(1.0,0.0,0.0); gl.glVertex3d(0.0,0.8,0.0); // rojo gl.glColor3d(0.0,1.0,0.0); gl.glVertex3d(-0.6,-0.2,0.0);// verde gl.glColor3d(0.0,0.0,1.0); gl.glVertex3d(0.6,-0.2,0.0); // azul gl.glEnd();*/ spinDisplay(); } public void spinDisplay() { spin = spin + 2.0; if (spin > 360.0) spin = spin - 360.0; } public void reshape(GLAutoDrawable drawable, int x, int y, int w, int h) { GL gl = drawable.getGL(); GLU glu = new GLU(); gl.glMatrixMode(gl.GL_PROJECTION); gl.glLoadIdentity(); gl.glOrtho(-50.0, 50.0, -50.0, 50.0, -1.0, 1.0); gl.glMatrixMode(gl.GL_MODELVIEW); gl.glLoadIdentity(); } public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged){ } }