OpenGL Samples Pack 4.1.6.0 : plus de 100 exemples OpenGL
Pour promouvoir les nouvelles fonctionnalités de la librairie graphique

Le , par r0ots, Membre averti
OpenGL Samples Pack 4.2.0.2
10 nouveaux exemples pour OpenGL 4.2


Sortie de OpenGL Samples Pack 4.2.0.2, qui présente le derniers ajouts d'OpenGL 4.2 et contient 10 exemples de code. L'auteur a également fait une review des nouvelles fonctionnalités dans ce document (en anglais).

Téléchargez OpenGL Samples Pack 4.2.0.2

Source

OpenGL Samples Pack 4.1.6.0
100 exemples OpenGL 2.1 à 4.1 pour promouvoir les nouvelles fonctionnalités d'OpenGL


Ce pack d'exemples permet de promouvoir les nouvelles fonctionnalités d'OpenGL et permet aux développeurs d'avoir une source d'information complémentaire à la spécification officielle.

Bien que les exemples soient le plus simple possible, ce pack d'exemples n'est pas destiné aux débutants. Il est adressé aux développeurs déjà familiers avec OpenGL qui souhaitent se mettre à jour ou qui souhaitent découvrir comment est implémentée telle ou telle fonctionnalité.

Cette version n'est pas majeure, mais permettra surtout de faire découvrir cette excellente source d'information à certains d'entre nous.

Ces exemples utilisent FreeGLUT pour créer une fenêtre et un contexte OpenGL, GLEW pour charger les extensions, GLM comme librairie mathématique et GLI pour charger les images.

Téléchargez OpenGL Samples Pack 4.1.6.0

Source : Le site du projet


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de LittleWhite LittleWhite - Responsable 2D/3D/Jeux https://www.developpez.com
le 19/05/2011 à 9:59
Citation Envoyé par r0ots  Voir le message
Pensez-vous présomptueux le fait de contacter la personne pour lui faire lire les remarques écrites ici?

Absolument pas.
Il faut lui signaler les remarques. En théorie, le créateur aime son projet et voudra le rendre plus beau encore Donc il acceptera les remarques et fera en sorte de modifier le programme.
Mais il y a aussi des cas, où l'on peut tomber sur un gars qui dit: "Moi GNU/Linux, j'en ai rien à faire, y a presque personne qui utilise ce système ... et le portage me pose trop de problème".
Enfin bref ... il y a de tout, mais le jeux en vaut le coup

Sinon, à la place du courriel, c'est une série de bugs que l'on peut rajouter dans la page de projet (qui doit contenir un bugtracker).

EDIT: Si par courriel, vous pouvez même lui montrer cette page (même s'il n'est pas francophone), dire que vous avez parler de son projet et tout cela. Il sera au moins content que l'on parle de son projet.
Avatar de vingt sens vingt sens - Membre du Club https://www.developpez.com
le 19/05/2011 à 10:42
EDIT: Si par courriel, vous pouvez même lui montrer cette page (même s'il n'est pas francophone), dire que vous avez parler de son projet et tout cela. Il sera au moins content que l'on parle de son projet.

Je pense qu'il est francophone: le nom de son site contient le mot 'truc' et les premiers posts sont en français.
Avatar de gbdivers gbdivers - Inactif https://www.developpez.com
le 19/05/2011 à 17:28
Bon, j'ai réussit à compiler le projet...

Voila la procédure que j'ai suivi :
- installer manuellement glew 1.6.0 (sur ubuntu, la version dans les paquets est la 1.5.x)
- dans ./CMakeLists.cmake, commenter les lignes 40 et 41 (pour ne pas utiliser les versions de freeglut et glew fournit, qui sont compilé sous windows) :
Code : Sélectionner tout
1
2
#addExternalPackageGTC("GLEW" "glew-1.6.0") 
#addExternalPackageGTC("FREEGLUT" "freeglut-2.6.0")
- dans ./samples/CMakeLists.cmake, ajouter les 2 lignes suivantes à la ligne 13 (pour linker glut et glew dans chaque binaire) :
Code : Sélectionner tout
1
2
target_link_libraries(${SAMPLE_NAME} GLEW) 
target_link_libraries(${SAMPLE_NAME} glut)
- dans ./common/glf/glf.hpp, ajouter la ligne suivante à la ligne 18 (pour définir la fonction getProcAddress) :
Code : Sélectionner tout
#	define glfGetProcAddress glutGetProcAddress
- dans ./common/glf/glf.inl, supprimer
Code : Sélectionner tout
__stdcall
- copier le dossier ./data dans ./build/data

Ensuite, dans . tapez
Code : Sélectionner tout
1
2
cmake . 
make
Et ça compile !

Par contre, l’exécution pose des problèmes :
- 2 cores tournant à plus de 60%
- que opengl 2.x et 3.0 qui fonctionnent, j'ai une erreur de segmentation pour opengl > 3.0 (NVIDIA GTX 460 + drivers 470.41.06 donc normalement je devrais avoir opengl 4.1 pris en charge)
Avatar de Groove Groove - Membre régulier https://www.developpez.com
le 19/05/2011 à 23:06
Il y a un bug entre les drivers de NVIDIA et GLEW qui empeche GLEW de recupérer les adresses functions OpenGL

Un workaround est de remplacer:
glutInitContextProfile(GLUT_CORE_PROFILE);
Par:
glutInitContextProfile(GLUT_COMPATIBILITY_PROFILE);

L'origine du prochain c'est que NVIDIA ne supporte pas le core profile d'OpenGL, seulement le compatibility profile a la difference de tous les autres IVH pour des raisons commercialles.

Plusieurs patchs ont été proposé sur GLEW sans pour autant avoir été accepté.

La seule solution robuste et cross-platform serait donc de se passer de GLEW et de tout charger a la main ou avec une autre bibliotheque...
Avatar de gbdivers gbdivers - Inactif https://www.developpez.com
le 20/05/2011 à 9:52
Citation Envoyé par Groove  Voir le message
Il y a un bug entre les drivers de NVIDIA et GLEW qui empeche GLEW de recupérer les adresses functions OpenGL

Un workaround est de remplacer:
glutInitContextProfile(GLUT_CORE_PROFILE);
Par:
glutInitContextProfile(GLUT_COMPATIBILITY_PROFILE);

L'origine du prochain c'est que NVIDIA ne supporte pas le core profile d'OpenGL, seulement le compatibility profile a la difference de tous les autres IVH pour des raisons commercialles.

Plusieurs patchs ont été proposé sur GLEW sans pour autant avoir été accepté.

La seule solution robuste et cross-platform serait donc de se passer de GLEW et de tout charger a la main ou avec une autre bibliotheque...

Je n'utilisais pas GLEW et ça va continuer suite à ton message

Je vais voir pour corriger cela dans le code
Avatar de gbdivers gbdivers - Inactif https://www.developpez.com
le 20/05/2011 à 13:03
Bon, en fait le problème venait du fait que dans glf.inl, le code pour charger les fonctions était protégé par un ifdef :

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
#ifdef WIN32 // ligne 53 
		glewInit(); 
		glGetError(); 
 
		// Load OpenGL 3.0 functions 
		glBindBufferBase = (PFNGLBINDBUFFERBASEPROC)glfGetProcAddress("glBindBufferBase"); 
... 
		glBufferAddressRangeNV = (PFNGLBUFFERADDRESSRANGENVPROC)glfGetProcAddress("glBufferAddressRangeNV"); 
#endif //WIN32 // ligne 304
Donc en commentant ces 2 lignes (53 et 304), les fonctions sont correctement chargées et disponibles

Maintenant, la plupart des démos fonctionne, même les version 410. Par contre, j'ai des erreur sur certaine démo (peut être des fonctionnalités non prises en charge, j'ai vu que certain programme on l'air spécifique à amd ou nvidia).

De plus, beaucoup de programme présente juste un carré orange ou l'image d'un canard... pas très fun, surtout quand on ne sait pas très bien la fonctionnalité qui est présentée.

Bref, peut être intéressant quand on connait une fonctionnalité et que l'on souhaite avoir un exemple d'implémentation mais pas pour découvrir les nouvelles fonctionnalités

Quelqu'un a envoyé un mail au développeur ?
Avatar de r0ots r0ots - Membre averti https://www.developpez.com
le 20/05/2011 à 13:52
Oui je lui ai envoyé un mail. Et d'ailleurs je me demande si Groove (3 posts plus haut) ne serait pas cette personne, vu sa signature.
Avatar de Groove Groove - Membre régulier https://www.developpez.com
le 20/05/2011 à 17:51
Citation Envoyé par gbdivers  Voir le message
De plus, beaucoup de programme présente juste un carré orange ou l'image d'un canard... pas très fun, surtout quand on ne sait pas très bien la fonctionnalité qui est présentée.

Oui, ces samples s'adressent avant tout a ceux qui connaissent deja OpenGL, qui lisent les nouvelles specifications et aboutissent a "oki, et en pratique ca donne quoi?" Ces samples sont la pratique et represente la base de l'utilisation d'OpenGL et non des techniques de rendus. Ce n'est donc pas un tutorial et ils ne s'adressent pas non plus au plus grand nombre. Ces samples offrent un commentaire avec du code aux specifications qui sont encore beaucoup moins accessible et pour de nombreuses fonctionnalités, il n'y a absolument aucune autre literature mais j'espere qu'ils permettent a d'autres developpeurs d'ecrire de bons tutoriaux. Dans l'imediat, ils servent a corrigé les implementations d'OpenGL et a clarifier les futures specifications ce qui n'est deja pas si mal.

Un bon tutorial que je recommande: http://www.arcsynthesis.org/gltut/
Tres précis car redigé par l'un des membres de la communauté des plus talentueux dans le domaine.

Sinon merci pour infos pour le build Linux, j'ai effectué quelques changements.
Avatar de gbdivers gbdivers - Inactif https://www.developpez.com
le 21/05/2011 à 13:05
Sinon merci pour infos pour le build Linux, j'ai effectué quelques changements.

Cool.

En tout cas, très bon boulot.

Je dois avouer que je ne suis pas encore à ce niveau. J'en suis encore à découvrir les techniques de rendu et pas à l'optimisation de l'implémentation (et donc je ne suis pas encore les nouvelles spécifications ; je n'ai pas encore testé OpenGL 4.x pour le moment)
Avatar de gbdivers gbdivers - Inactif https://www.developpez.com
le 24/08/2011 à 23:25
OpenGL Samples Pack 4.2.0.2
10 nouveaux exemples pour OpenGL 4.2


Sortie de OpenGL Samples Pack 4.2.0.2, qui présente le derniers ajouts d'OpenGL 4.2 et contient 10 exemples de code. L'auteur a également fait une review des nouvelles fonctionnalités dans ce document (en anglais).

Téléchargez OpenGL Samples Pack 4.2.0.2

Source
Avatar de gbdivers gbdivers - Inactif https://www.developpez.com
le 17/08/2012 à 1:18
Pour ceux qui sont intéressé par ces codes d'exemples, vous pouvez suivre les mises à jour sur la discussions suivantes (qui suit également les mises à jour des drivers) : http://www.developpez.net/forums/d11...pengl-drivers/
Offres d'emploi IT
Architecte systèmes études & scientifiques H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)
Consultant sap finance/controlling H/F
Safran - Ile de France - Vélizy-Villacoublay (78140)
Architecte sécurité des systèmes d'information embarqués H/F
Safran - Ile de France - 100 rue de Paris 91300 MASSY

Voir plus d'offres Voir la carte des offres IT
Responsable bénévole de la rubrique 2D - 3D - Jeux : LittleWhite -