10
votes

Est-il préférable de sauter OpenGL 2.x et de commencer à apprendre OpenGL 3.x?

Y a-t-il d'énormes différences dans OpenGL 3.x vs 2.x? Est-ce une perte de temps d'apprentissage OpenGL 2.x ou suivez-vous tous les deux le même concept? Je pense que j'ai lu quelque part que 2.x était basé sur l'état et que 3.x n'était pas, est-ce correct?


0 commentaires

6 Réponses :


-7
votes

apprendre tout ce qui a le matériel le plus d'apprentissage écrit à ce sujet. Les tutoriels de Nehe sont un bon endroit pour commencer.

J'ai fait un peu de travail OpenGL il y a quelques mois, et alors que je ne me souviens pas de la version de la programmation, je peux vous dire que ce sont les concepts les plus importants. Cela est particulièrement vrai lorsque vous commencez et ne pas traiter avec des shaders et ce que rien.

(voir la réponse de Malte Clasen.)


2 commentaires

Je considère que ce conseil dangereux: ne pas traiter avec les shaders entraîne l'apprentissage du pipeline de fonction fixe obsolète. Le sous-ensemble que vous avez apparemment commencé avec n'est plus disponible dans OpenGL 3.


Je suis d'accord, OpenGL a de vaste changé depuis que Nehe Tutoriels. Et si vous voulez vraiment profiter de l'accélération matérielle, ce qui sera probablement fou de vouloir utiliser OpenGL et ne veut pas le faire, car il y a des tonnes plus facilement des bibliothèques pour apprendre, Nehe ne sera pas peu utile pour vous .



11
votes

Ils sont presque entièrement compatibles à l'envers, alors tout ce que vous apprenez avec une version plus ancienne va s'appliquer aux versions ultérieures. Si vous devez «viser» quelque part en particulier, 2.0 est probablement un bon choix. Si vous regardez La page OpenGL Wikipedia , vous pouvez voir ce qui a été ajouté à la Différentes versions et décident de vous-même quels fonctionnalités vous pensez avoir besoin.


1 commentaires

Homme, les gens continuent de voter moi. Suck it. Je supporterai ce conseil, en particulier lorsqu'il n'y a toujours pas de personne qui est apparu avec des ressources spécifiques GL 3. Vous pouvez apprendre que les shaders fonctionnent bien avec 2.x, et si la méthode permettant de nourrir la géométrie à GL, même une petite partie de la difficulté de votre tâche, j'aimerais être à votre place.



49
votes

Soyez prudent. OpenGL 3 déprécie beaucoup de fonctions, en particulier celles des premiers jours de OpenGL. Si vous commencez avec des tutoriels obsolètes (comme la plupart des NEHE), vous vous habituerez probablement à vous habituer un style obsolète de OpenGL 2.

Il n'y a pas de pipeline de fonction fixe dans OpenGL 3 (si vous n'utilisez pas les fonctionnalités de compatibilité en arrière). Vous devez utiliser des shaders. Il n'y a plus de GLBEGIN / GLEND. Vous devez utiliser des tampons de sommet. Les deux sont déjà disponibles dans OpenGL 2, mais la plupart des tutoriels commencent par GLBEGIN / GLEND et définissent les propriétés de couleur OpenGL. C'est une différence très importante.

OpenGL 2 offre d'innombrables façons de mettre quelque chose à l'écran, chacun d'entre eux étant couvert d'au moins un tutoriel populaire. OpenGL 3 supprime beaucoup d'entre eux, y compris le "sous-ensemble de débutants" de OpenGL 2 (fonction fixe GLBEGIN / GLEND). Donc, si vous voulez cibler OpenGL 3 à long terme, allez-y dès le début. Il n'y a rien de plus démotivant que d'être coincé dans une impasse.


4 commentaires

OpenGL 3 ne dépose rien. La dépréciation signifie qu'il sera abandonné à l'avenir, et non que cela a été abandonné. Tant que l'on utilise un contexte complet, tout ce que vous vous inquiétez, c'est toujours là. Je doute gravement des pilotes abandonnaient la prise en charge du pipeline de fonction fixe pendant une très longue période, en considérant à quel point le logiciel existant l'utilise.


Avec OpenGL 3, dans l'ensemble de la famille 3.x 3.2, et que la version 3.2 récemment publiée laisse réellement des fonctions obsolètes. Voir "Quoi de neuf dans OpenGL 3.2", OpenGL.org/documentation/current_version : "OpenGL 3.2 Et le langage OpenGL Companion OpenGL 1.50 Ajoutez de nombreuses nouvelles fonctionnalités, tout en simplifiant simultanément l'API et l'ombrage en supprimant les interfaces de fonctionnement fixes de l'héritage obsolètes dans OpenGL 3.0. "


Merci Malte C'est ce qui m'inquiète. Et même si quelque chose est toujours là, je veux apprendre la meilleure façon de faire des choses et que les choses GLBEGIN / END ne semblent pas être cela. Savez-vous donc où trouver des didacticiels opengl 3.x qui ne commencent pas avec les trucs dépétués?


J'ai peur de ne pas le faire. Cependant, je peux recommander la grande communauté OpenGL à OpenGL.org/discussion_boards/ubbthreads.php. Certaines personnes dans le forum des débutants en savent probablement plus sur les ressources d'apprentissage 3.X. Et conservez une copie de la spécification officielle pratique. Bien qu'il ne remplace pas un didacticiel, son bien écrit et inestimable pour les cas d'angle.



4
votes

Je lise à travers "l'apprentissage de la programmation graphique 3D moderne", et pendant que je n'ai pas de matériel pour utiliser OpenGL 3 encore, cela m'aidait à obtenir les concepts directement dans mon esprit afin que je puisse être capable de fessoire 1.1- style et déplacez-vous à 3 une fois que j'ai eu du matériel à travailler.

http://www.arcsynthesis.org/gltuut/


0 commentaires

2
votes

Je pense que le style moderne de shader est l'avenir des graphiques 3D OpenGL et en temps réel. Je suggérerais de commencer avec OpenGL 3 immédiatement. D'autre part, l'ancien style OpenGL est plus facile à apprendre et il est plus facile de faire des choses simples, sans comprendre toute l'API.

Mais peu importe si vous ignorez la fonction fixe à l'ancienne ou non ou si vous utilisez Direct3D ou OpenGL, il est important que vous compreniez également les principes et les travaux intérieurs d'un pipeline graphique, comme je ne suis souvent pas toujours). Voir les gens, qui ont des questions sur OpenGL et pourquoi leur code ne fonctionne pas et ne semble pas avoir aucune idée de l'informatique et de ce que les fonctions respectives OpenGL font vraiment et signifient.

edit: aussi, consultez Cette question Pour certaines recommandations de livres, qui dépendent de votre décision.


0 commentaires