[英]System hangs up on OpenGLES calls
我想使用OpenGLES(Win32 / C ++ / VS2010)繪制簡單的三角形。 因此,我沒有任何錯誤,但是系統掛斷了OpenGLES調用。
我可以在計算機上編譯和運行不同的游戲引擎,並且一切正常,但是我無法繪制簡單的三角形!
游戲循環仍在運行,因此我收到了更新和繪制事件,並且看到了三角形,但是OpenGLES調用太慢,導致系統掛斷!
1. Creating and initializing EGL stuff.
2. glViewport(0, 0, 800, 480);
3. glClearColor(/*black*/);
4. glClear(GL_COLOR_BUFFER_BIT);
5. GLfloat vertices[] = {1,0,0, 0,1,0, -1,0,0};
6. glEnableClientState(GL_VERTEX_ARRAY);
7. glVertexPointer(3, GL_FLOAT, 0, vertices);
8. glDrawArrays(GL_TRIANGLES, 0, 3);
9. glDisableClientState(GL_VERTEX_ARRAY);
10. glFlush();
11. eglSwapBuffers(...)
游戲日志顯示了一些非常奇怪的東西!
NO TAG: Updated: 0ms.
NO TAG: Rendered: 0ms.
NO TAG: Updated: 1ms.
NO TAG: Rendered: 1ms.
NO TAG: Updated: 0ms.
NO TAG: Rendered: 0ms.
NO TAG: Updated: 1ms.
NO TAG: Rendered: 1ms.
NO TAG: Updated: 0ms.
NO TAG: Rendered: 1ms.
NO TAG: Updated: 1ms.
NO TAG: Rendered: 0ms.
NO TAG: Updated: 567ms.
NO TAG: Rendered: 478ms.
每個第50個循環都有一個緩慢的繪制和更新調用。
問題是缺少這些行:
if (! m_hAccelTable || ! TranslateAccelerator(msg.hwnd, m_hAccelTable, &msg))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
現在,我的應用程序沒有掛斷,但沒有呈現任何內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.