Aprende desde cero
Aprende a crear tu motor 3D sin dependencias de librerías 3D como OpenGL o Direct3D. Desde lo mas sencillo hasta técnicas avanzadas
OpenSource
Puedes descargarlo y empezar a programar videojuegos por ti mismo. Conviértete en desarrollador de videojuegos!
Multiplataforma
Brakeza3D funciona en Linux/Mac/Windows con un conjunto mínimo de dependencias
Bienvenizo a Brakeza3D
Si te has preguntado cómo empezar a programar tu propio videojuego 3D desde cero, sigue…
Podríamos usar un Unity o Unreal, pero queremos ser una fucking bestia
Para los odiantes de Unity3D
Si tu interés es conocer el funcionamiento de un motor 3D, estos entornos no son para ti
¿Acaso John Carmack utilizó Unity o algún sucedáneo de la época (1996) para crear el ya mítico Quake? Pues no, no lo hizo.
En su lugar, implementó su propio motor, el cual se encuentra disponible como código libre para aquellos interesados. Su principal problema es la ausencia de documentación, escasa en inglés (aunque de calidad) e inexistente en castellano, lo que dificulta mucho su aprendizaje.
Brakeza3D nace con el objetivo de responder a esa pregunta de como ser desarrollador de videojuegos y cómo programar un motor 3D desde cero al estilo de la vieja escuela, sin OpenGL o Direct3D ni librerías de gráficos 3D de ningún tipo.
RENDER DE MALLAS
Aprenderemos como renderizar las mallas de nuestra geometría 3D y nos detendremos en analizar el ciclo de vida de un vértice hasta llegar a tu pantalla.
RENDER DE SÓLIDOS
Profundizaremos en el trabajo necesario en el interior del triángulo para rellenarlos de algún color o degradado.
LA CÁMARA Y SU MOVIMIENTO
Implementaremos nuestra cámara y analizaremos su configuración básica además de aprender a movernos con ella.
OPTIMIZACIÓN
Introduciremos algunas de las técnicas de optimización más conocidas para mover todo el entorno 3D con la menor cantidad de recursos.
RECORTE (CLIPPING)
Aprenderemos a recortar triángulos contra el cono de visión (frustum).
TEXTURIZACIÓN (UV MAPPING)
Estudiaremos los principios del mapeado UV para añadir texturas a nuestros objetos 3D.
SISTEMA DE LUCES
Implementaremos los tipos básicos de luces que interactúan con nuestra escena: Ambient light/light point/spotlight
SOMBRAS (SHADOW MAPPING)
Con esta sencilla pero eficaz técnica podrás crear sombras entre objetos iluminados.
CARTELES (BILLBOARDING)
Interesante técnica para renderizar planos siempre perpendiculares a cámara (al estilo de los enemigos en Doom2). La puerta a las partículas en los motores 3D.
MODELOS OBJ/PK3
Podremos trabajar con Blender e importar nuestros modelos y estudiaremos la estructura de un mapa de Quake3 y cómo cargarlo
A tener en cuenta
Conviértete en programador de videojuegos
Conmigo aprenderás el camino más duro. El cambio a Unity3D te parecerá un juego de niños.
Algo de matemáticas
Aprenderemos algunos cachivaches matemáticos que según que caso necesitarán un plus de exigencia.
Objetivo realista
El objetivo es formativo. Existen refutadas librerías 3D con un rendimiento infinitamente mejor y capacidades vinculadas al hardware que harían de Brakeza3D una opción obsoleta. Nos la pela.
One man project
Esto nace del trabajo realizado por una persona durante seis meses en sus ratos libres. Ayuda perro!
Contactar
Si deseas colaborar con Brakeza3D o simplemente establecer contacto, no dudes en rellenar el siguiente formulario y te atenderé en cuanto sea posible