簡體   English   中英

系統掛斷OpenGLES調用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM