2010-10-11 14 views
0

我使用GLFW創建OpenGL上下文和捕獲用戶的輸入,我想捕獲從OpenGL上下文最初創建的其他線程的整個輸入操作。我是否可以通過使用GLFW,SDL或類似的庫或需要我來實現此目的,例如,爲每個任務使用不同的庫管理程序?如果是這樣,你會推薦哪個庫來捕獲輸入? (它需要跨平臺)。提前致謝。玩OpenGL和從單獨的線程輸入

+0

你實際上在開發中使用多個平臺嗎? – MSN 2010-10-11 21:56:55

+0

是的,在學校的Windows和家裏的Linux上工作。它主要運行在Windows上,但由於該項目的學術性質,它也應該在Linux上運行。 :) – erjot 2010-10-12 06:42:34

回答

0

GLFW具有良好的輸入API,您並不需要在單獨的線程中處理輸入。如果幀率足夠高,則每幀檢查一次輸入應該足夠了(如果幀需要花費幾秒鐘渲染,情況可能並非如此)。

+0

將輸入放在單獨的線程上肯定不適合性能調整。 :)當我接近這個問題時,我意識到這樣做不是個好主意。 – erjot 2010-10-16 16:31:23

0

OpenGL和線程混合不好。如果你真的需要更多的線程,最好的方法是從opengl線程發送一些消息(包含用戶輸入信息)到你使用這些信息做什麼的線程。

+0

如何使用OpenGL捕獲輸入數據? – erjot 2010-10-16 16:26:41

+0

我知道如何做GLUT。對於過量,您需要使用glutMouseFunc和glutKeyboardFunc函數,並保存鼠標點擊的所有座標以及鍵盤上的任何使用類型。 – 2010-10-18 08:03:43