Programmation openGL
Accès direct à une rubrique
[revenir
à la page d'acceuil]
Documents
openGL SDK
openGL
Programming Guide (The Red Book)
openGL Specification / openGL Shading Language Specification (The Blue Book)
openGL Shading Language Book (The Orange Book)
à ne pas manquer :
GLSL quick reference guide
openGL man pages
re-programmer les fonctionnalités du pipeline fixe : sources GLSL (orange book)
générer automatiquement les shaders GLSL correspondant aux fonctionnalités du pipeline fixe
Mesa3D,
The Mesa 3D Graphics Library, une librairie compatible openGL
GLUT (à réserver aux TP !!)
glut,
the openGL Utility Toolkit, simplifie un certain nombre d'opérations
(ouverture d'une fenêtre, d'un contexte graphique, etc.)
documentation
glut
SDL
libSDL, une librairie portable (opengl, threads, timer, plugins, chargement d'images, reseau, audio, etc.)
libSDL Programming Guide
Extensions openGL
glew,
the openGL Extension Wrangler, simplifie (élimine les problèmes,
serait plus juste) l'utilisation des extensions openGL.
FAQ
OpenGL FAQ and
Troubleshooting Guide
Avoiding
16 Common OpenGL Pitfalls
Outils
- analyse de performances :
- debugger :
- shadercc
: petit utilitaire simpliste permettant de compiler les shaders depuis
un éditeur de texte (SciTE) et de naviguer dans les messages
d'erreurs.
Techniques : Modélisation
- représentation des objets par maillages
- simplification du maillage en fonction de la distance
- imposteurs : représentation basée image d'un maillage
- niveaux de détails continus :
- modélisation procédurale :
Techniques : Affichage
- affichage efficace d'un maillage :
- utilisation des vertex buffer objects
- pseudo-instancing
- triangles strips
- ordre global approximatif sur les triangles du maillage
- élimination des parties cachées
- frustum culling
- occlusion culling
- réduire la quantité de géométrie à afficher
- voir modélisation (simplification de maillages, imposteurs, niveaux de détails continus)
- affichage efficace d'une scène complète
- réduire les changement d'états (maillage et attributs, textures, shaders)
- construction d'atlas de textures pour limiter le nombre de changements d'états
nvidia Texture Tools + Atlas comparison Viewer
- réduire le nombre d'appels openGL
cf. vertex buffer objects et pseudo-instancing - voir cours M2PROIMA et GAMAGORA
Techniques : divers
- ombres et pénombres :
- utilisation des frame buffer objects, pour stocker directement la shadow map dans une texture
- shadow mapping "standard"
- filtrage des shadow maps :
- ombres douces :
- paramétrisation des shadow maps :
- ombres volumiques : cf. TD + correction
- tutoriaux T. Forsyth :
- rendu en 2 passes : 1 passe géométrie seule + 1 passe calculs
cf. généralisation : rendu différé
cf. ATI Xenos (GPU Xbox 360)
cf. DOOM III (id software)
cf. Source Engine (Valve : Half-Life 2, ...)
- rendu différé :
- ambient occlusion / indirect :
- Screen Space Ambient Occlusion
- animation :
- motion capture
- construction de séquences d'animations
à lire dans l'ordre, pour se faire une idée :
SDK :
pour en savoir plus :
- modélisation des collisions (élastiques, rigides, etc.)
- impulse based dynamics :
- position based dynamics :
- physics based animation :
- phénomènes naturels :
- relief
- végétation : SpeedTree Demo
- pluie : ATI ToyShop Demo
- océan
- ciel
- peau
- cheveux ati sdk
- demos :
- rendu haute dynamique (HDR)
- motion blur
- profondeur de champ
- harmoniques sphériques et pré-calculs
- P.P. Sloan
-
"Fast, Arbitrary BRDF Shading for Low-Frequency Lighting Using Spherical
Harmonics",
Jan Kautz, Peter-Pike Sloan and John Snyder,
-
"Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low-Frequency
Lighting Environments",
Peter-Pike Sloan, Jan Kautz, and John Snyder,
-
"Bi-Scale Radiance Transfer",
Peter-Pike Sloan, Xinguo Liu, Heung-Yeung Shum, and John Snyder,
-
"All-Frequency Precomputed Radiance Transfer for Glossy Objects",
Xinguo Liu, Peter-Pike Sloan, Heung-Yeung Shum, and John Snyder,
-
"Local, Deformable Precomputed Radiance Transfer",
Peter-Pike Sloan, Ben Luna, and John Snyder,
-
"Normal Mapping for Precomputed Radiance Transfer",
Peter-Pike Sloan,
-
"Real-time Soft Shadows in Dynamic Scenes using Spherical Harmonic Exponentiation"
Zhong Ren, Rui Wang, John Snyder, Kun Zhou, Xinguo Liu, Bo Sun,
Peter-Pike Sloan, Hujun Bao, Qunsheng Peng, and Baining Guo,
- "Precomputed Shadow Fields for Dynamic Scenes"
Kun Zhou, Yaohua Hu, Stephen Lin, Baining Guo, Heung-Yeung Shum.
- "Spherical Harmonic Scaling"
Jiaping Wang, Kun Xu, Kun Zhou, Stephen Lin, Shimin Hu, Baining Guo
- quelques explications plus digestes :