Cómo programar un motor 3D desde cero

Programando un motor 3D desde cero - Brakeza3D

Cómo programar un motor 3D desde cero

Puede que alguna vez como desarrollador, te hayas preguntado cómo programar un motor 3D desde cero. Has llegado al sitio adecuado. En los sucesivos meses, iré publicando artículos relacionados con mis experiencias creando un motor3D al completo para finalmente utilizarlo en la creación de un videojuego. Todo a la vieja usanza con puro C++.

La mayoría de información que encontrarás en Brakeza, necesita de conocimientos previos en programación y la suficiente soltura con tu sistema operativo, para habilitar un entorno de trabajo capaz de compilar el código fuente disponible.

Los requisitos mínimos de tu sistema serían:

  • Compilador C++ (gcc/g++. Disponibles en cualquier Linux/OSX por defecto)
  • Librería SDL 2.0 (https://www.libsdl.org/download-2.0.php)
  • Librería OpenGL 2.0 (la interface gráfica se dibuja en un contexto OpenGL)
  • Bullet Physics
  • ASSIMP
  • 50 MB de espacio en disco

En GitHub, encontraréis información para compilar Brakeza3D en vuestro sistema además del código fuente al competo.

Brakeza3D Logo

Si lo que os interesa, es el aspecto meramente académico de nuestros artículos, lo único que necesitarás serán las ganas de aprender y seguramente algo de fuerza de voluntad en momentos puntuales.  Si sirve de ejemplo, decir que los artículos que encontrarás, están escritos por un desarrollador web PHP cuyo hobbie es la programación 3D.  Brakeza 3D se ha implementado en 6 meses de trabajo en tiempo libre. Sirvan estas cantidades para que os hagáis una idea del tiempo que puede llevarle a una persona sin conocimientos previos en 3D (aunque si en programación), poder programar su propio motor 3D.

Actualización: Actualizo esta entrada para mencionar que el proyecto cumplirá su segundo año en activo en muy poco tiempo y que podéis ver los progresos en algunos de los vídeos publicados hasta la fecha!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *