' Gambas module file 'tutorial based on tutorial from NeHe Productions site at http://nehe.gamedev.net/ 'visit the page for more info on OpenGL ' 'In this tutorial we add some color to our triangle and quad from tutorial 2 ' Gambas module file Private screen As New Window(True) As "Screen" Public Sub Main() With screen .Width = 640 .Height = 480 .Text = MMain.Title .Show() End With End Public Sub Screen_Open() Gl.ClearDepth(100.0) 'Enables Clearing Of The Depth Buffer gl.ClearColor(0.0, 0.0, 0.0, 0.0) 'This Will Clear The Background Color To Black gl.DepthFunc(gl.LESS) 'The Type Of Depth Test To Do gl.Enable(gl.DEPTH_TEST) 'Enables Depth Testing gl.ShadeModel(gl.SMOOTH) 'Enables Smooth Color Shading gl.MatrixMode(gl.PROJECTION) gl.LoadIdentity() 'Reset The Projection Matrix glu.Perspective(45.0, screen.Width / screen.Height, 0.1, 100.0) 'Calculate The Aspect Ratio Of The Window gl.MatrixMode(gl.MODELVIEW) End Public Sub Screen_resize() Gl.Viewport(0, 0, Screen.Width, Screen.Height) Gl.MatrixMode(Gl.PROJECTION) Gl.LoadIdentity() 'Reset The Projection Matrix glu.Perspective(45.0, screen.Width / screen.Height, 0.1, 100.0) 'Calculate The Aspect Ratio Of The Window Gl.MatrixMode(Gl.MODELVIEW) End Public Sub init() End Public Sub Screen_Draw() gl.Clear(gl.COLOR_BUFFER_BIT Or gl.DEPTH_BUFFER_BIT) ' Clear The Screen And The Depth Buffer gl.LoadIdentity() 'Reset The View gl.translatef(-1.5, 0.0, -6.0) ' MOVE Left 1.5 Units AND Into The Screen 6.0 gl.Begin(gl.TRIANGLES) 'Drawing Using Triangles gl.Color3f(1.0, 0.0, 0.0) 'Set The Color TO Red gl.Vertex3f(0.0, 1.0, 0.0) 'Top gl.Color3f(0.0, 1.0, 0.0) 'Set The Color TO Green gl.Vertex3f(-1.0, -1.0, 0.0) 'Bottom Left gl.Color3f(0.0, 0.0, 1.0) 'Set The Color TO Blue gl.Vertex3f(1.0, -1.0, 0.0) 'Bottom Right gl.End() 'Finished Drawing The Triangle gl.Translatef(3.0, 0.0, 0.0) 'MOVE Right 3 Units gl.Color3f(0.5, 0.5, 1.0) 'Set The Color TO Blue One Time Only gl.Begin(gl.QUADS) 'Draw A Quad gl.Vertex3f(-1.0, 1.0, 0.0) 'Top Left gl.Vertex3f(1.0, 1.0, 0.0) 'Top Right gl.Vertex3f(1.0, -1.0, 0.0) 'Bottom Right gl.Vertex3f(-1.0, -1.0, 0.0) 'Bottom Left gl.End() 'Done Drawing The Quad End