Compilar Brakeza3D en Windows

Programando un motor 3D desde cero - Brakeza3D

Compilar Brakeza3D en Windows

Buenas a tod@s! Ya que estoy trabajando para lanzar Project DarkHeaZ al mundo, se hace evidente que necesitamos poder compilar Brakeza3D en Windows, principalmente.

Suelo elegir Linux para programar con C/C++ ya que todas las herramientas están incorporadas de base, o en su defecto, lo que puedas necesitar lo consigues con apenas unas líneas de bash, pero es lógico entender que no todo el mundo lo utiliza, asi que vamos allá!

Mencionar que vamos a proceder a una instalación 100% manual, quizás se pueda instalar alguno de los paquetes que vamos a usar mediante otro sistema. También destacar que tenéis una exhaustiva guía en el repositorio GITHUB del proyecto.

Dependencias actuales del proyecto

Las dependencias en Brakeza3D han ido cambiando ligeramente con el tiempo, actualmente son las siguientes:

  • SDL2: Librería de manejo de ventanas cross-platform
  • SDL2_image: Extensión SDL2 para manejo de imágenes
  • SDL2_ttf: Extensión SDL2 para manejo de fuentes
  • SDL2_mixer: Extensión SDL2 para manejo del audio
  • Assimp: Librería de acceso a formatos 3D comunes.
  • Bullet Physics: Librería de físicas
  • GLM: Librería matemática
  • SDK OpenCL: Interface de acceso a GPU

Como herramientas de trabajo en Windows, he utilizado estas:

  • CLion: IDE 
  • MinGW: Toolchain + compilador

Tan solo necesitarás compilar por ti mismo Assimp y Bullet, el resto de dependencias podrás descargarlas, desempaquetarlas y depositarlas dentro de MinGW directamente.

1) Descargar

2) Descomprimir

3) Instalar MinGW + Compilar Bullet y Assimp

Una vez instalado MinGW, usando CLion abriremos ambos proyectos y procederemos a compilarlos (previa configuración del Toolchain, revisad Github si tenéis dudas!). Son proyectos opensource de peso con gran documentación. En mi caso compilaron a la primera afortunadamente.

4) Mover .dll y .a dentro de las carpetas de MinGW

5) Generar una carpeta para las cabeceras

Se trata de copiar en una carpeta todas las cabeceras de desarrollo de las dependencias. Podrías dejarlas cada una en las carpetas descomprimidas. Mi recomendación es que crees una carpeta ‘limpia’ donde tengas todos los ficheros de include.

6) Configuración de la ruta de las cabeceras en Brakeza3D

Por último necesitarás indicarle al proyecto, cuales son las rutas para las cabeceras de desarrollo. La carpeta del punto anterior. Podrás hacerlo en CMakeLists.txt del raíz del proyecto.

 

 

Deja una respuesta

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