OpenGL["noël"]

OpenGL["noël"]

  • Intro et SDK
  • Bronze
  • Silver
  • Gold
  • Blog
  • OpenGL Documentation
  • OpenGL Wiki
  • GitHub
  • My glTF Viewer Tutorial

›3D - La théorie

3D - La théorie

  • Introduction
  • La Normal Matrix
  • Un exemple de Vertex Shader pour la 3D
  • La bibliothèque glm

3D - La pratique

  • Introduction
  • Les classes Sphere et Cone
  • Dessiner une sphere
  • Dessiner une lune
  • Dessiner la terre
  • Multi-texturing
  • Utiliser plusieurs shaders

Gestion de la caméra

  • Introduction
  • Trackball Camera
  • Freefly Camera

Put the lights on !

  • Introduction
  • Directional Light
  • Point Light
  • Aller plus loin

Projet(s)

  • Projet: IM(A)ineCraft

La bibliothèque glm

Le calcul des matrices se fera dans le code C++. On enverra ensuite à chaque tour de la boucle principale les matrices MV, MVP et NormalMatrix au shader en utilisant des variables uniformes. On pourrait s'amuser à recoder toute une bibliothèque de gestion de vecteur / matrices mais, heureusement, d'autres l'ont fait pour nous :D

Nous allons utiliser la bibliothèque glm. Celle ci a pris le partit d'utiliser les même nom de types / fonctions que le langage GLSL. Ainsi le type glm::vec3 est sémantiquement identique au type vec3 de GLSL. De cette manière vous n'aurez quasiement rien à apprendre de plus.

La documentation en ligne donne une description de chacune des fonctions. Quand le mot clef genType est utilisé, cela représente n'importe quel type numérique. Par exemple sur la page Common functions, les lignes:

template<typename genType>
genType abs(genType const &x);

indiquent qu'il existe une fonction glm::abs pour calculer la valeur absolue de n'importe quel nombre quel que soit son type numérique (int, float, double, mais également les types vecteurs comme glm::vec3).

← Un exemple de Vertex Shader pour la 3DIntroduction →
OpenGL["noël"]
About Me
Personal websiteGithub
About This Website
BlogopenglnoelPowered by Docusaurus
About OpenGL
Documentation (docs.gl)Wiki
Copyright © 2021 Laurent NOEL