Quake 3 Arena en WebGL.
Quake 3 es un juego de finales de los 90 en primera persona
En este caso convertieron todo un escenario para ser jugado utilizando solo WebGl
Cada estructura tiene una cantidad especifica de números, arreglos o índices que referencian a otro lump específico. Para entender más de cada lump y sus atributos se puede averiguar en [2]
Cada script tiene una función específica:
Composición del espacio Quake 3
El escenario esta originalmente guardado en el formato .bsp que guarda todos los atributos posibles en estructuras tipo lumps. En el caso de Quake 3 los guardó así:Composición de la aplicación
La arquitectura general de la aplicación se muestra a continuación:Cada script tiene una función específica:
- main.js: Iniciar la aplicación, actualizar cada frame y por ende la matriz de ModelView.
- Q3bsp.js: Carga los shaders y los buffers, permitiendo dibujar cada escena con primitivas de WebGL.
- Worker.js: Realiza el parse del archivo .bsp para transformarlo en toda la información que necesita renderizar WebGL
- Q3Shader.js: Carga shaders externos y los crea en lenguaje GLSL.
- Q3glshader.js Carga el shader ya en GLSL con los datos decodificados.
- Q3Movement.js: implementa la interacción para el usuario (caminar, saltar, reaparecer)
Comentarios
Publicar un comentario