Vulkan > OpenGL

Definitivamente la noticia de Vulkan ha sido impactante estos últimos días en el mundo de la Informática Gráfica. En pocas palabras: Vulkan es el sucesor de OpenGL. Vulkan es entonces la nueva generación del API gráfico OpenGL Esta noticia fue dada a conocer en el GDC 2015 (The Game Developers Conference) por The Khronos Group, quienes mantenían dicha actualización con el nombre clave glNext (que ya ha sido descartado).

vulkan1-640x320 Sigue leyendo

ASCII Art con una WebCam

El ASCII art es una técnica que data de 1966 y es utilizada en diseño gráfico con el uso del computador que permite formar figuras/imágenes digitales empleando los caracteres imprimibles de la codificación ASCII (un total de 95). Con un simple editor de texto, cualquier puede generar este tipo de arte (de esta forma no resulta tan sencillo).

ascii2 Sigue leyendo

Modelo de Iluminación Phong en 2D

El modelo de iluminación Phong, o modelo de reflexión Phong, o simplemente Phong Lighting es un modelo empírico de iluminación local de puntos sobre una superficie (1973). Este describe el comportamiento de la reflexión de la luz sobre una superficie expresada como una combinación de un término ambiental, término difuso (reflexión difusa) y un término especular (reflexión especular).

Modelo de Iluminación Phong. Extraído de Wikipedia

La mayoría de los sistemas gráficos aplican este modelo para la iluminación de modelos geométricos o volumétricos. Sin embargo, éstos requieren modelos 3D para su cálculo. Entonces, ¿es posible realizar dicho modelo en un sistema de despliegue con primitivas de despliegue 2D? Sigue leyendo

Editores de Shaders en la Web

Gracias a la implementación de WebGL en los browser actuales junto al elemento Canvas de HTML5 + CSS3 + SVG, es posible construir aplicaciones, herramientas o juegos de alto impacto para la Web. Una de éstas aplicaciones en la Web son los editores. Actualmente, existen diversos editores en línea, máquinas virtuales, sandbox para el testing de aplicaciones/lenguajes en particular, etc. Particularmente, en el área de Informática Gráfica los editores de programas en la GPU (shaders) son de alto interés porque no requieren desarrollar todo el entorno para ser utilizados. Empleando OpenGL para la Web, es decir, WebGL, se emplea el lenguaje de shader ESSL  o GLSL ES. Dicho lenguaje, está formado por el programa de vértices (vertex shader) y el programa de fragmentos (fragment o pixel shader), los cuales para ser ejecutados con WebGL requieren varias líneas de código. En este post, veremos algunos editores que son herramientas muy útiles y nos permitirán ahorrar varias líneas y empezar a trabajar directamente con los shaders. Sigue leyendo

Babylon.js

Es bien conocido que WebGL requiere de muchas líneas de código para el despliegue de primitivas 3D dentro de una escena. Numerosos tutoriales existen en la Web, libros, artículos, entre otros que explican paso a paso y con mucho detalle el uso de los buffers y shaders requeridos en WebGL. Sin embargo, para muchos programadores éste lenguaje es complejo en términos de ser muy “bajo nivel” e implicar un conocimiento técnico sólido del pipeline gráfico. Por ello, han surgido diversas bibliotecas que sirven de engine/API/bliblioteca para crear contenido 3D interactivo en la Web utilizando HTML5/SVG/WebGL. Entre las más conocidas están Three.js, C3DL, O3D, PhiloGL, CopperLicht, SpiderGL y Babylon.js. En este post hablaremos un poco sobre Babylon.js.

babylonjs

Website de BabylonJS

Sigue leyendo