Archivo de agosto, 2012

Emulador de N64 en javascript

No puedo sino soprenderme de lo rápido que avanza la capacidad de los procesadores y cómo los navegadores (como Chrome y Firefox) están cada vez mejor implementados. Dos ejemplos son el interprete de JavaScript y la interfaz WebGL, que permiten desarrollar aplicaciones y juegos que rivalizan con los que podemos encontrar en las consolas de la actual generación.

Acabo de ver que Paul Holden, uno de los desarrolladores del equipo de Dedalus, ha hecho un port del emulador de Nintendo 64 a javascript, para que puedan ser ejecutados estos juegos directamente desde un navegador en páginas web. Para ello se ha ayudado de un recompilador dinámico creado por él mismo, que traduce el ensamblador de MIPS R4300 a JavaScript.

Imagen de previsualización de YouTube

El código se encuentra aquí, por si alguien quiere experimentar con él y colaborar en el proyecto.

Etiquetas:
Categorias: General

Compute Shader en OpenGL

En este enlace podéis encontrar un ejemplo gráfico de compute shader de OpenGL 4.3. Aquellos que ya hayan trabajado con GLSL lo encontrarán particularmente sencillo.

Me ha soprendido comprobar que el nuevo estándar tiene soporte para un buen número de tarjetas ya en el mercado (no especialmente nuevas), por lo que preveo que su acogida será rápida. En concreto las siguientes tarjetas Fermi y Kepler en el caso de nVIDIA:

  • Quadro series: 6000, 600, 5000, 410, 4000, 400, 2000D, 2000
  • GeForce 600 series: GTX 690, GTX 680, GTX 670, GT 645, GT 640, GT 630, GT 620, GT 610, 605
  • GeForce 500 series: GTX 590, GTX 580, GTX 570, GTX 560 Ti, GTX 560 SE, GTX 560, GTX 555, GTX 550     Ti, GT 545, GT 530, GT 520, 510
  • GeForce 400 series: GTX 480, GTX 470, GTX 465, GTX 460 v2, GTX 460 SE v2, GTX 460 SE, GTX 460,     GTS 450, GT 440, GT 430, GT 420, 405

Etiquetas:
Categorias: General

Cursos del SIGGRAPH

He recopilado una lista de los cursos disponibles a través de la web del SIGGRAPH que complementa en parte la lista de artículos de Ke-Sen Huang.

Los miembros de ACM y SIGGRAPH Encore verán en la página web correspondiente a la conferencia todo este material con vídeos dentro de unas semanas, pero está de más poder echarle un vistazo ya:

Están ordenados por orden alfabético, todos son muy interesantes. No puedo sino destacar, barriendo un poquito para casa, Data-Driven Simulation Methods in Computer Graphics: Cloth, Tissue, and Faces donde ha participado como otros años Miguel Ángel Otaduy, profesor de Rendering Avanzado y Animación Avanzada en el  Máster de Informática Gráfica, Juegos y Realidad Virtual de la Universidad Rey Juan Carlos.

Etiquetas:

OpenGL 4.3

A principios de mes tuvo lugar la conferencia más prestigiosa de Graficos por Computador en el mundo: SIGGRAPH
En ella se dan cita profesionales y académicos de este mundillo para exponer las novedades en un campo en el que la investigación es adoptada por la industria rápidamente.
El grupo Kronos ha tomado la costumbre de anunciar las nuevas versiones de la API de OpenGL en sesiones paralelas a esta conferencia. La versión 4.3 que ha coincidido con su 20 aniversario ha sido toda una sorpresa para mí:
Por una parte se han hecho cambios muy interesantes en la interfaz de OpenGL ES (la variante para dispositivos móviles), de manera que  la versión 3 es en realidad un subconjunto de OpenGL 3.3. Esto facilitará muchísimo el port de aplicaciones y juegos a entornos móviles como teléfonos y tabletas. Tan sólo se han dejado fuera los shaders de geometría y el renderizado a múltiples objetivos (texturas) con muestreo variable. Por ahora son pocos los terminales móviles que lo pueden soportan, pero seguro que vienen más en camino.

  • PowerVR Series5 SGX545 de ImgTec,anunciado en Enero de 2010
  • PowerVR Series6 ‘Rogue’ de ImgTec, anunciado en Enero de 2012
  • Qualcomm Adreno 320, anunciado en Julio de 2012
  • Mali-T600 Series GPUs de ARM (T604/T658T624T628T678),
  • GC800 Series de Vivante Corporation, anunciado en Agosto de 2012

En cuanto al estándar OpenGL 4.3 se han añadido muchas funciones a la rama principal. Sin duda la más esperada son los “computational shaders” que dan una libertad sin precedentes a la hora de calcular todo tipo de estructuras stream de datos en un cauce gráfico que ahora puede ser adaptado a medida. La gran ventaja de esta funcionalidad frente a CUDA u OpenGL se encuentra en que ya no es necesario tener que utilizar ambas interfaces para hacer gráficos que no encajen en el cauce, pues este se puede adaptar. Con ello se evita la sobrecarga debida a la sincronización entre ambas interfaces (y la puesta en marcha de kernels en OpenCL). Así OpenCL queda en el nicho para que el fue concebido: sistemas heterogéneos, y OpenGL crece de una forma que ya se predijo cuando se inició el camino de la arquitectura unificada.

Hablaremos mucho más sobre este nuevo tipo de shaders en el blog. Ya sabéis que si tenéis interés en estos temas y queréis aprender más os podéis apuntar al Máster de Informática Gráfica, Juegos y Realidad Virtual de la Universidad Rey Juan Carlos donde hay asignaturas específicas sobre Rendering y Arquitecturas Gráficas.

 

Etiquetas:
Categorias: General