Parallélisme - Le projet KF-Ray

publicité
KF-RAY
Raytracer parallèle
KARIN
AIT-SI-AMER
FLORIAN
DANG
ELI 4
Projet long d’informatique
raytracer
parallèle
1
KFray
raytracer
parallèle
2
KFray
raytracer
parallèle
Introduction
• Production d’images photos saisissantes
de réalisme
• De nombreux domaines d’application
(films d’animation, design, infographie,
milieu médical…)
• Algorithme gourmand en temps de calcul
3
KFray
raytracer
parallèle
• Nécessité de paralléliser son exécution
• Logiciels professionnels coûteux et d’une
prise en main difficile
• Un logiciel libre dominant : POV-Ray.
4
KFray
raytracer
parallèle
Notre programme souhaite :
• Implémenter l’algorithme de raytracing
pour générer des images 3D
• Etre très simple d’utilisation
(incluant une interface graphique)
• Inclure du parallélisme
5
KFray
raytracer
parallèle
I.
Principe du raytracing
II.
Liste des features
III. Limites et perspectives
6
KFray
raytracer
parallèle
A – Principe physique
I. PRINCIPE DU
RAYTRACING
A – Principe physique
B – Structure du programme
C – Algorithme principal
D – Gestion du projet
7
KFray
raytracer
parallèle
A – Principe physique
I. PRINCIPE DU
RAYTRACING
A – Principe physique
B – Structure du programme
C – Algorithme principal
D – Gestion du projet
8
KFray
raytracer
parallèle
B – Structure du programme
Fichier de description
de scène 3D
Création de la scène
I. PRINCIPE DU
RAYTRACING
A – Principe physique
B – Structure du
programme
C – Algorithme principal
D – Gestion du projet
9
Image au format ppm
KFray
raytracer
parallèle
B – Structure du programme
I. PRINCIPE DU
RAYTRACING
A – Principe physique
B – Structure du
programme
C – Algorithme principal
D – Gestion du projet
10
KFray
raytracer
parallèle
C – L’algorithme principal
I. PRINCIPE DU
RAYTRACING
A – Principe physique
B – Structure du programme
C – Algorithme principal
D – Gestion du projet
Pour chaque pixel de l’écran Faire
définir le rayon primaire œil-pixel;
Pour chaque objet Faire
tester les intersections;
prendre la plus proche;
FinPour
relancer des rayons vers les sources
lumineuses;
calculer l’éclairement du point d’intersection;
affecter la couleur du pixel;
FinPour
11
KFray
raytracer
parallèle
D – Gestion du projet
I. PRINCIPE DU
RAYTRACING
• Le choix du langage : C
A – Principe physique
B – Structure du programme
C – Algorithme principal
D – Gestion du projet
• Subversion (SVN)
• Doxygen
12
KFray
raytracer
parallèle
D – Gestion du projet
13
KFray
raytracer
parallèle
A – Modèles d’éclairement
II. LISTE DES FEATURES
A – Modèles d’éclairement
B – Ombrage & réflexion &
transparence
C – Textures & caméra
D – Parallélisme
Modèle de Lambert
14
KFray
raytracer
parallèle
A – Modèles d’éclairement
II. LISTE DES FEATURES
A – Modèles d’éclairement
B – Ombrage & réflexion &
transparence
C – Textures & caméra
D – Parallélisme
Modèle de Phong
15
KFray
raytracer
parallèle
A – Modèles d’éclairement
II. LISTE DES FEATURES
A – Modèles d’éclairement
B – Ombrage & réflexion &
transparence
C – Textures & caméra
D – Parallélisme
Modèle de Blinn-Phong
16
KFray
raytracer
parallèle
B – Ombrage, réflexion et transparence
II. LISTE DES FEATURES
A – Modèles d’éclairement
B – Ombrage & réflexion &
transparence
C – Textures & caméra
D – Parallélisme
Exemple de réflexion et d’ombrage
17
KFray
raytracer
parallèle
B – Ombrage, réflexion et transparence
II. LISTE DES FEATURES
A – Modèles d’éclairement
B – Ombrage & réflexion &
transparence
C – Textures & caméra
D – Parallélisme
Transparence
18
KFray
raytracer
parallèle
C – Texture & caméra
II. LISTE DES FEATURES
A – Modèles d’éclairement
B – Ombrage & réflexion &
transparence
C – Textures & caméra
D – Parallélisme
Textures procédurales
19
KFray
raytracer
parallèle
C – Texture & caméra
II. LISTE DES FEATURES
A – Modèles d’éclairement
B – Ombrage & réflexion &
transparence
C – Textures & caméra
D – Parallélisme
Bump mapping
20
KFray
raytracer
parallèle
C – Texture & caméra
II. LISTE DES FEATURES
A – Modèles d’éclairement
B – Ombrage & réflexion &
transparence
C – Textures & caméra
D – Parallélisme
Caméra et perspective
21
KFray
raytracer
parallèle
D – Parallélisme
II. LISTE DES FEATURES
A – Modèles d’éclairement
B – Ombrage & réflexion &
transparence
C – Textures & caméra
D – Parallélisme
Découpage de l’image
22
KFray
raytracer
parallèle
D – Parallélisme
II. LISTE DES FEATURES
A – Modèles d’éclairement
B – Ombrage & réflexion &
transparence
C – Textures & caméra
D – Parallélisme
Efficacité du parallélisme
23
KFray
raytracer
parallèle
A – Priorités face au temps imparti
III. LIMITES ET
PERSPECTIVES
• Réfraction
A – Priorités face au temps
imparti
B – Améliorations du
• Textures images (environment mapping)
parallélisme
C – Google Code
• Anti-aliasing
24
KFray
raytracer
parallèle
B – Améliorations du parallélisme
III. LIMITES ET
PERSPECTIVES
• Surcoût des communications
A – Priorités face au temps
imparti
B – Améliorations du
• Faire travailler le maître
parallélisme
C – Google Code
• Système « auto-régulé »
25
KFray
raytracer
parallèle
C – Google Code
III. LIMITES ET
PERSPECTIVES
• Open Source sous licence GPL
A – Priorités face au temps
imparti
B – Améliorations du
• Possibilité d’évolution
parallélisme
C – Google Code
26
KFray
raytracer
parallèle
Merci de votre attention
27
Téléchargement