Parcourir la source

Finish the slides

master
Skia il y a 4 ans
Parent
révision
7c4ea02838
5 fichiers modifiés avec 45107 ajouts et 23 suppressions
  1. +12
    -0
      res/dragon_from_scratch/dragon.mtl
  2. +45071
    -0
      res/dragon_from_scratch/dragon.obj
  3. +0
    -4
      shader_legacy150.vs
  4. BIN
      slides/slide.pdf
  5. +24
    -19
      slides/slide.tex

+ 12
- 0
res/dragon_from_scratch/dragon.mtl Voir le fichier

@@ -0,0 +1,12 @@
# Blender MTL File: 'dragon.blend'
# Material Count: 1

newmtl Material
Ns 96.078431
Ka 1.000000 1.000000 1.000000
Kd 0.640000 0.640000 0.640000
Ks 0.500000 0.500000 0.500000
Ke 0.000000 0.000000 0.000000
Ni 1.000000
d 1.000000
illum 2

+ 45071
- 0
res/dragon_from_scratch/dragon.obj
Fichier diff supprimé car celui-ci est trop grand
Voir le fichier


+ 0
- 4
shader_legacy150.vs Voir le fichier

@@ -1,13 +1,10 @@
#version 150

// FIXME

attribute vec3 Position;
attribute vec3 Normal;
attribute mat4 BoneTransform[4];
attribute float Weights[4];

varying vec2 TexCoord0;
varying vec3 Normal0;
varying vec3 WorldPos0;

@@ -15,7 +12,6 @@ const int MAX_BONES = 100;

uniform mat4 gWVP;
uniform mat4 gWorld;
uniform mat4 gBones[MAX_BONES];

void main()
{

BIN
slides/slide.pdf Voir le fichier


+ 24
- 19
slides/slide.tex Voir le fichier

@@ -52,21 +52,12 @@ Antonin \textsc{WALTZ}\\
\end{figure}
\end{frame}

\section{Choix technologiques}
\begin{frame}
\frametitle{Choix technologiques}
\begin{itemize}
\item Utilisation de la librairie Asset Import
\item %TODO
\end{itemize}
\end{frame}

\section{Architecture}
\begin{frame}
\frametitle{Structure d'un Mesh}
\begin{figure}[H]
\begin{center}
\includegraphics[width=0.7\textwidth]{MeshStructure.jpg}
\includegraphics[width=0.8\textwidth]{MeshStructure.jpg}
\caption{Diagramme de classe pour la structure d'un Mesh}
\end{center}
\end{figure}
@@ -76,12 +67,34 @@ Antonin \textsc{WALTZ}\\
\frametitle{Structure d'une Animation}
\begin{figure}[H]
\begin{center}
\includegraphics[width=0.7\textwidth]{AnimStructure.jpg}
\includegraphics[width=0.9\textwidth]{AnimStructure.jpg}
\caption{Diagramme de classe pour la structure d'une animation}
\end{center}
\end{figure}
\end{frame}

\section{Animation}
\begin{frame}{Calcul des transformations}
\begin{itemize}
\item Utilisation d'une liste de matrices, associée aux bones
\item La scène passe au shader les matrices de transformation du monde
\item Le mesh passe au shader les informations pour chaque vertex (position, normale, bone ID, poids)
\end{itemize}
\end{frame}

\begin{frame}{Shader}
\begin{itemize}
\item Entrées: Position, Normale, BoneTransform[4], Weights[4]
\item Sorties: Normal, WorldPosition
\item Entrées uniformes: ModelPosition, WorldTransform
\end{itemize}
Actions effectuées:
\begin{itemize}
\item Somme de toutes les transformations de BoneTransform multipliées par Weights.
\item Multiplication de la transformation obtenue par celle du monde et du mesh
\item Multiplication de cette dernière matrices par la position du vertex et la normale pour les envoyer en sortie
\end{itemize}
\end{frame}

\section{Bilan}
\begin{frame}
@@ -103,14 +116,6 @@ Antonin \textsc{WALTZ}\\
\end{itemize}
\end{frame}

\begin{frame}
\frametitle{Conclusion}
\begin{itemize}
\item Première expérience de programmation graphique avec OpenGL
\item Découverte de la librairie Asset Import
\end{itemize}
\end{frame}

\begin{frame}
\begin{center}
\textbf{Merci de votre attention}\\

Chargement…
Annuler
Enregistrer