merci, mais je teste à la vitesse 12x ton code
car si OpenGL à des difficultés avec ce code
qu'est ce que ca va donner avec une multitude d objets.

j avais déjà repris un code de cube adapter pour CanvasGadget()
et sous Windows c'est bien sur plus lent
mais bon, mais j'ai pas de déformations de la structure pendant la rotation.
viewtopic.php?p=168459&hilit=cube#p168459
Cordialement
Code : Tout sélectionner
InitEngine3D()
InitKeyboard()
InitSprite()
OpenWindow(0, 0, 0, 800, 600, "OpenGL : Cube for 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_(-1/4, 0, -4)
;glShadeModel_(#GL_SMOOTH)
glPolygonMode_(#GL_FRONT_AND_BACK, #GL_LINE )
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 | #GL_DEPTH_BUFFER_BIT)
SetFrameRate(30)
Repeat
event = WindowEvent()
Select Event
Case #PB_Event_CloseWindow
quit = 1
EndSelect
Until event = 0
glBegin_(#GL_POINTS)
glColor3f_(1.0, 0.0, 0.0)
glVertex3f_( 0.5, 0.5, 0.5)
glVertex3f_(-0.5,-0.5,-0.5)
glVertex3f_( -0.5, 0.5, 0.5)
glVertex3f_(-0.5,-0.5, 0.5)
glVertex3f_( 0.5, -0.5, 0.5)
glVertex3f_(0.5,-0.5,-0.5)
glVertex3f_(0.5,0.5,-0.5)
glVertex3f_(-0.5,0.5,-0.5)
glEnd_()
glPointSize_(8.0)
glBegin_(#GL_QUADS)
glColor3f_(0.3, 0.3, 1.0)
glNormal3f_( 0.0, 0.0, 1.0)
glVertex3f_( 0.5, 0.5, 0.5)
glVertex3f_(-0.5, 0.5, 0.5)
glVertex3f_(-0.5,-0.5, 0.5)
glVertex3f_( 0.5,-0.5, 0.5)
glNormal3f_( 0.0, 0.0,-1.0)
glVertex3f_(-0.5,-0.5,-0.5)
glVertex3f_(-0.5, 0.5,-0.5)
glVertex3f_( 0.5, 0.5,-0.5)
glVertex3f_( 0.5,-0.5,-0.5)
glNormal3f_( 0.0, 1.0, 0.0)
glVertex3f_( 0.5, 0.5, 0.5)
glVertex3f_( 0.5, 0.5,-0.5)
glVertex3f_(-0.5, 0.5,-0.5)
glVertex3f_(-0.5, 0.5, 0.5)
glNormal3f_( 0.0,-1.0, 0.0)
glVertex3f_(-0.5,-0.5,-0.5)
glVertex3f_( 0.5,-0.5,-0.5)
glVertex3f_( 0.5,-0.5, 0.5)
glVertex3f_(-0.5,-0.5, 0.5)
glNormal3f_( 1.0, 0.0, 0.0)
glVertex3f_( 0.5, 0.5, 0.5)
glVertex3f_( 0.5,-0.5, 0.5)
glVertex3f_( 0.5,-0.5,-0.5)
glVertex3f_( 0.5, 0.5,-0.5)
glNormal3f_(-1.0, 0.0, 0.0)
glVertex3f_(-0.5,-0.5,-0.5)
glVertex3f_(-0.5,-0.5, 0.5)
glVertex3f_(-0.5, 0.5, 0.5)
glVertex3f_(-0.5, 0.5,-0.5)
glEnd_();
glTranslatef_(1/4,1/4,0)
glRotatef_(12.0, 0.5, 1.0, 0.2) ; vitesse de rotation a 12
glTranslatef_(-1/4,-1/4,0)
Delay(10)
FlipBuffers()
ExamineKeyboard()
Until KeyboardPushed(#PB_Key_Escape) Or quit = 1