2013-03-06 21 views
0

我有兩個類bGLpanel和bGLpanel1派生自wxGLcanvas和bpane和bpane1分別是兩個類的實例我想要連續渲染兩個wxGLcanvas(通過兩個單獨的線程),或者渲染兩者。怎麼做?現在只是第一個(bpane)被渲染在我的App.wxPanel上是wxNotebook的一部分。通過交替渲染或兩個單獨的線程連續渲染到相同的wxPanel上的兩個wxglcanvas

附加信息:

wiki.wxwidgets.org/Using_wxImage_to_load_textures_for_OpenGL我使用這個鏈接我想提出兩個不同的類需要兩個完全不同的流給出的例子被打開,因此有兩種不同的渲染方法並且我不知道如何使用該示例進行交替渲染。

回答

0

從兩個不同線程更新您的顯示器將不起作用。 wxWidgets只會從一個主線程更新顯示。如果你嘗試,會發生令人討厭的,意想不到的事情。

但是,如果您有兩個wxGLCanvas小部件,那麼您可以在刷新請求後輪流渲染每個小部件,並且它看起來會很好。

你有兩個選擇:

  1. 更新每個刷新一個畫布,並保持標誌,使其交替進行。

  2. 更新每個刷新上的兩個畫布。

這幾乎不重要,你選擇。我會自己猜測#2,但嘗試兩種方法並看看你更喜歡哪種方式並沒有什麼大不了的。

事情是這樣的:

EVT_PAINT(MyApp::RenderRequest) 

void MyApp::RenderRequest(wxPaintEvent& evt) 
{ 
    glPlaneA->Render(evt); 
    glPlaneB->Render(evt); 
} 
+0

怎麼辦呢交替渲染 – psyche 2013-03-06 19:44:49

+0

http://wiki.wxwidgets.org/Using_wxImage_to_load_textures_for_OpenGL我使用這個鏈接我提出兩種不同類型的兩個給出的例子完全不同的流需要打開,所以有兩種不同的渲染方法,我不知道如何使用該示例進行交替渲染。 – psyche 2013-03-06 19:51:05

相關問題