:small_orange_diamond: Web: asmilex.github.io/Raytracing :small_orange_diamond:
:small_blue_diamond: PDF: Descargar :small_blue_diamond:
Sobre el proyecto • Instalación • Estructura • Contribuyendo • Enlaces de interés
Este repositorio contiene el desarrollo de un path tracer en tiempo real implementado en Vulkan con extensiones de Ray Tracing (KHR) basado en el de Ray Tracing In One Weekend, de Peter Shirley. Se incluye una memoria y varias utilidades relacionadas con el proyecto.
Es el trabajo de fin de grado de mi doble grado en IngenierÃa Informática y Matemáticas 🎓.
Requiere tener Vulkan instalado, un driver de Nvidia compatible con Vulkan, Cmake.
Para compilar y ejecutar el proyecto, haz lo siguiente:
git clone --recursive --shallow-submodules https://github.com/Asmilex/Raytracing.git
cd .\Raytracing\application\vulkan_ray_tracing\
mkdir build
cd build
cmake ..
cmake --build .
..\..\bin_x64\Debug\asmiray.exe
Cuando se haya ejecutado, deberÃan haber aparecido los makefiles necesarios. Si abres VSCode, en la pestaña de Run and Debug, deberÃas tener una opción para lanzar Asmiray. DeberÃa ir.
A fecha 2022-01-31, el repositorio está compuesto por los siguientes directorios:
./docs
: Documentación del proyecto. Toda la documentación está basada en markdown. Para convertirla en PDF y desplegarla en la web, se utiliza Pandoc. Tienes más información en el README correspondiente../RT_in_one_weekend
: Código del ray tracer de la serie de libros de Shirley original en CPU../application
: El futuro ray tracer en GPU se ubicará aquÃ. Ahora mismo está en pañales.Puedes acceder a Github Projects para ver la gestión de las tareas. Resulta especialmente útil para saber en lo que se está trabajando actualmente.
Cada commit deberÃa ir identificado con un emoji antes del mensaje, asà como terminar en un issue enlazado. Por ejemplo, [📓] Descripción de función de densidad (#71)
Estos son los iconos usados, asà como su significado:
Tipo de commit | Emoji | Cómo se escribe rápidamente |
---|---|---|
Documentación | :notebook: | :notebook: |
Archivo de configuración | :wrench: | :wrench: |
Integración continua | :construction_worker: | :construction_worker: |
Commit de Actions | :robot: | :robot: |
Quitar archivos | :fire: | :fire: |
Nuevas caracterÃsticas | :sparkles: | :sparkles: |
Test | :alembic: | :alembic: |
Refactorización | :recycle: | :recycle: |
Bugfix | :bug: | :bug: |
Los issues también deberÃan seguir el mismo estilo. Tienes un ejemplo aquÃ
En esta sección se recopilan enlaces útiles para el desarrollo del motor. Se irá actualizando conforme avance.
(Y, seguramente, desaparezca en el futuro)