即時通訊使用套接字連接將數據從iPhone應用程序發送到桌面OpenGL應用程序。例如紋理的位置,opengl應用程序監聽/從套接字連接接收數據?
我有在桌面上運行的opengl應用程序。 和一個單獨的套接字應用程序的桌面和iPhone,我可以發送/接收數據。
但我不確定如何將套接字應用程序和用於桌面的opengl應用程序結合起來。 桌面opengl應用程序只能接收一次數據,然後進入glutMainLoop()。
即時通訊使用套接字連接將數據從iPhone應用程序發送到桌面OpenGL應用程序。例如紋理的位置,opengl應用程序監聽/從套接字連接接收數據?
我有在桌面上運行的opengl應用程序。 和一個單獨的套接字應用程序的桌面和iPhone,我可以發送/接收數據。
但我不確定如何將套接字應用程序和用於桌面的opengl應用程序結合起來。 桌面opengl應用程序只能接收一次數據,然後進入glutMainLoop()。
桌面opengl應用程序只能接收一次數據,然後進入glutMainLoop()。
那是因爲你是這樣寫的。你的應用程序完全並且只是你所說的。您將「從套接字中獲取數據」代碼放在主循環之外。
您可以簡單地使用glutTimerFunc
設置定時器功能。在這個函數中,你檢查是否有更多的數據,如果有,存儲它並且調用glutPostRedisplay
來使GLUT再次調用它的顯示方法。
就個人而言,我建議避免GLUT這樣的應用程序,你需要控制主循環。 GLFW對你來說會更有用,因爲更簡單地檢查套接字以查看渲染幀之後是否有新數據。你甚至可能想要一個線程化的解決方案,雖然這對於這樣一個簡單的例子來說有點多。
看看這個。它與套接字無關,因此我不會將它作爲答案發布,但當glutMainLoop()正在執行時,您可以調用其他函數。 http://www.kanersan.com/myfiles/Volcano.cpp – c0d3Junk13 2012-03-20 20:33:52