Je suis sûr qu'il y a déjà un tas de questions comme celle-ci, mais la mise à jour constante de la bibliothèque OpenGL les jette toutes, et dans un mois ou deux, les réponses ici seront à nouveau sans valeur.
Je suis prêt à commencer la programmation en OpenGL en utilisant C ++. J'ai un compilateur fonctionnel (DevCpp; ne me demandez PAS de passer à VC ++, et ne me demandez pas pourquoi). Maintenant, je cherche juste un tutoriel solide sur la façon de programmer avec OpenGL. Mon assistant a trouvé le tutoriel fourni par NeHe Productions, mais comme je suis venu le découvrir, c'est bien hors de la date! (même si j'ai rassemblé une fenêtre de base pour prendre en charge un canevas OpenGL)
Ensuite, je suis allé en ligne et j'ai trouvé l'OpenGL SuperBible, qui utilise apparemment freeglut? Mais ce que je voudrais savoir, c'est si SuperBible 5ème édition est à jour ou non. La suggestion de freeglut que j'ai trouvée disait que la dernière version était 2.6.0 mais maintenant c'est 2.8.0!
- L'OpenGL SuperBible est-il toujours un bon point de départ et assez à jour?
- Y a-t-il un meilleur endroit où aller pour apprendre OpenGL?
- Suis-je autorisé à simplement stocker freeglut dans le répertoire d'inclusion de DevCpp (peut-être dans GL), ou y a-t-il une procédure importante?
- Y a-t-il des commentaires ou des suggestions que je n'ai pas pensé demander puisque je ne fais que commencer?
@dreta a clarifié certaines choses pour moi, alors maintenant j'ai une meilleure idée de ce qu'il faut demander:
Je pense que je voudrais commencer avec OpenGL en utilisant une bibliothèque wrapper au lieu d'accéder directement à OpenGL.
Je pense juste que, pour un débutant, il serait plus facile pour moi de programmer et d'obtenir de bons résultats, alors que je n'ai pas encore besoin de comprendre tous les détails crasseux (comme l'a mentionné @stephelton).
Le problème est que je ne trouve aucune bibliothèque qui n'a pas de références non définies à des fonctions qui ne sont plus prises en charge. Freeglut semble opérationnel, mais il utilise toujours GLU.
Est-ce que quelqu'un sait ce que je peux faire?
De plus, j'ai essayé de compiler la première source de SuperBible, mais j'ai eu des erreurs car GLAPI n'est pas défini comme un type, l'erreur provenant de la bibliothèque GLU.
J'aimerais utiliser la SuperBible, mais je ne sais pas comment résoudre ce problème.
Réponses:
Notre résident Nicol Bolas tient un livre en ligne sur la programmation graphique moderne . Il utilise OpenGL moderne, tout est présenté à un rythme facile à consommer, c'est un bon point de départ. Je l'ai utilisé pour apprendre l'OpenGL moderne et cela m'a fait des merveilles au cours des 2 derniers mois.
À côté de cela, il y a des connaissances ici et là. Le wiki OpenGL est assez bien maintenu. Le code n'est pas des «meilleures pratiques» et il y a parfois une ambiguïté en ce qui concerne la version OpenGL, mais en dehors de ces rares occasions, c'est une excellente ressource.
Si vous voulez en savoir plus sur GLSL, il y a le tutoriel GLSL Core de lighthouse3D. Bien qu'il s'agisse de la seule connaissance de base à laquelle je "fais confiance" sur le site, le reste a tendance à être dépassé.
Une fois que vous aurez commencé à comprendre comment fonctionne OpenGL moderne, vous aurez du mal à rechercher des informations spécifiques, à filtrer le code obsolète et, surtout, à lire les spécifications. Il suffit de commencer quelque part.
La plupart, sinon la totalité des livres OpenGL disponibles sont obsolètes. La nouvelle SuperBible est un monstre quelconque et je ne le recommanderais à personne. Le Guide de programmation OpenGL pour OpenGL 4.1 sort le 16 septembre, malheureusement la 7e édition utilise du code obsolète, vous n'avez donc qu'à attendre, j'en suis sûr.
Et bien sûr, vous pouvez toujours poser des questions ici.
la source
Cela fait un moment que cette question n'a pas été posée mais j'espère que cela aidera les gens qui ont la même question que vous.
J'ai commencé avec OpenGL en lisant un mini-livre
arcsynthesis.org
. Je ne sais pas qui l'a écrit. Il semble que l'enregistrement du site soit expiré ou quelque chose comme ça, mais vous devriez pouvoir le trouver ici: http://web.archive.org/web/20140209181347/http://www.arcsynthesis.org/gltut/ . Il utilise OpenGL 3.3, vous utiliserez donc le pipeline moderne et toutes les pratiques que cela implique, mais vous ne serez pas exposé à la tessellation ou aux shaders de calcul.Un autre site mérite d'être consulté est https://open.gl/ . Il semble être très concentré sur les débutants et ne couvre pas les choses aussi en profondeur que le matériel ci-dessus, mais cela pourrait être un bon point de départ pour les personnes qui commencent tout juste.
N'oubliez pas de lire le wiki OpenGL et de google vos noms de fonction si vous avez besoin d'aide. Certaines pages du wiki sont complètement inutiles mais d'autres sont très utiles, à la fois comme référence et comme matériel d'apprentissage.
la source
Ces anciens tutoriels sont toujours très pertinents pour les débutants. En fait, je suggère de commencer par là plutôt qu'avec des versions récentes d'OpenGL. Des versions plus récentes ont abandonné certaines des méthodes les plus faciles de dessiner la géométrie (à savoir le dessin en mode immédiat).
Avec les versions récentes, vous devez préparer et envoyer des tableaux de sommets et indiquer à la carte vidéo comment vos sommets sont organisés dans le tableau que vous fournissez. Ces choses sont lourdes à déboguer.
Certaines versions (à savoir OpenGL ES 2.x) vous obligent à fournir vos propres équations d'éclairage (sous la forme de Fragment Shaders) et à transformer vos propres données de vertex afin qu'elles finissent sur l'écran où vous le souhaitez (Vertex Shaders). C'est encore plus difficile à déboguer, et ce n'est pas un endroit pour un débutant (à mon avis).
Je vous suggère donc de revenir à ces didacticiels NeHe (etc.) et de commencer par là. Ils peuvent être "obsolètes" mais ils fonctionnent toujours. Lorsque vous commencez à comprendre ce qui se passe réellement dans le pipeline de rendu dans OpenGL et à avoir une idée de certains des concepts mathématiques qui font fonctionner ces choses, alors vous serez prêt à examiner certaines des méthodes les plus à jour de rendu en OpenGL.
la source
Comme d'autres l'ont dit, la plupart des livres sont obsolètes ou trop avancés. Néanmoins, je recommanderais la 5e édition de la SuperBible, mais seulement pour avoir un aperçu rapide de ce qui peut être fait dans OpenGL et pour se familiariser avec des choses comme la vue / projection, etc.
Plonger immédiatement dans OpenGL moderne pourrait peut-être vous submerger au début, alors pensez à apprendre à faire certaines choses de base dans les versions désormais obsolètes.
Je voudrais également ajouter un site avec de bons tutoriels que j'ai trouvés récemment http://ogldev.atspace.co.uk/
la source
arcsynthesis.org (le site mentionné dans la réponse acceptée) semble malheureusement être en panne. (EDIT: il est disponible sur ce lien !).
Les tutoriels d'Anton Gerdelan pour OpenGL 4 sont très lisibles et à jour à la mi-2014. Les premiers sont gratuits, les autres sont disponibles sur Amazon, où ils ont de bonnes critiques, pour un petit prix. Jusqu'à présent, j'ai été satisfait.
Il existe d'autres didacticiels gratuits pour OpenGL 3.3+ sur http://www.opengl-tutorial.org/ . Ils remontent à 2012, mais peuvent constituer un bon matériel supplémentaire pour d'autres sources.
la source