#GL_COLOR_BUFFER_BIT = $00004000 #GL_TRIANGLES = $0004 #GL_QUADS = $0007 #GL_POINTS = $0002 #GL_LINES = $0001 ;Light #GL_FOG = $0B60 #GL_LIGHTING = $0B50 #GL_LIGHT0 = $4000 #GL_LIGHT1 = $4001 #GL_LIGHT2 = $4002 #GL_LIGHT3 = $4003 #GL_LIGHT4 = $4004 #GL_LIGHT5 = $4005 #GL_LIGHT6 = $4006 #GL_LIGHT7 = $4007 Global GL_MODE InitKeyboard() Procedure.l DrawCube() glClear_(#GL_COLOR_BUFFER_BIT) glEnable_(#GL_FOG) glBegin_(GL_MODE) ;Front Back glNormal3f_ (0, 0, 1.0) glColor4f_(0.0, 0.0, 1.0, 1.0) glVertex3f_(0.5, 0.5, -0.5) glColor4f_(0.0, 1.0, 0.0, 1.0) glVertex3f_(-0.5, 0.5, -0.5) glColor4f_(1.0, 1.0, 0.0, 1.0) glVertex3f_(-0.5, -0.5, -0.5) glColor4f_(1.0, 0.0, 0.0, 1.0) glVertex3f_(0.5, -0.5, -0.5) glNormal3f_ (0, 0, -1.0) glColor4f_(0.0, 0.0, 1.0, 1.0) glVertex3f_(0.5, 0.5, 0.5) glColor4f_(0.0, 1.0, 0.0, 1.0) glVertex3f_(-0.5, 0.5, 0.5) glColor4f_(1.0, 1.0, 0.0, 1.0) glVertex3f_(-0.5, -0.5, 0.5) glColor4f_(1.0, 0.0, 0.0, 1.0) glVertex3f_(0.5, -0.5, 0.5) ;Top Bottom glNormal3f_(0, -1.0, 0) glColor4f_(0.0, 0.0, 1.0, 1.0) glVertex3f_(0.5, 0.5, 0.5) glColor4f_(0.0, 1.0, 0.0, 1.0) glVertex3f_(0.5, 0.5, -0.5) glColor4f_(1.0, 1.0, 0.0, 1.0) glVertex3f_(-0.5, 0.5, -0.5) glColor4f_(1.0, 0.0, 0.0, 1.0) glVertex3f_(-0.5, 0.5, 0.5) glNormal3f_ (0, 1.0, 0) glColor4f_(0.0, 0.0, 1.0, 1.0) glVertex3f_ (-0.5, -0.5, -0.5) glColor4f_(0.0, 1.0, 0.0, 1.0) glVertex3f_ (0.5, -0.5, -0.5) glColor4f_(1.0, 1.0, 0.0, 1.0) glVertex3f_ (0.5, -0.5, 0.5) glColor4f_(1.0, 0.0, 0.0, 1.0) glVertex3f_ (-0.5, -0.5, 0.5) ;Left Right glNormal3f_ (1.0, 0, 0) glColor4f_(0.0, 0.0, 1.0, 1.0) glVertex3f_ (0.5, 0.5, 0.5) glColor4f_(0.0, 1.0, 0.0, 1.0) glVertex3f_ (0.5, -0.5, 0.5) glColor4f_(1.0, 1.0, 0.0, 1.0) glVertex3f_ (0.5, -0.5, -0.5) glColor4f_(1.0, 0.0, 0.0, 1.0) glVertex3f_ (0.5, 0.5, -0.5) glNormal3f_ (-1.0, 0, 0) glColor4f_(0.0, 0.0, 1.0, 1.0) glVertex3f_ (-0.5, -0.5, -0.5) glColor4f_(0.0, 1.0, 0.0, 1.0) glVertex3f_ (-0.5, -0.5, 0.5) glColor4f_(1.0, 1.0, 0.0, 1.0) glVertex3f_ (-0.5, 0.5, 0.5) glColor4f_(1.0, 0.0, 0.0, 1.0) glVertex3f_ (-0.5, 0.5, -0.5) glEnd_() glRotatef_ (0.15, 1.0, 0, 0) glRotatef_ (0.1, 0, 1.0, 0) glRotatef_ (0.125, 0, 0, 1.0) EndProcedure OpenWindow(0, 200, 200, 300, 300, #PB_Window_SystemMenu, "First OpenGL - by DarkDragon") InitOpenGLContext(0) Repeat ExamineKeyboard() DrawCube() SwapOpenGLContext(0) If KeyboardPushed(#PB_Key_1) GL_MODE = #GL_QUADS EndIf If KeyboardPushed(#PB_Key_2) GL_MODE = #GL_LINES EndIf If KeyboardPushed(#PB_Key_3) GL_MODE = #GL_POINTS EndIf If KeyboardPushed(#PB_Key_4) GL_MODE = #GL_TRIANGLES EndIf If KeyboardPushed(#PB_Key_5) GL_MODE = 0 EndIf Until WindowEvent() = #PB_EventCloseWindow Or Quit = 1 FreeOpenGLContext(0) End ; ExecutableFormat=Windows ; EOF