浏览代码

Finish the slides

master
Skia 3 年前
父节点
当前提交
7c4ea02838
共有 5 个文件被更改,包括 45107 次插入23 次删除
  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. 二进制
      slides/slide.pdf
  5. +24
    -19
      slides/slide.tex

+ 12
- 0
res/dragon_from_scratch/dragon.mtl 查看文件

@@ -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
文件差异内容过多而无法显示
查看文件


+ 0
- 4
shader_legacy150.vs 查看文件

@@ -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()
{

二进制
slides/slide.pdf 查看文件


+ 24
- 19
slides/slide.tex 查看文件

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

正在加载...
取消
保存