J'essaie de trouver comme les tutoriels de NeHe pour Qt qui sont tous dans GLSL. Parce que laisse les choses en face, OpenGL dans l'ancien temps est mort et Shaders est le seul moyen maintenant. Et avec Qt-4.6, ils ont introduit les classes QMatrix4x4, QVector3 et Shader. Mais je ne trouve aucun tutoriel pour cela. Tous ceux que je trouve, utilisent tous des SDL et/ou des GLUT (qui sont tout simplement inutiles).Qt 4.6 OpenGL GLSL
Répondre
Portage du code OpenGL entre les langages et les cadres GUI ne devrait pas beaucoup changer le code. Lorsque vous passez de GLUT à Qt, par exemple, vous déplacez le code de remodelage de GLUT dans la fonction resizeGL de QGLWidget et la fonction d'affichage de GLUT dans la fonction paintGL de QGLWidget. C'est le plus grand changement qui va de GLUT à Qt en plus de la configuration. En plus de cela, tout est très bien vu en tant que petits utilitaires et classes bonus. Vous devez essentiellement chercher un cours quand vous en avez besoin. Comme "Je vais utiliser un shader, alors voyons si Qt a des classes auxiliaires". Vous trouvez une classe appelée QGLShader, qui semble aider, mais elle n'a pas de documentation, donc vous devriez essayer une autre classe qui pourrait avoir une documentation comme QGLShaderProgram.
http://doc.trolltech.com/4.6/qglshaderprogram.html#details
Sauter vers le bas pour les détails, il vous donne un exemple/tutorial de comment l'utiliser et la classe QGLShader.
Pour les classes plus petites comme les vecteurs et les matrices, il suffit de lire leur documentation de fonction, ce qui est assez simple. Les vecteurs, par exemple, ont une classe QVector3. Je peux regarder sa page de classe et voir qu'elle a la fonctionnalité normale que je m'attendrais dans une classe de vecteur comme la normalisation, l'ajout, etc. Un tutoriel sur quelque chose d'aussi simple ne m'aiderait pas vraiment. D'après mon expérience, c'est la façon standard d'utiliser les wrappers dans OpenGL. Dans JOGL, par exemple, il y a une grande classe Texture, ce qui est utile pour la texture io. Quand j'ai eu besoin d'ajouter des textures, je l'ai trouvé juste en cherchant "texture" dans le javadoc.
- 1. Linker erreur QT 4.6 et VS 2008
- 2. Problèmes avec Qt 4.6 VS 2008
- 3. Comment utiliser les fonctions OpenGL sur un QT OpenGL Widget?
- 4. Chargement de la texture des tuiles filetées OpenGL avec Qt 4.5/4.6
- 5. Installation OpenGL pour Qt
- 6. comment faire des événements parallèles en C++ (Qt 4.6 spécifique)
- 7. Dans Qt (4.6), est-il correct d'appeler des slots directement?
- 8. openGL GLSL Shader: dessiner un cercle sur un polygone plat
- 9. shaders GLSL attributs ints
- 10. Qt 4.6 et OpenGL: comment capturer des presses au clavier avec trois widgets différents à la fois?
- 11. Tableaux GLSL à indexation dynamique
- 12. Tutoriel GLSL à jour?
- 13. QT Webkit & Contexte de rendu OpenGL
- 14. Visualisation scientifique avec OpenGL et Qt
- 15. GLSL: activer/désactiver texturing + shaders
- 16. GLSL avec le problème d'installation openGL2
- 17. La commande qmake -project donne un avertissement QFileInfo dans Qt 4.6
- 18. Dans QT 4.6 w/Webkit: Comment gérer les requêtes de fenêtres popup (WebView :: createWindow)?
- 19. Est-ce que Qt 4.6 est compilé avec Cocoa par défaut sur Snow Leopard?
- 20. Comment ajouter cette fonctionnalité à QW embarqué QW 4.6 (Qt Windowing System)?
- 21. Qt 4.6 Ajout d'objets et de sous-objets à l'objet de fenêtre QWebView (C++ & Javascript)
- 22. Clé avec touches et combinaisons de touches du clavier avec Qt 4.6
- 23. Qt 4.6 - Comment faire glisser et déposer dans un QGraphicsView dans QtCreator?
- 24. quelle est la plus ancienne version glib qu'une application qt 4.6 peut exécuter avec
- 25. Nombre maximal d'instructions GLSL
- 26. Comportement de branchement GLSL
- 27. Tutoriels NPR GLSL
- 28. OpenGL Shading Language rétrocompatibilité
- 29. comment rendre plusieurs textures avec GLSL
- 30. Pourquoi ne puis-je pas connaître l'état des voyants OpenGL dans GLSL?
SDL et GLUT ne sont pas inutiles. IMO ils sont juste des bibliothèques différentes avec des objectifs différents. Qt est le même. –
Pour moi, ils sont depuis que je ne vais pas les utiliser – Zeke