Hi
I tried to use VBO, but I don't understand why I see anything
If someone can help me ?
SetGraphicsDriver(GLMax2DDriver())
Graphics(800, 600, 0, -1, GRAPHICS_BACKBUFFER | GRAPHICS_DEPTHBUFFER)
glewInit()
glMatrixMode GL_PROJECTION
glLoadIdentity
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST)
glViewport(0, 0, 800, 600)
gluPerspective(60, Float(800) / Float(600), 0.001, 1000)
glEnable(GL_DEPTH_TEST)
glClearDepth(1.0)
glDepthFunc(GL_LEQUAL)
glAlphaFunc(GL_GEQUAL, 0.5)
'
'glMatrixMode GL_TEXTURE
'glMatrixMode GL_COLOR
'
glMatrixMode GL_MODELVIEW
glLoadIdentity
Global cubeArray:Float[] = [- 1.0, 1.0, -1.0, -1.0, -1.0, -1.0, -1.0, 1.0, 1.0, -1.0, -1.0, 1.0, 1.0, 1.0, 1.0, 1.0, -1.0, 1.0, 1.0, 1.0, -1.0, 1.0, -1.0, -1.0]
Global colorarray:float[] = [1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 1.0, 1.0, 1.0, 1.0]
Global IndiceArray:int[] = [0, 1, 2, 2, 1, 3, 4, 5, 6, 6, 5, 7, 3, 1, 5, 5, 1, 7, 0, 2, 6, 6, 2, 4, 6, 7, 0, 0, 7, 1, 2, 3, 4, 4, 3, 5]
global cubeBuffer:Int[3]
'
glgenbuffersARB(3, cubeBuffer)
glBindBufferARB(GL_ARRAY_BUFFER_ARB, CubeBuffer[0]) ;
glBufferDataARB(GL_ARRAY_BUFFER_ARB, SizeOf(cubeArray), CubeArray, GL_STATIC_DRAW_ARB) ;
glBindBufferARB(GL_ARRAY_BUFFER_ARB, CubeBuffer[1]) ;
glBufferDataARB(GL_ARRAY_BUFFER_ARB, SizeOf(colorarray), colorarray, GL_STATIC_DRAW_ARB) ;
glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, CubeBuffer[2]) ;
glBufferDataARB(GL_ELEMENT_ARRAY_BUFFER_ARB, SizeOf(IndiceArray), IndiceArray, GL_STATIC_DRAW_ARB) ;
global old_ms:int = MilliSecs()
global renders:int = 0
global fps:int = 0
glEnableClientState(GL_VERTEX_ARRAY)
glEnableCLientState(GL_Color_Array)
While not KeyHit(key_esCAPE)
'Rotate The Triangle On The Y axis ( New )
glClear GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT
glLoadIdentity 'Reset The ModelView Matrix
glTranslatef 2.0, 0.0, -5.0
' glDrawElements(GL_TRIANGLES, 36, GL_UNSIGNED_INT, Varptr(IndiceArray[0]))
glBindBufferARB(GL_ARRAY_BUFFER_ARB, cubeBuffer[0])
glVertexPointer(3, GL_FLOAT, 0, cubeArray)
glBindBufferARB(GL_ARRAY_BUFFER_ARB, cubeBuffer[1])
glColorPointer(3, GL_FLOAT, 0, colorarray)
'
glBindBufferARB(GL_ELEMENT_ARRAY_BUFFER_ARB, CubeBuffer[2])
glDrawElements(GL_TRIANGLES, 12, GL_UNSIGNED_INT, null)
gldrawText(FPS, 10, 10)
Flip()
renders = renders + 1
' calculate fps
If MilliSecs()-old_ms>=1000
old_ms=MilliSecs()
fps=renders
renders=0
EndIf
Wend
|