Strict Const Width=1024,Height=768 bglCreateContext(Width, Height, 32, 0,BGL_BACKBUFFER|BGL_DEPTHBUFFER) glViewport(0,0,Width,Height) glMatrixMode GL_PROJECTION gluPerspective 45.0,Float(Width)/Float(Height),1.0,1000.0 Type color Field r#,g#,b#,a# End Type Type vec3 Field x#,y#,z# End Type Local ambient:color = New color ambient.r = 0.2 ambient.g = 0.5 ambient.b = 0.7 Local position:vec3 = New vec3 position.x = 1.0 position.y = 3.0 position.z = 5.0 glLightfv GL_LIGHT0, GL_AMBIENT, Varptr(ambient.r) glLightfv GL_LIGHT0, GL_POSITION, Varptr(position.x) glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); glShadeModel(GL_SMOOTH) glEnable(GL_DEPTH_TEST) glEnable(GL_CULL_FACE) glMatrixMode GL_MODELVIEW glTranslatef(0.0,0.0,-10.0) While Not KeyHit(KEY_ESCAPE) glRotatef(0.03,0,1,0) glRotatef(0.02,1,0,0) glRotatef(-0.01,0,0,1) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) glBegin(GL_QUADS) 'Front glNormal3f( 0.0,0.0,-1.0) glVertex3f(-1.0, 1.0,-1.0) glVertex3f( 1.0, 1.0,-1.0) glVertex3f( 1.0,-1.0,-1.0) glVertex3f(-1.0,-1.0,-1.0) 'Back glNormal3f( 0.0, 0.0, 1.0) glVertex3f(-1.0, 1.0, 1.0) glVertex3f(-1.0,-1.0, 1.0) glVertex3f( 1.0,-1.0, 1.0) glVertex3f( 1.0, 1.0, 1.0) 'Right glNormal3f( 1.0, 0.0, 0.0) glVertex3f( 1.0, 1.0,-1.0) glVertex3f( 1.0, 1.0, 1.0) glVertex3f( 1.0,-1.0, 1.0) glVertex3f( 1.0,-1.0,-1.0) 'Left glNormal3f(-1.0, 0.0, 0.0) glVertex3f(-1.0, 1.0,-1.0) glVertex3f(-1.0,-1.0,-1.0) glVertex3f(-1.0,-1.0, 1.0) glVertex3f(-1.0, 1.0, 1.0) 'Top glNormal3f( 0.0, 1.0, 0.0) glVertex3f(-1.0, 1.0,-1.0) glVertex3f(-1.0, 1.0, 1.0) glVertex3f( 1.0, 1.0, 1.0) glVertex3f( 1.0, 1.0,-1.0) 'Bottom glNormal3f( 0.0,-1.0, 0.0) glVertex3f( 1.0,-1.0, 1.0) glVertex3f(-1.0,-1.0, 1.0) glVertex3f(-1.0,-1.0,-1.0) glVertex3f( 1.0,-1.0,-1.0) glEnd() bglSwapBuffers() Wend End