소스 검색

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. BIN
      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()
{

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

Loading…
취소
저장