Quake3 BSP Loader3 modificado
(29-oct-2003)
He añadido un rudimentario sistema de detección de colisiones basado en
el documento
Quake 3 BSP Collision Detection de
Nathan Ostgard. He modificado GLEW para que todas las
variables globales estén dentro de una estructura.
(23-oct-2003)
Esta es una modificación del programa
Quake3 BSP Loader3 de DigiBen que apareció en
www.gametutorials.com.
En esta ocasión se ha utilizado SDL
para la versión de Windows, lo que permite mantener un mismo fuente en
Windows y Linux.
Se incluyen archivos de proyecto para Visual C++.NET y para Dev-C++
(Mingw).
Para la carga de extensiones de OpenGL se utiliza
GLEW lo que simplifica su
gestión.
Se ha incluido soporte para el uso de texturas comprimidas mediante
ARB_texture_compression (sólo para materiales, no para los mapas de
iluminación). En realidad es muy sencillo utilizar esta extensión ya que lo
único necesario es especificar un formato interno de datos comprimidos en el
momento de crear la textura. Es responsabilidad de OpenGL comprimirlas con
algún método. (No se cargan las texturas ya comprimidas.)
Además ahora la geometría se almacena en la memoria de la tarjeta gráfica
mediante la extensión
ARB_vertex_buffer_object para que en tiempo de ejecución no se sature el
bus AGP por enviarle la información de los vértices.
Ya que la extensión ARB_vertex_buffer_object es relativamente nueva sólo
funciona en tarjetas que tengan los drivers actualizados. En una ATI 9500 se
consigue una mejora del rendimiento de un 25%. Esta mejora es más acusada
cuantos más polígonos tenga la escena. Usar la tecla [F2] para conmutar el uso
de la extensión y comparar los rendimientos.