問題タブ [freeglut]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - OpenGLでコーンのような塗りつぶされたエンベロープを描く方法(GLUTを使用)?
私はopenglレンダリングにfreeglutを使用しています...
円錐 (2D) のようなエンベロープを描画する必要があります。このエンベロープには、色と透明度を適用する必要があります。
freeglut ツールキットには、塗りつぶされたジオメトリ (または何らかのトリック) を描画するための組み込み機能が装備されていますか? または、埋められたジオメトリのサポートが組み込まれている他のAPIがあります..
Edit1: 2Dコーンのことを明確にするために...エンベロープは、(敵航空機の)迎撃中の航空機のカバレッジエリアのグラフィカルな解釈です...それは円のセクターに似ています..セクターについて言及する必要がありました代わりは..
そして、glutSolidConeは、円の塗りつぶされたセクターを描画したいので役に立ちません...これはすでに行っています...残っているのは、それを色で塗りつぶすことです...openglでジオメトリを色で塗りつぶす方法は?
Edit2: この質問に投稿されたすべての回答は、ある意味で私の問題に役立つ可能性があります..しかし、ジオメトリを色で塗りつぶす方法を知りたいと思います. 放物線であるエンベロープを描画したい場合...その場合、実際に塗りつぶされた放物線を描画するためのデフォルトのglut関数はありません(または何かありますか?)..この質問を一般化するには...どのようにカスタム ジオメトリを単色で描画しますか?
Edit3: mstrobl が投稿した回答は GL_TRIANGLES に対して機能しますが、そのようなコードに対しては:
正方形を描画します...有線の正方形のみが描画されます...青色で塗りつぶす必要があります。
とにかくやる?
パイのような閉じた曲線に描画コマンドをいくつか入れて、それを色で塗りつぶす必要がある場合、それを可能にする方法はありますか...
GL_TRIANGLES でどのように可能かわかりません...しかし、閉じた曲線でそれを行う方法は?
c# - 私が支援しているプロジェクトでは、クライアントに freeglut を使用しています。別の方法でアドバイスする必要がありますか?
私は、クライアントに freeglut (長く機能していない glut に基づく) を使用している開発プロジェクトに携わっています。
クライアントは最終的に、大規模な 3D 環境との完全な対話を可能にします。freeglut を使用して開発を続行する必要がありますか (可能でしょうか)、または libsdl、opentk、さらには axiom などの別の代替手段を使用するようにアドバイスする必要があります。
私はグラフィックスの専門家ではありませんが、freeglut は限られた選択肢になる可能性があると感じています。
最も説得力のある回答 (賛成または反対) が認定されます。
編集:作成するいくつかのポイント...
- プロジェクトは既に Tao フレームワークを使用しています。
- DirectX と XNA はオプションではありません (つまり、freeglut や libsdl などを使用する必要があります)。
私が調査を行ったところ、freeglut が再び活発に開発されており、リリースが保留されていることがわかりました。それはまだ潜在的に限られた選択肢であるかもしれないという私の気持ちを変えるものではありません.
私の質問は、それがどのように行われたかではなく、freeglutが潜在的に大きくなる可能性のあるものに対してまだ実行可能な選択肢であるかどうか、および開発を少し楽にする可能性のある「最新の」ソリューションがあるかどうかについてです.
EDIT:他の代替手段がより優れたマルチスレッドサポートを備えている場合(オブジェクトのレンダリングではなく、データの処理など)に役立ちます。
編集: もう少し詳しく説明すると、クライアントは少なくとも Linux と Windows で動作する必要があります。
ありがとう!
c - glutPost別スレッドで再表示
私は標準的な過剰な実装をしています。表示関数は各オブジェクトを再描画しますが、各オブジェクトの特定の値を常に更新する必要があります。現状では、これを行うために考えることができる唯一の方法は、更新を処理するスレッドを生成することです。ただし、別のスレッドから glutPostRedisplay() を使用して、ウィンドウを更新するために glut を取得することはできません。glutループと並んで値を更新するループを持つ良い方法は何ですか?
また、(sleep() を 1 秒単位で使用するのではなく) 秒単位でスリープする最良の方法は何ですか。
c++ - MSVCおよびFreeGlutコンパイラエラー
コンパイル時にこれらのメッセージを大量に受信するため、単純なプログラムのコンパイルに非常に時間がかかります。
これを防ぐ方法はありますか?私の課題に取り組むことをもっと楽しくするだろう。:)
編集:私はMicrosoft Visual C ++Express2008を使用しています。
c++ - gcc/g++ を使用して Linux 上の Windows 用にコンパイルするには?
Linux で freeglut を使用して C++ (g++) でいくつかのエフェクトを作成し、次のようにコンパイルしました。
だから、必要なものすべてを含む静的にコンパイルされた Windows 実行可能ファイルを g++ で作成できるかどうか疑問に思っていましたか?
私は Windows を持っていないので、Linux でそれを行うことができれば、それは本当に素晴らしいことです :)
x11 - GLUTプログラムのXウィンドウIDを取得していますか?または、XでGLUTプログラムをリモートコントロールする方法は?
X11のGLUTプログラムにキーストロークを送信したいのですが、GLUTプログラムに接続されているX11クライアントが見つかりません。
私はこれを、シマリス2d物理パッケージの最も優れたデモプログラムを使用して行います。
違いはありません。
私の最終的な希望は、次と同等のキーイベントを送信することでGLUTプログラムを制御できることです。
だから私の質問:
- Linux / X11で実行されているGLUTプログラムをリモートコントロールするにはどうすればよいですか?
- GLUTプログラムのX11ウィンドウIDを取得する方法はありますか?
opengl - GLUTを使用した標準的で信頼性の高いマウスレポート
OpenGLアプリケーションでGLUT(freeglut)を使用しようとしていますが、マウスホイールイベントのコールバックを登録する必要があります。私はなんとか文書化されていない関数を掘り起こすことができました:
ただし、この関数のマニュアルページとAPIエントリは、どちらも同じことを示しています。
注:マウスに関する情報が不足しているため、現時点ではXにこれを正しく実装することはできません。この関数を使用すると、アプリケーションの移植性が制限されます。(この機能はXで機能しますが、確実ではありません。)ホイールイベントではなく、標準の信頼できるマウスボタンレポートを使用することをお勧めします。
十分に公平ですが、この標準の信頼できるマウスレポートをどのように使用しますか?そして、どのようにして標準がどれであるかを知ることができますか?glutMouseFunc()を使用し、上下のスクロール値にそれぞれ4や5などのボタン値を使用しますか?たとえば、1、2、3が左、中央、右のボタンである場合はどうでしょうか。これは信頼できる方法ですか?
ボーナスの質問:「xev」ツールがボタンのさまざまな値を報告しているようです。私のマウスボタンはxevで1から5まで番号が付けられていますが、glutは0から4まで、つまり1つずつボタンを報告しています。これは一般的ですか?
c++ - gluPerspectiveはOpenGL3.1で削除されましたが、置き換えはありますか?
ネット上でいくつかのOpenGLチュートリアルを読み込もうとしています。問題は、を使用する古いものをいくつか見つけたことgluPerspective()
です。gluPerspectiveはOpenGL3.0で非推奨になり、3.1で削除されました。
代わりにどの機能を使用できますか?
最新のFreeGlutがインストールされたC++を使用しています。
c++ - C++ メモリ リーク、場所が見つかりません
私は Visual Studio 2008 を使用しており、OpenGL ウィンドウを開発しています。スケルトンを作成するためのクラスをいくつか作成しました。1 つはジョイント用、もう 1 つはスキン用、もう 1 つはボディ用 (複数のジョイントとスキンのホルダー)、もう 1 つはスケル/スキン ファイルを読み取るためです。
各クラス内で、ほとんどのデータにポインターを使用しています。そのほとんどは = new int[XX] を使用して宣言されています。delete[XX] を使用してポインタを削除する各クラスのデストラクタがあります。
GLUT 表示関数内で、本体を宣言し、ファイルを開いて描画し、表示の最後で本体を削除します。しかし、プログラムのどこかにまだメモリ リークがあります。時間が経つにつれて、メモリ使用量が一定の割合で増加し続けます。これは、削除されていないものとして解釈しています。
Body クラスを削除していないだけの glut display 関数の何かなのか、それとも何か他のものなのか、私にはわかりません。Visual Studio 2008 でメモリ リーク検出の手順を実行しましたが、リークは報告されませんが、正しく機能しているかどうかは 100% 確信が持てません。私はC++に堪能ではないので、見落としているものがあるかもしれません。誰かがそれを見ることができますか?
メインから:
本文から:
opengl - freeGLUT キーボード入力
GLUT (freeglut3) を使用しています (Haskell GLUT バインディング経由)。
さまざまな重要なキー (例: Shift+Tab) がコールバックを呼び出さないようです。また、「mods」には win-key は記述されておらず、Ctrl、Shift、Alt のみが記述されています。
キーボード入力へのアクセスがこのように制限されていることは、実際のアプリケーション開発にとって深刻な障害です。私はここで何か間違ったことをしていますか、それともfreeglutが不自由なだけですか? GLUTは一般的に不自由ですか?