Просмотр исходного кода

Use vertex arrays for drawing points in addition to lines

Sam Lantinga 11 лет назад
Родитель
Сommit
20f5167d27
1 измененных файлов с 8 добавлено и 6 удалено
  1. 8 6
      src/render/opengl/SDL_render_gl.c

+ 8 - 6
src/render/opengl/SDL_render_gl.c

@@ -1048,15 +1048,17 @@ GL_RenderDrawPoints(SDL_Renderer * renderer, const SDL_FPoint * points,
                     int count)
 {
     GL_RenderData *data = (GL_RenderData *) renderer->driverdata;
-    int i;
 
     GL_SetDrawingState(renderer);
 
-    data->glBegin(GL_POINTS);
-    for (i = 0; i < count; ++i) {
-        data->glVertex2f(0.5f + points[i].x, 0.5f + points[i].y);
-    }
-    data->glEnd();
+    data->glTranslatef(0.5f, 0.5f, 0.0f);
+    data->glVertexPointer(2, GL_FLOAT, 0, points);
+    data->glEnableClientState(GL_VERTEX_ARRAY);
+
+    data->glDrawArrays(GL_POINTS, 0, count);
+
+    data->glDisableClientState(GL_VERTEX_ARRAY);
+    data->glTranslatef(-0.5f, -0.5f, 0.0f);
 
     return 0;
 }