- 论坛徽章:
- 11
|
现象是黑屏, iOS 平台, 是在非主线程中调用的; 但 iOS 上的 eagl 是在主线程中初始化的;
Index Context Thread GCD Queue Trace
108 0x479b20 0x1b84e 0x0 [EAGLContext setCurrentContext:0x0000000000479b20]
109 0x479b20 0x1b84e 0x0 glBindFramebuffer(GL_FRAMEBUFFER, 1u)
110 0x479b20 0x1b84e 0x0 GL_NO_ERROR <- glGetError()
111 0x479b20 0x1b84e 0x0 glBindRenderbuffer(GL_RENDERBUFFER, 1u)
112 0x479b20 0x1b84e 0x0 GL_NO_ERROR <- glGetError()
113 0x479b20 0x1b84e 0x0 glUniformMatrix4fv(0, 1, 0u, {0.0064516f, 0.0000000f, 0.0000000f, 0.0000000f, 0.0000000f, 0.0095238f, 0.0000000f, 0.0000000f, 0.0000000f, 0.0000000f, -1.0000000f, 0.0000000f, -1.0000000f, -1.0000000f, -0.0000000f, 1.0000000f}) -------------- 这个其实就是glOrtho(wind->x, wind->x + wind->w, wind->y, wind->y + wind->h, -1.0, 1.0), 只是 opengl es 2.0 已经删除了这个函数, 于是就自己写了一个
114 0x479b20 0x1b84e 0x0 glViewport(155, 0, 310, 105)
115 0x479b20 0x1b84e 0x0 GL_NO_ERROR <- glGetError()
116 0x479b20 0x1b84e 0x0 glUniform1f(5, 1.0000000f)
117 0x479b20 0x1b84e 0x0 glActiveTexture(GL_TEXTURE0)
118 0x479b20 0x1b84e 0x0 glBindTexture(GL_TEXTURE_2D, 1u)
119 0x479b20 0x1b84e 0x0 GL_NO_ERROR <- glGetError()
120 0x479b20 0x1b84e 0x0 glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 640, 480, 0, GL_BGRA, GL_UNSIGNED_BYTE, 0x0acf10a4)
121 0x479b20 0x1b84e 0x0 GL_NO_ERROR <- glGetError()
122 0x479b20 0x1b84e 0x0 glBindVertexArray(1u)
123 0x479b20 0x1b84e 0x0 GL_NO_ERROR <- glGetError()
124 0x479b20 0x1b84e 0x0 glVertexAttribPointer(1u, 3, GL_FLOAT, 0u, 28, 0x00000080)
125 0x479b20 0x1b84e 0x0 glDrawArrays(GL_TRIANGLE_STRIP, 0, 4)
126 0x479b20 0x1b84e 0x0 GL_NO_ERROR <- glGetError()
127 0x479b20 0x1b84e 0x0 [0x0000000000479b20 presentRenderbuffer:GL_RENDERBUFFER]
|
|