VBO, please help

BlitzMax Forums/OpenGL Module/VBO, please help

Eole(Posted 2010) [#1]
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



Eole(Posted 2010) [#2]
Sorry, I found


5quid(Posted 2010) [#3]
I'm just now learning about VBOs and using them in blitz and would find it useful if you could post what fixed your issue.