未拉直的直线

时间:2014-04-22 09:31:26

标签: ios opengl-es

我使用OpenGL ES 1.1用点填充整个iPad Retina屏幕。代码非常简单:

glDisable(GL_TEXTURE_2D);
glBlendFunc(GL_SRC_ALPHA, GL_ZERO);
glPointSize(1);
glColor4f(1, 1, 1, 1);
int ww = 1024, hh = 768;
for (int i = 0; i < ww * hh; ++i) {
  [self extendVertexBuffer:vertexCount];
  int xx = i % ww, yy = i / ww;
  vertexBuffer[2 * vertexCount + 0] = xx;
  vertexBuffer[2 * vertexCount + 1] = yy;
  ++vertexCount;
}
glVertexPointer(2, GL_FLOAT, 0, vertexBuffer);
glDrawArrays(GL_POINTS, 0, vertexCount);

结果在iPad上运行此代码时,所有视图都是白色,除了2行:水平,Y = 23,垂直,X = 31. glReadPixels确认这些行具有默认颜色。

一些技巧是使用glPointSize(2),但我怀疑应该有更好的决定。

有趣的细节 - 在模拟器上运行代码并没有产生这种效果。

很高兴看到解决这个奇怪问题的任何想法。

P.S。不建议画三角形,我真的需要画点。列出的代码只是更复杂功能的一部分。

0 个答案:

没有答案