我使用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。不建议画三角形,我真的需要画点。列出的代码只是更复杂功能的一部分。