2012-03-20 17 views
1

iphoneアプリからデスクトップOpenGLアプリケーションにソケット接続を使用してデータを送信しようとしています。例えばテクスチャの場所、openglアプリケーションソケット接続からのデータの受信/受信?

私はデスクトップ上で実行されているOpenGLアプリケーションを持っています。 デスクトップとiPhone用の別のソケットアプリケーションで、データを送受信できます。

しかし、デスクトップアプリケーション用のソケットアプリケーションとOpenGLアプリケーションを組み合わせる方法がわかりません。 デスクトップのOpenGLアプリケーションは、データを一度だけ受け取ることができ、その後glutMainLoop()に入ります。

+0

これをチェックしてください。それはソケットに関連していないので、私は答えとして投稿していませんが、glutMainLoop()が実行中に他の関数を呼び出すことができます。 http://www.kanersan.com/myfiles/Volcano.cpp – c0d3Junk13

答えて

3

デスクトップのOpenGLアプリケーションは、データを1回だけ受け取ってからglutMainLoop()に入ります。

これはあなたがそれをこう書いたからです。あなたのアプリケーションは、あなたが話すものだけを正確に行います。メインループの外側にある「ソケットからコードを取得する」コードを置きます。

glutTimerFuncで簡単にタイマー機能を設定できます。この関数では、データがあるかどうかをチェックし、データがある場合はそれを保存し、glutPostRedisplayにコールして、GLUTがその表示メソッドを再び呼び出すようにします。

個人的には、メインループを制御する必要があるこのようなアプリケーションでは、GLUTを避けることをおすすめします。 GLFWは、フレームをレンダリングした後に新しいデータがあるかどうかをソケットで確認する方が簡単なので、はるかに便利です。このような単純なケースの場合は少しですが、スレッド化されたソリューションが必要な場合もあります。

関連する問題