006 Métodos
006.6 Gráficos
006.69 Especiales
006.693 3D

Orígenes de WebGL

Dos de las tecnologías más utilizadas para mostrar gráficos en 3D en ordenadores personales son Direct3D y OpenGL. Direct3D, que forma parte de las tecnologías DirectX de Microsoft, es la tecnología de gráficos en 3D que se utiliza principalmente en plataformas Windows y es una interfaz de programación de aplicaciones (API) propietaria que controla Microsoft. OpenGL, una alternativa, se ha utilizado ampliamente en varias plataformas debido a su naturaleza abierta y libre de regalías. OpenGL está disponible para Macintosh, Linux y una variedad de dispositivos como teléfonos inteligentes, tabletas y consolas de juegos (PlayStation y Nintendo). También es compatible con Windows y proporciona una alternativa a Direct3D.

OpenGL fue desarrollado originalmente por Silicon Graphics Inc. y publicado como estándar abierto en 1992. OpenGL ha evolucionado a través de varias versiones desde 1992 y ha tenido un profundo efecto en el desarrollo de gráficos 3D, desarrollo de productos de software e incluso producción cinematográfica a lo largo de los años. La última versión de OpenGL en el momento de escribir este artículo es la versión 4.3 para PC de escritorio. Aunque WebGL tiene sus raíces en OpenGL, en realidad se deriva de una versión de OpenGL diseñada específicamente para computadoras integradas como teléfonos inteligentes y consolas de videojuegos. Esta versión, conocida como OpenGL ES (para sistemas integrados), se desarrolló originalmente en 2003-2004 y se actualizó en 2007 (ES 2.0) y nuevamente en 2012 (ES 3.0). WebGL se basa en la versión ES 2.0. En los últimos años, la cantidad de dispositivos y procesadores que admiten la especificación ha aumentado rápidamente e incluye teléfonos inteligentes (iPhone y Android), tabletas y consolas de juegos. Parte de la razón de esta adopción exitosa ha sido que OpenGL ES agregó nuevas características pero también eliminó muchas características innecesarias o anticuadas de OpenGL, dando como resultado una especificación liviana que aún tenía suficiente poder expresivo visual para lograr gráficos 3D atractivos.

La figura 1.4 muestra la relación entre OpenGL, OpenGL ES 1.1/2.0/3.0 y WebGL. Debido a que OpenGL ha seguido evolucionando desde la versión 1.5 a la 2.0 y a la 4.3, OpenGL ES se ha estandarizado como un subconjunto de versiones específicas de OpenGL (OpenGL 1.5 y OpenGL 2.9).

Figura 1.4 Relación entre OpenGL, OpenGL ES 1.1/2.0/3.0 y WebGL

Figura 1.4 Relación entre OpenGL, OpenGL ES 1.1/2.0/3.0 y WebGL

Como se muestra en la Figura 1.4, con la transición a OpenGL 2.0 se introdujo una nueva capacidad importante: las funciones de sombreado programables. Esta capacidad se ha trasladado a OpenGL ES 2.0 y es una parte fundamental de la especificación WebGL 1.0.

Las funciones de sombreado o shaders son programas informáticos que permiten programar efectos visuales sofisticados mediante un lenguaje de programación especial similar a C. Este libro explica las funciones de sombreado paso a paso, lo que le permitirá dominar rápidamente el poder de WebGL. El lenguaje de programación que se utiliza para crear sombreadores se denomina lenguaje de sombreado. El lenguaje de sombreado utilizado en OpenGL ES 2.0 se basa en el lenguaje de sombreado OpenGL (GLSL) y se lo conoce como lenguaje de sombreado OpenGL ES (GLSL ES). Debido a que WebGL se basa en OpenGL ES 2.0, también utiliza GLSL ES para crear sombreadores.

El Grupo Khronos (un consorcio industrial sin fines de lucro creado para desarrollar, publicar y promover varios estándares abiertos) es responsable de la evolución y estandarización de OpenGL. En 2009, Khronos estableció el grupo de trabajo WebGL y luego comenzó el proceso de estandarización de WebGL basado en OpenGL ES 2.0, lanzando la primera versión de WebGL en 2011. Este libro está escrito principalmente en base a esa especificación y, cuando es necesario, a la última especificación de WebGL publicada como borrador del editor. Para obtener más información, consulte la especificación.