WebGL

En esta pagina encontraras como que ido aprendiendo y razonando lo que se de WebGL, cabe mencionar que yo no soy un experto en esto de programación en web, por lo que es probable que encuentres un montón de errores.

Ten en cuenta que aquí encontraras mis propios comentarios, que pueden o no agradarte.

¿Que es Web GL?

WebGL se deriva de OpenGL (¿los nombres se parecen no?), pero como su nombre lo dice, es OpenGL implementado en un explorador web, pero no es la versión de escritorio sino la version ES (EN: Embedded System, ES: Sistema Empotrado).

ES quiere decir que la computadora es parte del mecanismo  (o esta empotrada en el mecanismo que controla) el termino también se usa para describir computadoras pequeñas que llevan a cabo tareas especificas.

¿Qué diferencias hay entre estas dos versiones de OpenGL?, básicamente OpenGL ES es una subconjunto (parte de) OpenGL, la diferencia mas significativa es que OpenGL ES te restringe en buena medida el usar buffers para dibujar, mientras que OpenGL te da la libertad de hacerlo vértice por vértice (lo que se denomina Inemediate Mode), el motivo, ganar desempeño.

WebGL utiliza JavaScript, el campo en el que creo que voy a batallar mas, será cuestión de ir viendo poco a poco los códigos de JavaScript que son necesarios.

WebGL es multiplataforma (a pesar de que no todos los exploradores soportan WebGL, los mas utilizados si, y estos exploradores existen en todas las plataformas), desde mi punto de vista WebGL es lo mas multiplataforma que OpenGL puede llegar a ser. Antes de que comiencen a llover piedras voy a explicar el porque de mis palabras:

  • GLUT: es una excelente forma de comprimir OpenGL, es multiplataforma, en realidad solo le falta un pelito para que lo sea, ya que en MAC OS X se tienen que cambiar los encabezados de OpenGL/glut.h a GLUT/GLUT.h, es lo único detalle que yo me he topado,
  • JOGLLWJGL (Java + OpenGL): a nivel de portabilidad, Java es el que se lleva las palmas sin ninguna duda, el detalle de trabajar con Java y OpenGL es que el .jar no siempre corre bien, si los .jar de las bibliotecas no coinciden con la versión del .jar con la cual el ejecutable fue hecho, el ejecutable no arranca ni a golpes. En general es bueno para trabajar con OpenGL el detalle que llega a tener es que las dependencias del ejecutable llegan a ser muchas (Pero eso si, con un solo click se ejecuta igualito en Mac o en Windows, Linux no le he probado).
  • Java 2 Microedition – Java Binding for the OpenGL ES API (JSR 239): a pesar de ser para móviles con Java 2 Microedtion (J2ME) muchos teléfonos de gama medianamente alta no lo soportan (mi celular actual Nokia 5530 no lo soporta),y ni se diga de teléfonos de gama baja. Si se quiere trabajar con este JSR (EN: Java Specification Request ES: Petición de Especificación de Java) es muy recomendable tener un smartphone.
  • Como cereza del pastel vean a este Nokia ejecutando WebGL, es algo que ninguno de los frameworks de arriba puede hacer (correr en una computadora de escritorio y en un móvil OpenGL con solo habilitar un explorador web):

Nota: Cabe mencionar no he probado otros lenguajes de programación (solo he probado Java y C/C++), y en esto baso mis comentarios anteriores.

Google Labs también le ha metido mano en esto de WebGL (y no solo en el sentido de que Google Chrome soporte WebGL) sino también en hacer una aplicación muy completa: BodyBrowser (algunos lo consideran el Google Earth del cuerpo), les dejo un video si el sitio en tiempo real no pueden ejecutarlo (recuerda que se requiere WebGL habilitado para poder usar BodyBrowser).

Con seguridad esto hará que los doctores exploten de emoción.

También existe GLGE, es una biblioteca dedicada a enmascarar las partes “feas” de WebGL, por las imágenes se puede apreciar que tiene mucho potencial (no si se pudiera clasificar como un motor gráfico).

Para arrancar WebGL solo se necesita un explorador web que soporte WebGL, en realidad es muy fácil obtenerlo y con seguridad en el futuro los exploradores van a tener implementado WebGL como default, hay mucha información de como ajustar WebGL en la red, el explorador que antes utilizaba era Safari pero por alguna razón ya deshabitaron a Safari de Leopar (Mac OS 10.5), Chromium (Google Chrome) para Mac OS X también puede servir para el usar WebGL en Mac OS 10.5.

Trabjando en WebGL: Chromium + WebGL en Mac

Vamos a ver a detalle los pasos para instalar Chromium y habilitar WebGL en Mac OS 10.5, toda la información aquí utilizada proviene de aquí: Learning WebGL

  1. Ve a la pagina de integración continua de Chromium y descarga chrome-mac.zip
  2. Descomprime el contenido en un lugar cercano al volumen raíz (tendrás que ingresar a la ruta de donde colocaste el archivo descomprimido).
  3. Abre una ventana de Terminal y ve hacia la carpeta donde  colocaste el archivo descomprimido.
  4. Asegurate de cerrar cualquier versión de Google Chrome que este abierta.
  5. Entra el siguiente comando en la terminal:  ./Chromium.app/Contents/MacOS/Chromium (a mi me ha corrido bien sin la necesidad de este comando).

Una vez que tuve el explorador correcto, lo primero que me paso por la mente fue: !Donde están los ejemplos!, y con esta idea en la mente busque hasta encontrar un buen repositorio de ejemplos en Wiki WebGL, aqui esta la pagina:

http://www.khronos.org/webgl/wiki/Demo_Repository

También en la pagina principal de Learning WebGL puedes encontrar algunos ejemplos.

Y de esta pagina voy a comenzar a adquirir mis conocimientos:

http://learningwebgl.com/blog/?page_id=1217

Para el conocimiento de JavaScript mi amigo de twitter @spectrumgomas me recomendo este libro (Beginning Javascript, Paul Wilston):

Libro Recomendado para aprender javaScript

2 comentarios to “WebGL”

  1. Roberto Says:

    Gracias por el post.
    Yo me voy a subir también ya al carro de webGL :).

    • tejonbiker Says:

      Gracias, uno hace lo que puede con lo que tiene, he querido avanzar mas, pero la universidad no me da mucho tiempo libre, solo espero tener vacaciones para seguir escribiendo en todo el blog.

      Saludos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: