|
|
|
@ -77,15 +77,14 @@ void ImGui_ImplGlfwGL2_RenderDrawLists(ImDrawData* draw_data) |
|
|
|
|
glLoadIdentity(); |
|
|
|
|
|
|
|
|
|
// Render command lists
|
|
|
|
|
#define OFFSETOF(TYPE, ELEMENT) ((size_t)&(((TYPE *)0)->ELEMENT)) |
|
|
|
|
for (int n = 0; n < draw_data->CmdListsCount; n++) |
|
|
|
|
{ |
|
|
|
|
const ImDrawList* cmd_list = draw_data->CmdLists[n]; |
|
|
|
|
const ImDrawVert* vtx_buffer = cmd_list->VtxBuffer.Data; |
|
|
|
|
const ImDrawIdx* idx_buffer = cmd_list->IdxBuffer.Data; |
|
|
|
|
glVertexPointer(2, GL_FLOAT, sizeof(ImDrawVert), (const GLvoid*)((const char*)vtx_buffer + OFFSETOF(ImDrawVert, pos))); |
|
|
|
|
glTexCoordPointer(2, GL_FLOAT, sizeof(ImDrawVert), (const GLvoid*)((const char*)vtx_buffer + OFFSETOF(ImDrawVert, uv))); |
|
|
|
|
glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(ImDrawVert), (const GLvoid*)((const char*)vtx_buffer + OFFSETOF(ImDrawVert, col))); |
|
|
|
|
glVertexPointer(2, GL_FLOAT, sizeof(ImDrawVert), (const GLvoid*)((const char*)vtx_buffer + IM_OFFSETOF(ImDrawVert, pos))); |
|
|
|
|
glTexCoordPointer(2, GL_FLOAT, sizeof(ImDrawVert), (const GLvoid*)((const char*)vtx_buffer + IM_OFFSETOF(ImDrawVert, uv))); |
|
|
|
|
glColorPointer(4, GL_UNSIGNED_BYTE, sizeof(ImDrawVert), (const GLvoid*)((const char*)vtx_buffer + IM_OFFSETOF(ImDrawVert, col))); |
|
|
|
|
|
|
|
|
|
for (int cmd_i = 0; cmd_i < cmd_list->CmdBuffer.Size; cmd_i++) |
|
|
|
|
{ |
|
|
|
@ -103,7 +102,6 @@ void ImGui_ImplGlfwGL2_RenderDrawLists(ImDrawData* draw_data) |
|
|
|
|
idx_buffer += pcmd->ElemCount; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
#undef OFFSETOF |
|
|
|
|
|
|
|
|
|
// Restore modified state
|
|
|
|
|
glDisableClientState(GL_COLOR_ARRAY); |
|
|
|
|