[UDF] OpenGL, GLFW et SOIL
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
[UDF] OpenGL, GLFW et SOIL
Salut la compagnie!
Comme l'année passée, le printemps est synonyme de programmation graphique orientée Jeux Vidéos (GEngin)!!!
Aujourd'hui, je vous propose l'aboutissement d'une longue quête: arriver à charger et afficher une texture OpenGL
Et j'y suis enfin arriver!!! (PS: grâce à mon récent apprentissage du langage Python, et au fait de m'être un peut remis au C/C++)
Dans l'archive:
- Un wrapper pour OpenGL et GLU (quasiment toutes les fonctions de base sont écrite et testées)
- Un wrapper pour GLFW (Toutes les fonctions dont on à besoin sont écrite, les autres (timer, threads, chargement d'image) on en à pas besoin, soit parce que elle sont implémentés nativement dans AutoIt, ou bien parce que elle sont plus performantes dans: SOIL)
- Un wrapper pour SOIL (Simple OpenGL Image Library): La plupart des fonctions sont traduites (pour les autres, j'attend de peaufiner un peut mes connaissances!) C'est cette bibliothèque qui m'a permit de réaliser ma quête!
- Des exemples!
J’espère que ça vous plaira!
PS: les fonctions utilisées dans les exemples fonctionnent très bien, les autres n'ont pas été testées, si vous trouvez des bugs, vous savez ou me trouver!
PS: il est nécessaire de connaître au moins les bases d'OpenGL pour comprendre ce qui se passe dans les exemples, je vous conseil le bon vieux site du zero!
PS: J'ai inclus la documentation de GLFW (pdf)
TELECHARGER
Comme l'année passée, le printemps est synonyme de programmation graphique orientée Jeux Vidéos (GEngin)!!!
Aujourd'hui, je vous propose l'aboutissement d'une longue quête: arriver à charger et afficher une texture OpenGL
Et j'y suis enfin arriver!!! (PS: grâce à mon récent apprentissage du langage Python, et au fait de m'être un peut remis au C/C++)
Dans l'archive:
- Un wrapper pour OpenGL et GLU (quasiment toutes les fonctions de base sont écrite et testées)
- Un wrapper pour GLFW (Toutes les fonctions dont on à besoin sont écrite, les autres (timer, threads, chargement d'image) on en à pas besoin, soit parce que elle sont implémentés nativement dans AutoIt, ou bien parce que elle sont plus performantes dans: SOIL)
- Un wrapper pour SOIL (Simple OpenGL Image Library): La plupart des fonctions sont traduites (pour les autres, j'attend de peaufiner un peut mes connaissances!) C'est cette bibliothèque qui m'a permit de réaliser ma quête!
- Des exemples!
J’espère que ça vous plaira!
PS: les fonctions utilisées dans les exemples fonctionnent très bien, les autres n'ont pas été testées, si vous trouvez des bugs, vous savez ou me trouver!
PS: il est nécessaire de connaître au moins les bases d'OpenGL pour comprendre ce qui se passe dans les exemples, je vous conseil le bon vieux site du zero!
PS: J'ai inclus la documentation de GLFW (pdf)
TELECHARGER
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
-
- Niveau 7
- Messages : 368
- Enregistré le : ven. 09 déc. 2011 11:25
- Status : Hors ligne
Re: [UDF] OpenGL, GLFW et SOIL
Et on arrive à avoir un nombre d'images par seconde satisfaisant ?
Merci pour cet UDF, super, comme d'habitude !
Merci pour cet UDF, super, comme d'habitude !

- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [UDF] OpenGL, GLFW et SOIL
Bah y'a pas de quoi!!!
Pour le FPS, lancez l'exemple 2d_smiley.au3, et voyez ce que vous afficher la console à la fin
Pour ma part (Dual Core T3400, 3Go, Geforce 103M) autour de 1000!

Pour le FPS, lancez l'exemple 2d_smiley.au3, et voyez ce que vous afficher la console à la fin
Pour ma part (Dual Core T3400, 3Go, Geforce 103M) autour de 1000!

Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [UDF] OpenGL, GLFW et SOIL
De la folie ce truc
Et t'as encore eu le temps pour tes exams ?!?
Un détail : dans le dossier juste décompressé sur le bureau, je n'ai pu faire fonctionner les exemples qu'en modifiant légèrement l'include glfw.au3
EDIT
Un petit mode d'emploi basique serait le bienvenu, par exemple pour le smiley si on ferme la fenêtre on n'a pas les ConsoleWrite, faut faire ESC pour ça (ce qui m'a shooté d'abord mon soft de surveillance qui a la même Hotkey...
)
Le haut de fenêtre des démos flicker pas mal, est-ce que ça aurait à voir avec le fps qui était de 5500 au dernier essai

Et t'as encore eu le temps pour tes exams ?!?

Un détail : dans le dossier juste décompressé sur le bureau, je n'ai pu faire fonctionner les exemples qu'en modifiant légèrement l'include glfw.au3
Code : Tout sélectionner
Func _glfwInit()
...
$__glfw_hDLL = DllOpen("..\glfw.dll") [color=#008000] ;<== sinon la dll voulait pas charger, j'avais la variable à -1[/color]
Un petit mode d'emploi basique serait le bienvenu, par exemple pour le smiley si on ferme la fenêtre on n'a pas les ConsoleWrite, faut faire ESC pour ça (ce qui m'a shooté d'abord mon soft de surveillance qui a la même Hotkey...

Le haut de fenêtre des démos flicker pas mal, est-ce que ça aurait à voir avec le fps qui était de 5500 au dernier essai

" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [UDF] OpenGL, GLFW et SOIL
Je m'étonne moi même tout les jours (comment j'arrive à avoir mes années!!!)
Pour les DLLs, en effet, l'idéal est de les copier dans le dossier des Exemples (perso, je les ai mise dans system32, c'est pour ça que j'ai oublié)
- Les exemples manquent de commentaires, mais d'un autre coté, sans les bases en OpenGL, même mes commentaires serait insuffisant...
- Le flicker c'est soit disons l'affichage du FPS. Cet exemple est fait pour montrer le FPS maximum atteignable (moi le record c'est 1500). Mais pour une utilisation normal, il vaut mieux activer la synchronisation verticale (en commentant la ligne _glfwSwapInterval(0))
- Pour le bug de fermeture... C'est vrai qu'il me l'a fait une fois, mais je n'arrive pas à le reproduire sans même avoir toucher au code. Va savoir...
Sinon, je me lancer dans une sorte de ré-écriture de GEngin, avec OpenGL, et une dll en C, ou je mettrai toutes les fonctions qui nécessite de la rapidité (calcule de positions, de collisions...) Mais ce n'est pas pour tout de suite (exams!
)
Ciao!
Pour les DLLs, en effet, l'idéal est de les copier dans le dossier des Exemples (perso, je les ai mise dans system32, c'est pour ça que j'ai oublié)
- Les exemples manquent de commentaires, mais d'un autre coté, sans les bases en OpenGL, même mes commentaires serait insuffisant...
- Le flicker c'est soit disons l'affichage du FPS. Cet exemple est fait pour montrer le FPS maximum atteignable (moi le record c'est 1500). Mais pour une utilisation normal, il vaut mieux activer la synchronisation verticale (en commentant la ligne _glfwSwapInterval(0))
- Pour le bug de fermeture... C'est vrai qu'il me l'a fait une fois, mais je n'arrive pas à le reproduire sans même avoir toucher au code. Va savoir...
Sinon, je me lancer dans une sorte de ré-écriture de GEngin, avec OpenGL, et une dll en C, ou je mettrai toutes les fonctions qui nécessite de la rapidité (calcule de positions, de collisions...) Mais ce n'est pas pour tout de suite (exams!

Ciao!
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [UDF] OpenGL, GLFW et SOIL
Oula non, je parlais de quelques commentaires d'utilisation vraiment basiques (pour afficher les consolewrite, j'ai dû aller dans le code pour découvrir qu'il existait une hotkey ESC)matwachich a écrit : Les exemples manquent de commentaires, mais d'un autre coté, sans les bases en OpenGL, même mes commentaires serait insuffisant
J'ai commenté la ligne et je suis toujours à 5500 avec du flicker... c'est normal docteur ?matwachich a écrit : pour une utilisation normal, il vaut mieux activer la synchronisation verticale (en commentant la ligne _glfwSwapInterval(0))
Heu réponse non urgente, les exams d'abord

" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [UDF] OpenGL, GLFW et SOIL
Euh...
1- T'as une machine de malade! (moi j'atteint max 1500)
2- 60/s c'est rapide aussi (d'ou le flicker)
3- 5500 même en ayant commenter la ligne... j'en sais rien! (bizard) Essai avec _glfwSwapInterval(1)
1- T'as une machine de malade! (moi j'atteint max 1500)
2- 60/s c'est rapide aussi (d'ou le flicker)
3- 5500 même en ayant commenter la ligne... j'en sais rien! (bizard) Essai avec _glfwSwapInterval(1)
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: [UDF] OpenGL, GLFW et SOIL
Voilà les dernières valeurs
Code : Tout sélectionner
Times (in ms):
Average _glClear time: 0.0211527205233301
Average Draws time: 0.0604215490101045
Average _glfwSwapBuffers time: 0.0941384635071755
Average FPS: 5065.71281789496
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [UDF] OpenGL, GLFW et SOIL
Géant ton FPS!!! T'as quoi comme machine???
PS: pour les bases en OpenGL -> ici (les 2 premiers cours)
PS: pour les bases en OpenGL -> ici (les 2 premiers cours)
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
- Iste
- Niveau 11
- Messages : 1870
- Enregistré le : jeu. 04 déc. 2008 14:21
- Localisation : 76
- Status : Hors ligne
Re: [UDF] OpenGL, GLFW et SOIL
Chez moi il se passe juste rien, quelque soit l'exemple utilisé, dll replacées.
Signez ici
Re: [UDF] OpenGL, GLFW et SOIL
Salut,
Hum moi ça me retourne ça :
un petit bug on dirait 
Edit: Comme l'a dit Mikell, avec
ça marche... mais ça continue de ne pas marcher si je le lance depuis l'editeur de code (donc... pas de console :/)
Hum moi ça me retourne ça :
Code : Tout sélectionner
Times (in ms):
Average _glClear time: 0
Average Draws time: 0
Average _glfwSwapBuffers time: 0
Average FPS: 0


Edit: Comme l'a dit Mikell, avec
Code : Tout sélectionner
If FileExists("glfw.dll") Then
$__glfw_hDLL = DllOpen("glfw.dll")
Else
$__glfw_hDLL = DllOpen("..\glfw.dll")
EndIf
- matwachich
- Membre émérite
- Messages : 986
- Enregistré le : lun. 19 oct. 2009 04:04
- Localisation : Algérie
- Status : Hors ligne
Re: [UDF] OpenGL, GLFW et SOIL
Bah franchement, je n'en sais rien!
Peut être vos carte graphiques ne supportent pas OpenGL???
Peut être vos carte graphiques ne supportent pas OpenGL???
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
- Iste
- Niveau 11
- Messages : 1870
- Enregistré le : jeu. 04 déc. 2008 14:21
- Localisation : 76
- Status : Hors ligne
Re: [UDF] OpenGL, GLFW et SOIL
Haha, la bonne blague ^^
En fait, ca tourne juste pas en x64, mais sans souci en x86, avec un bon paquet de fps ! (~5000)
En fait, ca tourne juste pas en x64, mais sans souci en x86, avec un bon paquet de fps ! (~5000)
Signez ici