je me suis amusé a adapter la Démo de CanvasGadget en mode OpenGLGadget
Cordialement
[réédit] retrait des commandes OpenGL inutiles du code, je ne suis que débutant avec openGL
Pour rester dans le sujet débutant, je remet le lien du cours remarquable pour OpenGL en PDF ici: http://msamozino.free.fr/these/cours/ge ... _cours.php
Ajout de la ligne glDrawBuffer_(#GL_FRONT_AND_BACK) dans le code
et modification des paramètres pour la fonction glOtho()
Code : Tout sélectionner
If OpenWindow(0, 0, 0, 320, 320, "OpenGLGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
OpenGLGadget(0, 10, 10, 300, 300)
glDrawBuffer_(#GL_FRONT_AND_BACK)
glOrtho_(GadgetX(0)-10, GadgetWidth(0) ,GadgetHeight(0),GadgetY(0)-10 , GadgetWidth(0)/2,-GadgetHeight(0)/2) ; Axe de l'OpenGLGadget()
SetActiveGadget(0)
Repeat
Event = WaitWindowEvent()
If Event = #PB_Event_Gadget And EventGadget() = 0
If EventType() = #PB_EventType_LeftButtonDown Or (EventType() = #PB_EventType_MouseMove And GetGadgetAttribute(0, #PB_Canvas_Buttons) & #PB_Canvas_LeftButton)
x = GetGadgetAttribute(0, #PB_OpenGL_MouseX)
y = GetGadgetAttribute(0, #PB_OpenGL_MouseY)
glEnable_(#GL_POINT_SMOOTH) ; mode point arrondi
glPointSize_(20) ; entrer la taille avant mode dessin
glBegin_(#GL_POINTS) ; mode dessin points
glColor3ub_(Random(255),Random(255),Random(255)) ; couleur
glVertex3f_(x,y,0) ; dessine le points
glEnd_()
SetGadgetAttribute(0, #PB_OpenGL_FlipBuffers, #True)
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
EndIf