예제 #1
0
        public void drawCubo(OpenGL gl)
        {
            float x;
            float y;
            float z;

            x = posicion.getx();
            y = posicion.gety();
            z = posicion.getz();

            gl.Begin(OpenGL.GL_QUADS);
            int pos = (i - 1) < 0 ? 0 : i - 1; // validar los colores


            gl.Color(colores[pos, 0], colores[pos, 1], colores[pos, 2]);

            //arriba
            gl.Vertex(x, y, z);
            gl.Vertex(x + 1, y, z);
            gl.Vertex(x + 1, y, z + 1);
            gl.Vertex(x, y, z + 1);

            //abajo

            gl.Vertex(x, y + 1, z);
            gl.Vertex(x + 1, y + 1, z);
            gl.Vertex(x + 1, y + 1, z + 1);
            gl.Vertex(x, y + 1, z + 1);

            //lateralIzq

            gl.Vertex(x, y, z);
            gl.Vertex(x, y + 1, z);
            gl.Vertex(x, y + 1, z + 1);
            gl.Vertex(x, y, z + 1);


            //lateral abajo

            gl.Vertex(x, y, z + 1);
            gl.Vertex(x + 1, y, z + 1);
            gl.Vertex(x + 1, y + 1, z + 1);
            gl.Vertex(x, y + 1, z + 1);

            //lateral Arriba

            gl.Vertex(x, y, z);
            gl.Vertex(x + 1, y, z);
            gl.Vertex(x + 1, y + 1, z);
            gl.Vertex(x, y + 1, z);

            //lateralDer

            gl.Vertex(x + 1, y, z);
            gl.Vertex(x + 1, y + 1, z);
            gl.Vertex(x + 1, y + 1, z + 1);
            gl.Vertex(x + 1, y, z + 1);
            gl.End();


            // para generar lineas en cada parte del cubo

            /*gl.Begin(OpenGL.GL_LINE_LOOP);
             * gl.Color(1f, 1f, 1f);
             * gl.Vertex(x, y, z);
             * gl.Vertex(x + 1, y, z);
             * gl.Vertex(x + 1, y, z + 1);
             * gl.Vertex(x, y, z + 1);
             *
             * gl.End();
             *
             *
             * gl.Begin(OpenGL.GL_LINE_LOOP);
             * gl.Color(1f, 1f, 1f);
             * gl.Vertex(x, y + 1, z);
             * gl.Vertex(x + 1, y + 1, z);
             * gl.Vertex(x + 1, y + 1, z + 1);
             * gl.Vertex(x, y + 1, z + 1);
             * gl.End();
             *
             * gl.Begin(OpenGL.GL_LINE_LOOP);
             * gl.Color(1f, 1f, 1f);
             * gl.Vertex(x, y, z);
             * gl.Vertex(x, y + 1, z);
             * gl.Vertex(x, y + 1, z + 1);
             * gl.Vertex(x, y, z + 1);
             * gl.End();
             *
             *
             * gl.Begin(OpenGL.GL_LINE_LOOP);
             * gl.Color(1f, 1f, 1f);
             * gl.Vertex(x, y, z + 1);
             * gl.Vertex(x + 1, y, z + 1);
             * gl.Vertex(x + 1, y + 1, z + 1);
             * gl.Vertex(x, y + 1, z + 1);
             *
             *
             * gl.End();
             *
             * gl.Begin(OpenGL.GL_LINE_LOOP);
             * gl.Color(1f, 1f, 1f);
             * gl.Vertex(x, y, z);
             * gl.Vertex(x + 1, y, z);
             * gl.Vertex(x + 1, y + 1, z);
             * gl.Vertex(x, y + 1, z);
             *
             * gl.End();
             *
             * gl.Begin(OpenGL.GL_LINE_LOOP);
             *
             * gl.Color(1f, 1f, 1f);
             * gl.Vertex(x + 1, y, z);
             * gl.Vertex(x + 1, y + 1, z);
             * gl.Vertex(x + 1, y + 1, z + 1);
             * gl.Vertex(x + 1, y, z + 1);
             * gl.End();*/
        }