Primera escena 3D basica con GLScene [OpenGL & Delphi]

Buenas noches a todosOpen-mouthed smile!, espero y hayan tenido unos buenos festejos! Hot smileen estas epocas. Para esta entrada crearemos nuestra primera escena 3D con GLScene, pero para esto es recomendable que hayas leido este post y este(este en especial), para tener GLScene instalado en nuestro Delphi.

GlScene nos facilita mucho al momento de trabajar con OpenGL, una serie de componentes faciles de usar, y a la vez un poco complicado al momento de profundizarseNerd smile!.

Escena basica 3D

Para crear nuestra escena basica 3D, pues necesitamos un lugar donde plazmar nuestros dibujos! y una camara para verlos!, asi estaremos trabajando. Para iniciar agregaremos un GLScene que esta en nuestra pestaña GLScene

1

Al aver agregado nuestro GLScene( que es el que nos maneja todo), crearemos un visor que es el que esta enseguida un GLSceneViewer, simplemente lo seleccionamos y lo arrastramos igual a nuestro form. Este visor lo aliniamos al cliente en la propiedad Align

Y ahora nos faltaria una camara para completar nuestra escena, damos doble click al componente glscene que agregamos y nos aparecera lo siguiente: Continuar leyendo “Primera escena 3D basica con GLScene [OpenGL & Delphi]”

Anuncios

Proximamente OpenGL y GLScene

Buenas noches a todos!, ultimamente solo hemos estado viendo cosas sobre OpenGL con delphi con puro codigo, pero existe una gran solucion y facilitar el uso de openGL para delphi y es GLScene, pronto empezare a postear sobre GLScene, pero… que es GLScene?

¿Que es GLScene?

GLScene es una librería 3D para Delphi basada en OpenGL que proporcionan unconjunto de componentes y objetos que permiten el renderizado de escenas 3D de un modo sencillo. Esta en desarrollo desde 1999 (creada inicialmente por Mike Lischke), es decódigo abierto y bajo la Licencia Publica Mozilla.Actualmente esta soportada por las versiones 5, 6 y 7 de Delphi, además existen versionespara Borlad C++ Builder versiones 5 y 6. También tiene cierta compatibilidad con Kylix (laversión para Linux de Delphi), pero aun no están disponibles todas las características y esta en desarrollo.GLScene está en continuo desarrollo, y casi diariamente salen nuevas versiones y mejoras de la librería, para poder obtener la ultima versión se ha de acudir al CVS (ConcurrentVersion System) del proyecto, que se encuentra en sourceforge: http://cvs.sourceforge.net/viewcvs.py/glscene/

Lo que muestra el vídeo a continuación lo hice en unas dos horas con GLScene, pero por que tuve algunos problemas con la simulación de la física, pero en si GLScene te facilita mucho al momento de programar con OpenGL

Este otro vídeo muestra un proyecto que desarrollamos en el tecnológico, que trata de crear escenarios virtuales de algun lugar del mundo con algún monumento representativo, pero el escenario se creara a partir de las condiciones del clima que existe en ese lugar en tiempo real

Sistema solar con OpenGL [Delphi 7]

Buenas noches!!, aqui estoy una vez mas tratando de no dejar en el olvido este blog! y claro sigo de obsesionado con OpenGL y delphi y ahora les traigo una aplicacion de post anteriores!, sera un sistema solar( o almenos algunos planetas) utilizando luz y texturas que ya lo hemos visto en post anteriores. De nuevo para no entrar con detalles de post anteriores el contexto lo haremos siguiendo este proyecto. En este proyecto tenemos todo el contexto creado con las librerias necesarias y ademas tiene dibujado un cubo en el comentario “//Aqui podremos dibujar lo que queramos” en delante podremos dibujar asi que borramos las 3 lineas de codigo (glutSolidCube u otras que esten) y empezemos a graficar 😀

Creando el Sol y Mercurio.

Primero que nada crearemos en nuestro evento “OnPaint” los primeros trazos para simular nuestro sistema solar, para eso dibujaremos una esfera central que sera nuestro sol, por el momento sera de color amarilla y una esfera mas diminuta que este girando alrededor del sol que sera mercurio. Para eso nos dirigimos a nuestro procedimiento onPaint y debajo del comentario //Aqui podremos dibujar lo que queramos, ponemos lo siguiente:

 //Aqui podremos dibujar lo que queramos
     glTranslatef(0,0,-10);
     glRotatef(115,1,0,0);
 glPushMatrix;
    glColor3f(1,1,0);
    glutSolidSphere(1,20,20);
 glPopMatrix;

 glPushMatrix;
    glColor3f(0.5,0.5,0.5);
    glRotatef(angle,0,0,1);
    glTranslatef(3,0,0);
    glutSolidSphere(0.1,20,20);
 glPopMatrix;

Continuar leyendo “Sistema solar con OpenGL [Delphi 7]”

Objetos con texturas OpenGL [Delphi 7]

Buenas noches!, en esta entrada veremos ahora como aplicar texturas a nuestros objetos en OpenGL asi usando una librería casera para poder facilitar el uso de la aplicación de texturas. Tal vez esta librería no es un poco efectiva pero sirve para acentar bases.

Primero que nada y como post anteriores, yo uso delphi 7 y estas librerias son las que uso OpenGL, Glut(API,DLL), Geometry y esta es la libreria para aplicar las  texturas.

Para comenzar vamos a crear nuestro contexto como lo hemos hecho en los 2 posts anteriores, creando varios eventos(OnCreate,OnDestroy,OnPaint,OnResize) asi que les pido porfavor que vean este post para crear el contexto hasta antes de comenzar a dibujar, o si bien quieren descargar este proyecto que contiene todas las librerias y el codigo necesario que se ha visto en post anteriores ( el proyecto esta listo para comenzar este post, recomiendo mejor que lo bajen)

Para comenzar pues haremos algo sencillo como una esfera texturizada:

La textura que se va a utilizar es importante que sea de tamaño de múltiplos de 2 debido a que así fue programada la librería casera, osea la imagen debe de ser BMP 64×64  o 128×128  descargar textura
Continuar leyendo “Objetos con texturas OpenGL [Delphi 7]”

Iluminación de objetos con OpenGL y Glut [Delphi]

Buenas noches!, después de un tiempo de ausencia y de duro trabajo en el tecnológico he decidido hacer esta entrada simple de iluminar figuras geométricas creadas con glut!. Para comenzar antes que nada debemos de tener 3 librerías que son: OpenGL, Geomerty y Glut. Las descargamos y las agregamos a nuestro proyecto (Ojo este post esta hecho usando Delphi 7). Primero creamos nuestro proyecto en Delphi 7 y lo guardamos, y ahi mismo copiaremos estas 3 librerias y las agregamos con el boton Add file to Project o shift + F11

Ademas glut necesita de 2 archivos mas! que estos solo deben de copiarse a la carpeta donde esta guardado el proyecto, descargalos de aqui y aqui

Una vez que hayamos agregado los Units, en nuestro unit1 o nuestro form en el “Uses” agregamos la libreria OpenGL y Glut para poder usarlas en ese mismo Unit.
Continuar leyendo “Iluminación de objetos con OpenGL y Glut [Delphi]”

Introduccion a la programacion de graficos con OpenGL

Buenas noches! a todos! si recuerdan en una entrada anterior, empezamos con algo muy basico de la graficacion en 2D, haciendo un simple componente de una linea. Ahora daremos un gran paso y empezaremos con la graficacion en 3D usando OpenGL. Aqui trabajamos mucho con vectores y transformaciones geometricas pero no quiero entrar en álgebra lineal! así que puro coding!. Para esta entrada debes de tener ya conocimientos previos de Delphi para que le puedas entender, ya que no es un tutorial de delphi si no de openGL. Pero en fin comenzemos!

Primero que nada veremos que es lo que haremos en este post:


Continuar leyendo “Introduccion a la programacion de graficos con OpenGL”

Graficación en 2D usando Object Pascal

Buenas!, después de algunos días de ausencia he vuelto con algo nuevo. En el tecnológico hemos estado viendo cosas nuevas y una de estas es la graficación usando object pascal, he tenido mucho trabajo de documentación de proyectos y ahora que tengo un poco de tiempo “libre” veremos el principio de lo que he estado aprendiendo de la graficacion. En este post veremos la creación de componentes .
Continuar leyendo “Graficación en 2D usando Object Pascal”