import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.media.opengl.*; import javax.media.opengl.glu.*; public class Trazos extends JFrame implements GLEventListener { public static void main(String[] args) { Trazos frame = new Trazos(); frame.addWindowListener( new WindowAdapter() { public void windowClosed(WindowEvent e) { System.exit(0); } public void windowClosing(WindowEvent e) { windowClosed(e); } } ); } public Trazos() { super("Trazos"); GLCapabilities caps = new GLCapabilities(); GLCanvas canvas = new GLCanvas(caps); canvas.addGLEventListener(this); add("Center", canvas); setSize(500, 500); setVisible(true); } void run() { setSize(600, 600); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); //canvas.requestFocusInWindow(); } public void init (GLAutoDrawable DRAW) { GL gl = DRAW.getGL(); gl.glClearColor (0.0f, 0.0f, 0.0f, 0.0f); gl.glMatrixMode(GL.GL_PROJECTION); gl.glLoadIdentity(); gl.glOrtho(-2.0, 7.0, -2.0, 7.0, 0.0, 1.0); } public void reshape(GLAutoDrawable drawable, int x, int y, int w, int h) { GL gl = drawable.getGL(); gl.glViewport(0, 0, w, h); gl.glMatrixMode(GL.GL_PROJECTION); gl.glLoadIdentity(); gl.glOrtho(-2.0, 7.0, -2.0, 7.0, 0.0, 1.0); gl.glMatrixMode(GL.GL_MODELVIEW); gl.glLoadIdentity(); } public void display(GLAutoDrawable drawable) { GL gl = drawable.getGL(); gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT); Trazo1(gl); Triangulo(gl); gl.glFlush(); } void Trazo1(GL gl) { gl.glBegin(gl.GL_POLYGON); gl.glVertex2f(0.0f, 0.0f); gl.glVertex2f(0.0f, 3.0f); gl.glVertex2f(4.0f, 3.0f); gl.glVertex2f(6.0f, 1.5f); gl.glVertex2f(4.0f, 0.0f); gl.glEnd(); } void Triangulo(GL gl) { gl.glBegin(gl.GL_TRIANGLES); // Drawing Triangles gl.glColor3f(1.0f,0.0f,0.0f); // Color Red gl.glVertex3f( 0.0f, 1.0f, 0.0f); // Top gl.glColor3f(0.0f,0.0f,1.0f); // Color Blue gl.glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left gl.glColor3f(0.0f,1.0f,0.0f); // Color Green gl.glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right gl.glEnd(); } public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged){ } }