Bladeren bron

Finish the slides

master
Skia 3 jaren geleden
bovenliggende
commit
7c4ea02838
5 gewijzigde bestanden met toevoegingen van 45107 en 23 verwijderingen
  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 Bestand weergeven

@@ -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
Diff onderdrukt omdat het te groot bestand
Bestand weergeven


+ 0
- 4
shader_legacy150.vs Bestand weergeven

@@ -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 Bestand weergeven


+ 24
- 19
slides/slide.tex Bestand weergeven

@@ -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}
@@ -104,14 +117,6 @@ Antonin \textsc{WALTZ}\\
\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}\\
Questions?\\

Laden…
Annuleren
Opslaan