|
|
@ -106,9 +106,9 @@ |
|
|
|
|
|
|
|
// Desktop GL has glDrawElementsBaseVertex() which GL ES and WebGL don't have.
|
|
|
|
#if defined(IMGUI_IMPL_OPENGL_ES2) || defined(IMGUI_IMPL_OPENGL_ES3) |
|
|
|
#define IMGUI_IMPL_OPENGL_HAS_DRAW_WITH_BASE_VERTEX 1 |
|
|
|
#else |
|
|
|
#define IMGUI_IMPL_OPENGL_HAS_DRAW_WITH_BASE_VERTEX 0 |
|
|
|
#else |
|
|
|
#define IMGUI_IMPL_OPENGL_HAS_DRAW_WITH_BASE_VERTEX 1 |
|
|
|
#endif |
|
|
|
|
|
|
|
// OpenGL Data
|
|
|
@ -312,9 +312,9 @@ void ImGui_ImplOpenGL3_RenderDrawData(ImDrawData* draw_data) |
|
|
|
// Bind texture, Draw
|
|
|
|
glBindTexture(GL_TEXTURE_2D, (GLuint)(intptr_t)pcmd->TextureId); |
|
|
|
#if IMGUI_IMPL_OPENGL_HAS_DRAW_WITH_BASE_VERTEX |
|
|
|
glDrawElementsBaseVertex(GL_TRIANGLES, (GLsizei)pcmd->ElemCount, sizeof(ImDrawIdx) == 2 ? GL_UNSIGNED_SHORT : GL_UNSIGNED_INT, (void*)(intptr_t)pcmd->IdxOffset, (GLint)pcmd->VtxOffset); |
|
|
|
glDrawElementsBaseVertex(GL_TRIANGLES, (GLsizei)pcmd->ElemCount, sizeof(ImDrawIdx) == 2 ? GL_UNSIGNED_SHORT : GL_UNSIGNED_INT, (void*)(intptr_t)(pcmd->IdxOffset * sizeof(ImDrawIdx)), (GLint)pcmd->VtxOffset); |
|
|
|
#else |
|
|
|
glDrawElements(GL_TRIANGLES, (GLsizei)pcmd->ElemCount, sizeof(ImDrawIdx) == 2 ? GL_UNSIGNED_SHORT : GL_UNSIGNED_INT, (void*)(intptr_t)pcmd->IdxOffset); |
|
|
|
glDrawElements(GL_TRIANGLES, (GLsizei)pcmd->ElemCount, sizeof(ImDrawIdx) == 2 ? GL_UNSIGNED_SHORT : GL_UNSIGNED_INT, (void*)(intptr_t)(pcmd->IdxOffset * sizeof(ImDrawIdx))); |
|
|
|
#endif |
|
|
|
} |
|
|
|
} |
|
|
|