I have only just started looking at Bmax now that its released for PC, and here is my first question:
In the above code, why doesn't the quad have the colors that I set?
Framework BRL.BlitzGL Import BRL.System Import PUB.OpenGL Import BRL.linkedlist Strict Const SCRX=1024,SCRY=768 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 = 5.0 position.y = 13.0 position.z = 15.0 Type points Field x#, y# Field R, G, B End Type Global list:TList=CreateList() Local mo:points = New points mo.x# = -1 mo.y# = -1 mo.r = 255 mo.g = 0 mo.b = 0 ListAddLast list,mo mo:points = New points mo.x# = 1 mo.y# = -1 mo.r = 0 mo.g = 255 mo.b = 0 ListAddLast list,mo mo:points = New points mo.x# = 1 mo.y# = 1 mo.r = 0 mo.g = 0 mo.b = 255 ListAddLast list,mo mo:points = New points mo.x# = -1 mo.y# = 1 mo.r = 255 mo.g = 255 mo.b = 255 ListAddLast list,mo Global angle:Float = 0.5 ' init OGL bglCreateContext(SCRX, SCRY, 32, 0,BGL_BACKBUFFER|BGL_DEPTHBUFFER) glViewport(0,0,SCRX,SCRY) glMatrixMode(GL_PROJECTION) glLoadIdentity() gluPerspective(45.0,Float(SCRX)/Float(SCRY),1.0,100.0) ' create light and position it glLightfv GL_LIGHT0, GL_AMBIENT, Varptr(ambient.r) glLightfv GL_LIGHT0, GL_POSITION, Varptr(position.x) glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); ' set render options glShadeModel(GL_SMOOTH) glEnable(GL_DEPTH_TEST) glEnable(GL_CULL_FACE) glMatrixMode(GL_MODELVIEW) ' move camera glTranslatef(0.0,0.0,-20.0) bglSetSwapInterval( 60 ) While Not KeyHit(KEY_ESCAPE) glRotatef(angle,0,0,1) glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) glBegin(GL_QUADS) For mo:points = EachIn list glColor3i( mo.r, mo.g, mo.b ) glVertex3f( mo.x#, mo.y#, 0 ) Next glEnd() bglSwapBuffers() Wend End
In the above code, why doesn't the quad have the colors that I set?