I am a little confused when it comes to what function i should be using for my OpenGL Deferred Rendering.
I have a list of VBO( vertex buffer objects )
each one represents a type of vertex such a one might be (Position + Color)
I also have one for indeces
my problem comes when i want to render different objects
im use to the directX way where you
1)activate your vertex buffer
2)activate your index buffer
3) then you specify on your draw call your primitive type
the start vertex from the vertex buffer, the min vertex index, the vertex count, the start indice and the primivite count
with openGL im lost because i can use:
glDrawElements – but this uses render mode, object count, the indice byte type and the indices
this just basically tells me it will render at the start of the VBO which wont help me any if i have multiple objects in there.
Anyone have any clue what rendering function openGL has that I can specify where in the VBO to start rendering from and specify my start vertex position? I hope someone has any idea =\
You have several options.
You can reposition the start of each particular object’s vertex data by issuing more
glVertexAttribPointercalls before you draw that object. Or you can use glDrawElementsBaseVertex, where you get to specify a vertex index that all of the indices fetched by gets added to.The latter should be available on any non-Intel hardware still supported.