| 204 | return eglImage; |
| 205 | } |
| 206 | void GLWidget::paintGL() |
| 207 | { |
| 208 | qglClearColor(clearColor); |
| 209 | glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); |
| 210 | |
| 211 | #if !defined(QT_OPENGL_ES_2) |
| 212 | |
| 213 | glLoadIdentity(); |
| 214 | glTranslatef(0.0f, 0.0f, -10.0f); |
| 215 | glRotatef(xRot / 16.0f, 1.0f, 0.0f, 0.0f); |
| 216 | glRotatef(yRot / 16.0f, 0.0f, 1.0f, 0.0f); |
| 217 | glRotatef(zRot / 16.0f, 0.0f, 0.0f, 1.0f); |
| 218 | |
| 219 | glVertexPointer(3, GL_FLOAT, 0, vertices.constData()); |
| 220 | glTexCoordPointer(2, GL_FLOAT, 0, texCoords.constData()); |
| 221 | glEnableClientState(GL_VERTEX_ARRAY); |
| 222 | glEnableClientState(GL_TEXTURE_COORD_ARRAY); |
| 223 | |
| 224 | #else |
| 225 | |
| 226 | QMatrix4x4 m; |
| 227 | m.ortho(-0.5f, +0.5f, +0.5f, -0.5f, 4.0f, 15.0f); |
| 228 | m.translate(0.0f, 0.0f, -10.0f); |
| 229 | m.rotate(xRot / 16.0f, 1.0f, 0.0f, 0.0f); |
| 230 | m.rotate(yRot / 16.0f, 0.0f, 1.0f, 0.0f); |
| 231 | m.rotate(zRot / 16.0f, 0.0f, 0.0f, 1.0f); |
| 232 | |
| 233 | program->setUniformValue("matrix", m); |
| 234 | program->enableAttributeArray(PROGRAM_VERTEX_ATTRIBUTE); |
| 235 | program->enableAttributeArray(PROGRAM_TEXCOORD_ATTRIBUTE); |
| 236 | program->setAttributeArray |
| 237 | (PROGRAM_VERTEX_ATTRIBUTE, vertices.constData()); |
| 238 | program->setAttributeArray |
| 239 | (PROGRAM_TEXCOORD_ATTRIBUTE, texCoords.constData()); |
| 240 | |
| 241 | #endif |
| 242 | |
| 243 | for (int i = 0; i < 6; ++i) { |
| 244 | glBindTexture(GL_TEXTURE_2D, textures[i]); |
| 245 | glDrawArrays(GL_TRIANGLE_FAN, i * 4, 4); |
| 246 | } |
| 247 | } |
| 248 | |
| 249 | void GLWidget::resizeGL(int width, int height) |
| 250 | { |
nothing calls this directly
no outgoing calls
no test coverage detected