OpenGL["noël"]

OpenGL["noël"]

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

›Annexe: API OpenGL

Introduction et SDK

  • Introduction
  • Fiche d'information
  • Projet - Un viewer glTF

Forward Renderer

  • Pipeline de Rendu
  • Geometrie
  • Shaders
  • Transformations
  • Lighting
  • Textures
  • Chargement de modèles OBJ
  • Aller plus loin

Deferred Renderer

  • Pipeline de Rendu
  • Geometrie Pass
  • Shading Pass
  • Aller plus loin

Shadow Mapping

  • Introduction
  • Directional Shadow Map
  • Percentage Closest Filtering
  • Aller Plus Loin

Post Processing

  • Introduction
  • Gamma Correction
  • Extraction et Rendu de Contours
  • Depth of Field

Annexe: API OpenGL

  • Contexte OpenGL
  • Pipeline de Rendu
  • Extensions OpenGL
  • Objets OpenGL
  • Buffer Objects
  • Vertex Array Objects
  • Texture Objects
  • Framebuffer Objects
  • Shaders

Shaders

Les shaders sont de cours programmes compilés pour fonctionner sur carte graphique, dans les stages dit programmables du pipeline.

Plusieurs languages de shading existent mais nous utilisons GLSL dans ces TPs car OpenGL fournie une API et compilation et link pour ce language.

A lire: https://www.khronos.org/opengl/wiki/OpenGL_Shading_Language

Différents types de shaders existent, ceux que nous utilisons dans ces TPs sont:

  • Vertex Shaders: Se charge du calcul par sommet. Généralement il projete le sommet en entrée sur l'écran afin que les triangles soit prêt pour la rasterisation.
  • Fragment Shaders: Se charge du calcul par fragment. Les fragments sont générés par la rasterisation à partir des triangles, en interpolant les attributs aux sommets. Lorsqu'un fragment n'est pas occulté par un autre, il apparait dans un pixel de l'image finale, dont la couleur a été calculée par le fragment shader.
  • Geometry Shaders: Shader optionnel qui vient se placer après le vertex shader et avant la rasterisation. Il implémente un calcul par primitive (point, ligne ou triangle) et à la possibilité de générer de nouvelles primitives à partir de sa primitive d'entrée.
  • Compute Shaders: Petit dernier introduit dans la spécification, le compute shader permet d'implémenter un calcul parallèle quelquonque sur GPU, en dehors du pipeline. Il permet de faire du GPGPU en OpenGL, comme en Cuda ou en OpenCL.
← Framebuffer Objects
OpenGL["noël"]
About Me
Personal websiteGithub
About This Website
BlogopenglnoelPowered by Docusaurus
About OpenGL
Documentation (docs.gl)Wiki
Copyright © 2021 Laurent NOEL