SimplyOpenGL2DDrawing

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Micoute
Messages : 2583
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: SimplyOpenGL2DDrawing

Message par Micoute »

J'ai trouvé ça, si ça peut aider quelqu'un
http://sdz.tdct.org/sdz/creez-des-progr ... pengl.html
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 6.20 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: SimplyOpenGL2DDrawing

Message par Shadow »

Guillot a écrit : mer. 16/mars/2022 12:45 @ shadow :
coté programmation, dans un 1er temps ça ne devrai pas posé de gros probleme, c'est juste une interface
a mon avis, la difficulté se trouve au niveau de la compréhension d'opengl
là faut te trouver un bon site
en tout cas super initiative, ça fait longtemps que je me dis qu'il faudrait refaire la vector lib en opengl !
quand au grand manitou je crois qu'il a d'autres préoccupations !
Salut Guillot,

Merci encore, et le grand manitou ne réponds pas, je crois qu'il n'aime pas qu'on le sollicite !
C'est ainsi, alors je vais le laisser tranquille, il répondra quand il voudra !

Micoute, merci pour ton lien, tous n'est pas utile mais sa peux servir !
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: SimplyOpenGL2DDrawing

Message par Ollivier »

Guillot a écrit :@ ollivier :
ça marche !
mais y'a une inversion des couleurs rouge bleu
chapeau bas pour ta capacité à faire du code sans erreur sans pouvoir le tester !
Ah... Désolé pour l'inversion des couleurs...
Remplace la constante #GL_RGBA par #GL_BGRA (en espérant que cette dernière existe. Voici une petite Aide interactive !
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: SimplyOpenGL2DDrawing

Message par Shadow »

XD. Ok donc le fil rouge sur le bouton vert et le bouton vert sur le fil rouge, j'ai bien compris ? :mrgreen:
Heuuuuu c'est normale ça fais des flame orange et des étincèle ?
Houllaaa, jvois un tunnel avec une lumière blanche aussi, c'est bon signe ça tu crois ? 8O
Si vous me chercher, je crois que je suis mouru vivan, j'ai vue dieu, il ma dis:

"Que celui qui a les pieds aillés et l'œil qui vois tous, ce laisse guider par le vent sur le chemin de la vérité."

Moi j'ai eu la fois, devant le vide il y avait écris ça sur une pancarte, alors j'ai fermer les yeux et j'ai avancer et
j'ai ensuite sentie que je tombais, puis au bout d'un moment plus rien !

"Que la plupart des choses importantes dans le monde ont été accomplies par des personnes
qui ont continué à essayer quand il semblait y avoir aucun espoir."

C'est aussi ce que j'ai fais, avec ton histoire de fils rouge et bouton vers ou quelque chose comme ça !

Et d'autres truc, mais je suis partie car j'y comprenais rien, je suis retourner à OpenGL.... :mrgreen:
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Re: SimplyOpenGL2DDrawing

Message par Ollivier »

Shadow a écrit :Moi j'ai eu la fois, devant le vide
Le vide n'existe pas. Comme une bulle de champagne naît d'une impureté du cristal, une bulle est préalablement née, et l'Univers y a explosé dedans, si violemment que 600 000 ans n'ont pas suffi pour libérer la plus brutale des énergies.

On se surprend de découvrir que l'univers se perd dans un vide infini, et pourtant ce vide autour un jour se refermera, comme une bouche qui a fini de bailler...

Bon courage dans tes projets.
Avatar de l’utilisateur
threedslider
Messages : 452
Inscription : dim. 01/juil./2018 22:38

Re: SimplyOpenGL2DDrawing

Message par threedslider »

Shadow a écrit : mar. 15/mars/2022 14:28 T'as qu'a apprendre l'OpenGL, ça me serais bien utile ça ^^
Merci pour le reste !
Oui t'inquiètes j'experimente aussi bien sur ça :mrgreen:
Shadow a écrit : mar. 15/mars/2022 14:28 Pour le moment j'en suis pas satisfais même si ça marche, c'est qu'un prototype rien de plus.
Sans l'aide des copain ça va être hard...

Donc le module c'est peut etre moi mais sans l'aide des autres sur OpenGL, ça vaut rien.

Si personne ne veux aider, ça ira pas super vite !
Ok je vais contribuer indirectement comme avec mon code tu pourras adapter, OK c'est pas parfait mais c'est déjà ça ^^
Voici le code d'un système de grille avec le snapping (ça peut te servir hein comme tileset?) :

Code : Tout sélectionner

; Created by threedslider 03/16/2022 (Grid system)

CompilerIf #PB_Compiler_OS = #PB_OS_Windows
  CompilerIf Subsystem("OpenGL") = #False
    MessageRequester("Error", "Please set the subsystem to OpenGL")
    End
  CompilerEndIf
CompilerEndIf


InitSprite()
InitKeyboard()
InitMouse()


 Procedure draw_lines()
   
  Shared is_grid
  
  glColor3f_(0, 0, 0)
  glBegin_(#GL_LINES)  
   
  For i = 0 To 25
    For j = 0 To 10
      
      ;horizontal
       glVertex2f_(-2,       (i-j)/4)
       glVertex2f_(j*0.2,   (i-j)/4)
       
       ;vertical
       glVertex2f_((i-j)/4,      j)
       glVertex2f_((i-j)/4,      -0.2*j)
        
      
    Next
  Next 
 
  glEnd_()
 EndProcedure
 
 Procedure show_point()
   
  Shared xx
  Shared yy
  
  oldmouse_x = xx
  oldmouse_y = yy
  

  
   
  move_x =  (windowWidth-400)/2 + (-19) + xx
  move_y =  (windowHeight-300)/2 + (-14) + yy
  
  
  glColor3f_(1, 0, 0)
  
  glBegin_(#GL_POINTS) 
  For i=0 To 5
    If oldmouse_x % 2 = 0 And oldmouse_y % 2 = 0
      glVertex2f_((-2+oldmouse_x*0.5/2), 1-oldmouse_y*0.5/2)
    Else
      glVertex2f_((-2+oldmouse_x*0.5/2), 1-oldmouse_y*0.5/2)
      
    EndIf  
  Next
  
  glEnd_()
 EndProcedure
 

OpenWindow(0, 0, 0, 800, 600, "OpenGL : Grid test", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
OpenWindowedScreen(WindowID(0),0,0,800,600)


glMatrixMode_(#GL_PROJECTION)
glLoadIdentity_() 
gluPerspective_(45.0, 800/600, 1.0, 60.0)
glMatrixMode_(#GL_MODELVIEW)
;glTranslatef_(-8.8/4, 1.633, -4)
glTranslatef_(0, 0, -4)

  
;glShadeModel_(#GL_SMOOTH)
glEnable_(#GL_LIGHT0)
glEnable_(#GL_LIGHTING)
glEnable_(#GL_COLOR_MATERIAL)
glEnable_(#GL_DEPTH_TEST)
;glEnable_(#GL_CULL_FACE)   
glViewport_(0, 0, 800, 600)


Repeat

glClearColor_(0.7, 0.7, 0.7, 0) ; background color
glClear_(#GL_COLOR_BUFFER_BIT)
glPointSize_(8.0)
  
    event = WindowEvent()
    Select Event
      Case #PB_Event_CloseWindow
        quit = 1
    EndSelect
        
    ExamineMouse() 
    
    xx = MouseX()    
    yy = MouseY()
    
    draw_lines()
    show_point()
    
    
   
 
 FlipBuffers()
 
 ExamineKeyboard()
 
Until KeyboardPushed(#PB_Key_Escape) Or quit = 1
Voilà qu'est ce t'en pense ça?
Shadow a écrit : mar. 15/mars/2022 14:28 C'est grâce à Falsam que j'ai pus commencer à faire ce module.
J'attends avec impatience la venue du grand manitou :mrgreen: , ou alors un autre ! :)

C'est un peu un projet communautaire là ce truc !
Si on ne me donne pas d'eau (Aide OpenGL) pour mon moulin (module) je vais pas pouvoir continuer je pense !

Pour le moment c'est pas trop ça, ya pleins de code brouillon des com à la pelle en veux tu en voilà...
J'en appel aux grands manitous au pluriels :lol:
Oué, j'espère que moi ou les autres t'aideront aussi bien, on verra bien et je te souhaite du beaucoup courage ;)
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: SimplyOpenGL2DDrawing

Message par Shadow »

Merci à vous deux :)
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: SimplyOpenGL2DDrawing

Message par kernadec »

bjr à tous
Pour le fun
j' avais ajouté des écritures et mis des commandes clavier pour le zoom
le déplacement du cube en x,y , pour changer les couleurs sur l' exemple de cube de la doc : OpenglGadget()
avec deux modes : Eventype() ou EventGadget
viewtopic.php?p=209389
Cordialement
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: SimplyOpenGL2DDrawing

Message par Shadow »

Salut, merci kernadec pour ton exemple, c'est toujours utile :)

Pour le moment je coince sur les 3 fonction principale que j'ai faites:

InitOpenGL()
OpenGL_StartDrawing()
OpenGL_StopDrawing()

Il faut que je trouve quoi mettre exactement dedans.
sinon si ya des idées....

Tans que c'est pas réglé j'attends car mon code pour le moment c'est trop brouillon.
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: SimplyOpenGL2DDrawing

Message par kernadec »

OU as tu vu ces commandes :?:
OpenGL_StartDrawing()
OpenGL_StopDrawing()

Regarde plutôt la syntaxe de ce code exemple:

Code : Tout sélectionner

glBegin(GL_POINTS); //starts drawing of points
      glVertex3f(1.0f,1.0f,0.0f);//upper-right corner
      glVertex3f(-1.0f,-1.0f,0.0f);//lower-left corner
glEnd();//end drawing of points
comme je te l'ai déjà dit cherche sur le forum english à cet auteur "AppelPi" et OpenGL
Perso, je m'inspire de ces codes, il poste bcp de codes intéressants sur OpenGL
Cordialement
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: SimplyOpenGL2DDrawing

Message par Shadow »

Je redis car je me suis pas fais comprendre :mrgreen:
Pour le moment je coince sur les 3 fonction principale que j'ai faites
C'est assez gros là ? :mrgreen:

Oui si tu as vue mon code tu as vue que j'ai fais des fonction qui regroupe des fonction de l'api pour OpenGL !
Je le redis encore une fois, je voudrais essayer de rendre tous ça fastoche, c'est mon bobby quoi j'y peux rien !
Donc je voudrais faire un genre de bibliothèque 2DDrawing en me passant si possible de celle-ci totalement !

Donc il faut que ces 3 fonction soit ok, elle ne le sont pas même si ça marche !

Bon en gros pour faire simple (Je rappel que c'est des fonctions que j'ai faites !):

Initialiser OpenLG, a faire une fois > InitOpenGL()
Démarrer une opération de dessin sur OpenGL > OpenGL_StartDrawing() et ici sert a rien pour le moment, pas bien !
Termine l'opération de dessins sur OpenGL > OpenGL_StopDrawing()

Après peut etre que j'ai pas bien nommer les fonction, peut etre que on confond avec les fonctions OpenGL
mais pourtant ya aucune erreur possible, les fonction OpenGL termine par _, c'est des fonction API.
Pas mes fonction à moi dans mon module !

Dis as tu lus un peu tous les messages du topic ici ?
Je crois que j'ai dis ce que je voulais faire...

Merci encore pour l'aide :)
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: SimplyOpenGL2DDrawing

Message par kernadec »

Salut Shadow
Ok désolé de pas avoir regardé ton module :oops:
je trouve que faire un module OpenGL_StartDrawing est inutile
car OpenGLGadget() est déjà en mode StartDrawing()
pour toutes ses commandes :?:
cordialement
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: SimplyOpenGL2DDrawing

Message par Shadow »

Salut kernadec,

Pas de soucis :)
Si tu veux bien m'en dire d'avantage stp.
Je ne sais pas ce que je dois mettre exactement ni comment, jveux dire que je sais pas à quoi serve les fonction exactement.
Pourais tu regarder les fonction cité plus haut, et faire se qu'il faudrait pour que sa marche, bien que sa marche
ya pleins de com, tu vera que sa marche même sans ses fonction, est ce que c'est bien ?
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Avatar de l’utilisateur
kernadec
Messages : 1606
Inscription : ven. 25/avr./2008 11:14

Re: SimplyOpenGL2DDrawing

Message par kernadec »

bsr Shadow
en fouillant sur les forums je n'ai pas trouvé de module sur OpenGL juste quelques librairies ponctuelles.
Déjà perso je maitrise pas vraiment les subtilités de la librairie VectorDrawing()
alors pour OpenGL j'ai fais quelques trucs pour m'amuser c 'est tout..

je pense que tu devrais lire la documentation d' OpenGL et de t'amuser à convertir en PB
les codes exemples de la doc OpenGL avant de vouloir concevoir des modules.
Regarde le lien donné par Micoute dans ce sujet...
Cordialement
Shadow
Messages : 1413
Inscription : mer. 04/nov./2015 17:39

Re: SimplyOpenGL2DDrawing

Message par Shadow »

Non je vais pas me tapé des page de doc, aucun intérêt pour moi !
Tempi, je ferais avec ce que j'ai et ceux qui veulent bien m'aider !
Merci à toi, Cordialement :)
Processeur: Intel Core I7-4790 - 4 Cœurs - 8 Thread: 3.60 Ghz.
Ram: 32 GB.
Disque: C: SDD 250 GB, D: 3 TB.
Vidéo: NVIDIA GeForce GTX 960: 2 GB DDR5.
Écran: Asus VX248 24 Pouces: 1920 x 1080.
Système: Windows 7 64 Bits.

PureBasic: 5.60 x64 Bits.
Répondre