// 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) { }
}