Je vous l'aversion des réponses négatives, mais j'ai peur que j'ai à donner à cette question.
En définitive, vous êtes en demandant pour les débutants matériel qui utilise des fonctionnalités uniques pour version d'OpenGL 4.0 et ci-dessus. Eh bien, regardons quelques-unes des caractéristiques uniques de 4.x.
Peut-être la plus grande caractéristique est de pavage. Qu'est-ce que cela signifie? Il signifie le pavage des primitives pour générer plus primitives. Avant même de commencer à comprendre ce que cela signifie, il faut d'abord comprendre comment les primitives se rendait à tous. Qui utilise pré-4.x au niveau des fonctionnalités.
Mais même avec une compréhension profonde de la façon dont le rendu fonctionne, il y a toujours un problème. Afin d'avoir toute discussion significative sur le pavage de shaders, on doit d'abord avoir une bonne compréhension de pavage des algorithmes. Et ce n'est pas un sujet simple. Pour un tutoriel pour apprendre à un utilisateur d'utiliser le pavage de shaders, le tutoriel va d'abord introduire des courbes splines et des correctifs ou des surfaces de subdivision. Ces deux sont longues, des sujets qui ont de nombreux livres blancs consacrés. Seulement après avoir détaillé les algorithmes d'un utilisateur doit être prêt à voir comment ces algorithmes sont mis en œuvre dans le pavage de shader.
Ou, pour le dire d'une autre façon, de pavage shaders ne sont pas débutant matériel. Je ne serais même pas les qualifier comme intermédiaire au niveau matériel.
Une autre grande caractéristique de 4.x niveau matériel est shader du chargement de l'image du magasin (et son compagnon, compteurs atomiques), l'âme en 4.2. Il permet pour certains de très chouettes choses, y compris de commande indépendant de la transparence. Cependant, pour qu'un utilisateur puisse même commencer à comprendre toutes les bizarreries autour d'elle, l'utilisateur doit être intimement familier avec la profonde fonctionnement de moderne shader matériel. Donc aucun tutoriel faudrait d'abord expliquer comment moderne VLIW/SIMD à base de matériel de travaux, ainsi que la façon dont les shaders sont utilisés avec ce type de matériel. Encore une fois, ce n'est pas anodin de matériel.
Une autre grande caractéristique de 4.x le matériel est rendu indirect. C'est, en mettant les paramètres d'une glDraw appel dans la mémoire tampon de l'objet lui-même. Le problème est qu'il n'y a vraiment qu'une seule raison d'utiliser cette fonctionnalité: parce que le GPU de données générées directement dans un ou plusieurs tampons pour plus tard rendu. Et en faisant cela implique généralement une certaine forme de GPGPU opération, ce qui est beaucoup, non pas un débutant-niveau de la rubrique.
Toutes ces fonctionnalités sont très utiles et ont une véritable utilité. Mais aucun d'entre eux doit être utilisé par les débutants; dans certains cas, même pas un niveau intermédiaire, les programmeurs doivent les toucher.
Maintenant, pour être tout à fait juste, il y a quelques 4.2 caractéristiques qui sont à la fois non-basée sur le matériel (de sorte qu'ils sont souvent mis en œuvre sur le 3.3 et versions inférieures) et très utile. Programme distinct des objets, par exemple. Ces caractéristiques frapper pendant que j'écrivais mon 3.3 base de tutoriels, et j'ai envisagé de revenir sur eux et de l'intégration de cette fonctionnalité. La seule raison pour laquelle je ne l'ai pas, c'est parce que les implémentations (pilotes) ne sont pas encore totalement stable à l'égard de cette fonctionnalité. Mais il serait utile de le faire.
Le point principal que je suis dessus, c'est ceci: si vous êtes à la scène dans vos graphiques savoir où vous êtes prêt à tirer parti des caractéristiques uniques de GL 4.x le matériel, alors vous aussi vous avez assez d'expérience de graphiques que vous n'avez pas besoin explicite, étape par étape, des instructions pour mettre en œuvre les fonctionnalités de matériel graphique. Vous serait le genre de personne qui pouvait lire la GL_ARB_tessellation_shader extension de la spécification et de comprendre comment leur faire faire ce que vous avez besoin.
Cela étant dit, si vous êtes intéressés par des documents qui enseigne OpenGL core 3.0 ou mieux, l' OpenGL Wiki a une belle collection de ces liens. Dans l'intérêt de la divulgation complète, j'ai écrit l'un d'eux.