Binaires

Les binaires sont disponibles dans l'onglet release. Seuls les binaires windows (32 et 64 bits) sont disponibles.

Builds

Dépendances

Le projet dépend de la bibliothèque Qt. Le projet est compatible avec Qt4 et Qt5. Aucune autre dépendance n'a besoin d'être installé.

Production

Pour compiler le projet, vous pouvez utiliser le fichier CMakeLists.txt (CMake) ou Couscous-raytracer.pro (QtCreator).

Démonstration Vidéo

Couscous Raytracer 1.0

Quelques rendus

Cornell Box Cornell Box

Cornell Box Metal Cornell Box Metal

Cornell Box Window Cornell Box Window

Sphere Sphere

Suzanne Suzanne

Lancer de rayons stochastique

Cliquez sur 📖 pour accéder au code source associé à la fonctionnalitée.

📖 Utilisation de l'algorithme Möller–Trumbore pour le test d'intersection rayon-triangle. Permet de facilement interpoler les normales pour faire du Smooth Shading.

📖 Les normales non interpolées sont calculées et stockées avant le rendu.

📖 Les sources de lumières sont des maillages qui ont un matériel avec une émission.

📖 Utilisation du modèle Phong pour l'éclairage direct.

📖 Accélération des tests d'intersection avec une grille de voxels. Parcours de la grille par Digital Differential Analyser.

📖 Anti-Aliasing par Jittered sampling.

📖 Réflexions avec coefficient de lissage réglable.

📖 Lancement de photons et scattering.

📖 Stockage des photons dans un kd-tree. Utilisation de nanoflann.

📖 Utilisation des photons pour l'éclairage indirect.

Fonctionnalités supplémentaires

  • Rendu de différents buffers (Normals, Direct Diffuse, Dirrect Specular, Photon Map, ...) disponible dans Debug > View
  • Personalisation de la scène depuis la GUI
    • Modification et ajout de matériaux
    • Modification et ajout de primitves
    • Modification et ajout d'instances de fichiers .OFF
    • Modification de la caméra et des paramètres de rendu
  • Plusieurs scènes disponibles par défaut dans Presets

Références