Проблемы:
(1) следующий код:
glMatrixMode(GL_PROJECTION);
CGRect frame = self.bounds;
CGFloat scale = self.contentScaleFactor;
// Setup the view port in Pixels
glOrthof(0, frame.size.width * scale, 0, frame.size.height * scale, -1, 1);
glViewport(0, 0, frame.size.width * scale, frame.size.height * scale);
Устанавливает, что экранные координаты находятся в диапазоне от (0, 0) в левом нижнем углу до frame.sizeв правом верхнем углу.Другими словами, одно устройство OpenGL - это одна точка iPhone.Таким образом, ваш массив:
static const GLfloat squareVertices[] = {
-0.5f, -0.33f,
0.5f, -0.33f,
-0.5f, 0.33f,
0.5f, 0.33f,
};
имеет размер менее 1 пикселя.
(2) у вас есть следующее в настройке:
brushImage = [UIImage imageNamed:@"Particle.png"].CGImage;
/* ...brushImage eventually becomes the current texture... */
glEnable(GL_TEXTURE_2D);
Вы впоследствиине в состоянии предоставить текстурные координаты для вашего четырехугольника.Вероятно, вы хотите отключить GL_TEXTURE_2D
.
Итак, следующее:
static const GLfloat squareVertices[] = {
0.0f, 0.0f,
0.0, 10.0f,
90.0, 0.0f,
90.0f, 10.0f,
};
glDisable(GL_TEXTURE_2D);
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
// Render the vertex array
glVertexPointer(2, GL_FLOAT, 0, squareVertices);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
Создает белый четырехугольник шириной 90 точек и 10 точек в левом нижнем углу экрана.