Salut à tous,
Je cherche à savoir s'il y a un ordre strict dans lequel créer les matrices pour effectuer un rendu avec OpenGL 3.
J'ai besoin dans mon cas de générer les matrices modelViewMatrix, modelViewProjectionMatrix et normalMatrix. Suivant les termes d'OpenGL.
Savoir comment les générer individuellement ne me pose aucun problème. J'ai juste l'impression que je ne fais pas les choses dans le bon ordre, pour le moment je fais :
1. Génération de la matrice de projection, je la stocke dans un coin et je n'y touche plus.
"Pour chaque image"
{
2. Je positionne ma camera et donc génère une matrice de base que j'appel (peut-être à tord) la base de ma modelViewMatrix.
3. Je génére ma normalMatrix depuis la modelViewMatrix.
4. Je génére une nouvelle matrice en multipliant ma modelViewMatrix avec matrice de projection (1), j'obtient la modelViewProjectionMatrix.
"Pour chaque objet"
{
5. Je reprend mes trois matrices modelViewMatrix, modelViewProjectionMatrix et normalMatrix, et j'applique les coordonnées de l'objet en cours.
6. J'envois le tout au program GLSL pour le rendu.
}
}
Voila, c'était donc pour savoir si l'ordre était correct ?
Pour infos, mes images sont droites, j'essaie simplement d'appliquer une éclairage de type Phong, et je m'en sort pas avec les reflets (ils sont figés) et je doute des matrices, particulièrement de la modelViewMatrix et la normalMatrix.
Partager