// COLOCA UNA ESFERA EN LA ESQUINA DE UN CUBO (todo alAmbrico) import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.media.opengl.*; import javax.media.opengl.glu.*; import com.sun.opengl.util.*; public class Bloques3D extends JFrame implements GLEventListener { GLU glu = new GLU(); GL gl = null; GLUT glut = new GLUT(); //FPSAnimator Animacion; public static void main(String[] args) { new Bloques3D(); } public Bloques3D() { super("Bloques"); GLCapabilities caps = new GLCapabilities(); GLCanvas canvas = new GLCanvas(caps); canvas.addGLEventListener(this); add("Center", canvas); setSize(1000, 1000); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); //caps.setDoubleBuffered ( true ) ; //Animacion = new FPSAnimator ( canvas, 20 ) ; //Animacion.start(); } public void init (GLAutoDrawable DRAW) { gl = DRAW.getGL(); //glut.glutInitDisplayMode(GLUT.GLUT_SINGLE | GLUT.GLUT_RGB); 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); gl.glLoadIdentity(); /* clear the matrix */ /* viewing transformation */ glu.gluLookAt(-1.2, 1.2, 2.5, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); //glu.gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); //gl.glTranslatef(0.0f, 0.0f, -5.0f); //gl.glScalef(1.0f, 1.0f, 1.0f); /* modeling transformation */ gl.glBegin(GL.GL_LINES); gl.glColor3f(0.0f, 1.0f, 0.0f); gl.glVertex3f(0.0f, 0.0f, 0.0f); gl.glVertex3f(2.0f, 0.0f, 0.0f); gl.glColor3f(0.0f, 1.0f, 1.0f); gl.glVertex3f(0.0f, 0.0f, 0.0f); gl.glVertex3f(0.0f, 2.0f, 0.0f); gl.glColor3f(1.0f, 1.0f, 1.0f); gl.glVertex3f(0.0f, 0.0f, 0.0f); gl.glVertex3f(0.0f, 0.0f, 2.0f); gl.glEnd(); //gl.glColor3f(1.0f, 1.0f, 1.0f); glut.glutWireCube(1.0f); gl.glTranslatef(0.5f, 0.5f, 0.5f); glut.glutWireSphere(0.25d, 20, 20); gl.glFlush(); } public void reshape(GLAutoDrawable drawable, int x, int y, int w, int h) { gl.glViewport(0, 0, w, h); gl.glMatrixMode(GL.GL_PROJECTION); gl.glLoadIdentity(); gl.glFrustum(-1.0, 1.0, -1.0, 1.0, 1.5, 20.0); gl.glMatrixMode(GL.GL_MODELVIEW); } public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged) { } }