Hello everyone,
Im working at some game quite a time now, and everything is working perfect so far (maybe an wip soon).
However when i try the game on a pc with a hd5400 graphics card (drivers are up to date), all vbo draws simply dont draw anything.
I have rewritten stuff several times, without any progress, while it always works perfectly on my nvidia card.
Im getting kinda deperate now, does anyone have an clue what im doing wrong?
Code to draw the buffers:
public void InitDrawing(){
glBindBuffer(GL_ARRAY_BUFFER, pointbufferid);
if(updatepointbuffer){
glBufferData(GL_ARRAY_BUFFER, pointbufferdata, type);
updatepointbuffer = false;
}
glEnableClientState(GL_VERTEX_ARRAY);
glVertexPointer(3, GL_FLOAT, stride, 0);
int pointerloc = 12;
for(int i = 0; i < attribs.size(); i++){
pointerloc = attribs.get(i).Enable(stride, pointerloc);
}
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, indexbufferid);
if(updateindexbuffer){
FillTriangleData();
glBufferData(GL_ELEMENT_ARRAY_BUFFER, indexbuferdata, type);
updateindexbuffer = false;
}
}
public void Draw(){
InitDrawing();
glDrawElements(GL_TRIANGLES, indexsize, GL_UNSIGNED_INT, 0);
FinishDrawing();
}
public void DrawPartial(int start, int count){
glDrawElements(GL_TRIANGLES, count*3, GL_UNSIGNED_INT, start*3);
}
public void FinishDrawing(){
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
glBindBuffer(GL_ARRAY_BUFFER, 0);
glDisableClientState(GL_VERTEX_ARRAY);
for(int i = 0; i < attribs.size(); i++){
attribs.get(i).Disable();
}
}
The attribs beinig bound:
public int Enable(int stride, int pointerloc){
glEnableVertexAttribArray(loc);
glVertexAttribPointer(loc, amount, type, false, stride, pointerloc);
return pointerloc + getSize();
}
Any help / comments is welcome.
Thanks in advance.