Asmilex / Raytracing

Path tracer en tiempo real implementado sobre Vulkan KHR basado en Ray Tracing In One Weekend Series de Peter Shirley. Trabajo de fin de grado para el doble grado en Ingeniería Informática y Matemáticas de la UGR.
https://asmilex.github.io/Raytracing/
Apache License 2.0
8 stars 0 forks source link
dgiim raytracing tfg ugr

🔦 Los fundamentos de Ray Tracing en tiempo real 🔦

:small_orange_diamond: Web: asmilex.github.io/Raytracing :small_orange_diamond:

:small_blue_diamond: PDF: Descargar :small_blue_diamond:


 

:beginner: Tabla de contenidos :beginner:

Sobre el proyecto • Instalación • Estructura • Contribuyendo • Enlaces de interés

:bulb: Y esto, ¿de qué va exactamente?

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 🎓.

:gear: Instalación

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.

:evergreen_tree: Estructura del repositorio

A fecha 2022-01-31, el repositorio está compuesto por los siguientes directorios:

Visualización de la codebase

:handshake: Contribuyendo

:open_book: Github Projects

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.

:eyeglasses: Guía de estilo

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í

:link: Enlaces de interés

En esta sección se recopilan enlaces útiles para el desarrollo del motor. Se irá actualizando conforme avance.

(Y, seguramente, desaparezca en el futuro)

Implementaciones y tutoriales

Conocimiento