Kaynağa Gözat

Finish the slides

master
Skia 3 yıl önce
ebeveyn
işleme
7c4ea02838
5 değiştirilmiş dosya ile 45107 ekleme ve 23 silme
  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 Dosyayı Görüntüle

@@ -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
Dosya farkı çok büyük olduğundan ihmal edildi
Dosyayı Görüntüle


+ 0
- 4
shader_legacy150.vs Dosyayı Görüntüle

@@ -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 Dosyayı Görüntüle


+ 24
- 19
slides/slide.tex Dosyayı Görüntüle

@@ -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?\\

Yükleniyor…
İptal
Kaydet