Incluyendo OpenGL 3.2 en Zack Zero

La semana que viene saldrá Zack Zero en Steam.

Hemos estado trabajando durante los últimos meses en mejorar el juego. Sobre el engine, hemos mejorado el engine gráfico para soportar OpenGL 3.2 core profile aunque he mantenido el path de OpenGL 2.1 para las tarjetas con menos capacidad (OpenGL 3.2 se soporta desde la NVIDIA 8xxx que salió a finales de 2006 pero hay portátiles cuyos fabricantes no actualizan los drivers y chips de Intel para los que no existen drivers de OpenGL 3.2 en Windows, curiosamente sí en OSX para el mismo chip).

La principal motivación para incluir OpenGL 3.2 fue por ciertos problemas que teníamos con el path OpenGL 2.1 en algunos portátiles con chip gráfico de ATI. En alguna combinación de drivers/chip gráficos los textos no aparecían. Esto pasaba porque los fuentes son texturas de un solo canal y en unas combinaciones de ATI funcionaban como texturas ALPHA y en otras como texturas RED. En OpenGL 3.2 como no existen las texturas ALPHA pues en esas máquinas con el nuevo path funciona correctamente. Además, el código ha quedado más limpio y se nota en el rendimiento respecto a las versiones anteriores.

Además, estuve portando el juego a OSX y OSX tiene OpenGL 3.2 (sólo la implementación ‘core profile’, no la compatible) y aunque el primer port lo hice usando el path OpenGL 2.1 de la primera versión PC que salió con GAME en España y en Alemania, tenía sentido limpiar el código y dejar sólo el path 3.2 que todos los Mac con los últimos OSX tienen.

Además, como hay dos paths y hay dos sets de shaders, los de OpenGL 2.1 y OpenGL 3.2. Como se supone que las tarjetas que soporten OpenGL 3.2 son más potentes (aunque no tiene que ser así porque hay tarjetas recientes pero de gama baja que son una castaña) pues los shaders de ese path tienen ligeras mejoras que hacen que las imágenes sean más nítidas.

Además, para mi horror, descubrí que había un error (mío) en el cálculo de la niebla por lo que empezaba muy rápido y dependiendo de lo grande que se pusiese el fog-start y el fog-end podía haber incluso un corte en la niebla. Se ve en muchos sitios claramente: en la primera parte de la cueva, cuando viene la nave al final de la primera fase, … Ahora se ve perfecto.

Las siguientes imágenes son de, más o menos, de la misma escena. La primera es de la versión original de PS3, la segunda de la versión actual de PC.

One Comment
0 Pings & Trackbacks

Deja un comentario