} else {
fghBindBuffer(FGH_ELEMENT_ARRAY_BUFFER, ibo_elements);
for (i=0; i<numParts; i++)
- glDrawElements(vertexMode,numVertPerPart,GL_UNSIGNED_SHORT,(void*)(long)(i*numVertPerPart));
+ glDrawElements(vertexMode, numVertPerPart,
+ GL_UNSIGNED_SHORT, (GLvoid*)(sizeof(vertIdxs[0])*i*numVertPerPart));
/* Clean existing bindings before clean-up */
/* Android showed instability otherwise */
fghBindBuffer(FGH_ELEMENT_ARRAY_BUFFER, 0);
if (vertIdxs2) {
fghBindBuffer(FGH_ELEMENT_ARRAY_BUFFER, ibo_elements2);
+ static float t2 = 0;
+ t2 += 0.1;
+ if (t2 >= numParts2)
+ t2 = 0;
for (i=0; i<numParts2; i++)
- glDrawElements(GL_LINE_LOOP,numVertPerPart2,GL_UNSIGNED_SHORT,(void*)(long)(i*numVertPerPart2));
+ glDrawElements(GL_LINE_LOOP, numVertPerPart2,
+ GL_UNSIGNED_SHORT, (GLvoid*)(sizeof(vertIdxs2[0])*i*numVertPerPart2));
/* Clean existing bindings before clean-up */
/* Android showed instability otherwise */
fghBindBuffer(FGH_ELEMENT_ARRAY_BUFFER, 0);
fghBindBuffer(FGH_ELEMENT_ARRAY_BUFFER, ibo_elements);
if (numParts>1) {
for (i=0; i<numParts; i++) {
- glDrawElements(GL_TRIANGLE_STRIP, numVertIdxsPerPart, GL_UNSIGNED_SHORT, (void*)(long)(i*numVertIdxsPerPart));
+ glDrawElements(GL_TRIANGLE_STRIP, numVertIdxsPerPart, GL_UNSIGNED_SHORT, (GLvoid*)(sizeof(vertIdxs[0])*i*numVertIdxsPerPart));
}
} else {
glDrawElements(GL_TRIANGLES, numVertIdxsPerPart, GL_UNSIGNED_SHORT, 0);