Browse Source

chapters/cinema: ajout du chapitre

Alexandre Janniaux 6 years ago
parent
commit
88f99b6eca
2 changed files with 42 additions and 0 deletions
  1. 41 0
      chapters/cinema.tex
  2. 1 0
      main.tex

+ 41 - 0
chapters/cinema.tex

@@ -0,0 +1,41 @@
+\section{Fonctionnement}
+
+Le cinéma 3D est fait pour fonctionner dans un contexte de réalité virtuelle, la
+latence d'affichage a donc été un critère crucial pour pouvoir fournir une bonne
+expérience à l'utilisateur. Afin de la minimizer, l'ensemble de la partie rendu
+fonctionne dans le module manipulant la sortie vidéo OpenGL. Cela permet
+d'effectuer le rendu final de la scène sur la surface de rendu au lieu de mettre
+l'image rendue dans la file d'image à afficher puis attendre qu'elle soit
+sélectionnée.
+
+Ce module de rendu est un module de type «video_output» s'occupant des détails
+liés à opengl, qu'on raccourcira ici pour «vout». Le code qui nous concerne sera
+principalement situé dans le fichier
+\texttt{modules/video_output/opengl/vout_helper.c}.
+
+\section{Shaders}
+
+Étant donné que le rendu s'effectue via OpenGL, le pipeline de rendu n'est pas
+un pipeline fixe et il faut alors écrire au moins deux programmes spéciaux pour
+correctement le définir: un vertex shader et un fragment shader.
+
+% TODO; expliquer fonctionnement du pipeline
+
+Le vertex shader s'exécute sur chaque vertex et permet de définir de nouvelles
+valeurs qui pourront être réutilisées en entrée par les fragments shaders. En
+particulier, les transformations de l'espace de coordonnées objet à l'espace de
+coordonnées monde s'effectue dans ce programme.
+
+Le fragment shader s'exécute pour chaque pixel à afficher et peut définir des
+règles d'interpolation sur les paramètres qu'il récupère depuis le vertex
+shader.
+
+Dans le fichier \texttt{modules/video_output/opengl/fragment_shader.c}, on peut
+retrouver le fragment shader.
+
+% TODO: expliquer chargement de texture comme paramètre pour le fragment shader
+% TODO: expliquer Blinn-Phong
+% TODO: expliquer chargement des textures et modèles
+% TODO: expliquer débogage (normal, position, apitrace, etc)
+% TODO: expliquer travail effectué au début
+% TODO: expliquer fonctionnement HMD

+ 1 - 0
main.tex

@@ -120,6 +120,7 @@ Renforcement de la sécurité d'un lecteur vidéo multiplate-forme par séparati
 \chapter{Qu'est-ce que la réalité virtuelle}
 
 \chapter{Objectifs du projet}
+\input{chapters/cinema.tex}
 
 
 \part{Missions subsidiaires}