問題タブ [opengl]

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.

0 投票する
20 に答える
6753 参照

windows - 新しい Windows ゲーム プロジェクトでは、OpenGL または Direct3D を使用しますか? または、他の何か?

Windows で 3D グラフィック効果を多用する趣味のゲーム プロジェクトを開始しています。ほとんどの場合、C++ で記述されます。

グラフィック バックエンドに OpenGL または Direct3D を使用する必要がありますか? なんで?

それとも、 OGRE 3Dなどの既製のグラフィック エンジンを使用する必要がありますか? どれ?

いくつかの「開始方法」リンクが役立ちます。(いずれかのテクノロジ、または両方で。)

編集- はい、明確化のためのgraham.reedsのおかげで、DirectX ではなく Direct3D を意味していました

編集- Mihai Lazarは、OGRE 3D などのグラフィック エンジンも使用できると指摘しました。この代替案を反映するように質問を編集しました。

0 投票する
1 に答える
23671 参照

c++ - OpenGL、SDL、および C++ を使用してテキストを描画するにはどうすればよいですか?

ここで読んだ SDL_TFF について聞いたことがありますが、TrueType2 ライブラリを接続する方法がわかりません。

多分そこにもっと良いものがありますか?

0 投票する
1 に答える
4064 参照

cocoa - OpenGL と Cocoa でテキストを描画する最良の方法は?

Cocoa NSOpenGLView で任意のテキストを描画する簡単な方法を知っている人はいますか? いくつかの制約があります。

  • 画面上のテキストはフレームごとに変わる場合があります (たとえば、コーナーのフレームレート表示)。
  • システムにインストールされている任意のフォントを任意のサイズで選択できるようにしたい
0 投票する
4 に答える
6503 参照

opengl - OpenGl とちらつき

CallList のオブジェクトがニア プレーンと交差すると、ちらつきが発生します...どうすればよいですか?

OpenGLとSDLを使用しています。

はい、ダブルバッファリングされています。

0 投票する
2 に答える
961 参照

c++ - c++ 複数のグラフィックオプションを持つ

現在、私のアプリはグラフィックスに Direct3D9 のみを使用していますが、将来的にはこれを D3D10 および場合によっては OpenGL に拡張する予定です。問題は、これをきちんとした方法で行うにはどうすればよいかということです。

現在、私のコードにはさまざまな Render メソッドがあります

渡される関数は、MainMenu->Render、Loading->Render などの正確な状態に依存します。これらは、多くの場合、他のオブジェクトのメソッドを呼び出します。

そして、entity::Base から派生したサンプル クラス

次に、各メソッドは、より詳細な設定 (ピクセル シェーダーがサポートされているかどうかなど) に応じて、最適なレンダリング方法を処理します。

問題は、これを拡張して、多少異なる(D3D v OpenGL)レンダリングモードのいずれかを使用できるようにする方法が本当にわからないことです...

0 投票する
3 に答える
1547 参照

debugging - VBO Vertex バッファのデバッグがクラッシュする

頂点、法線、およびカラー バッファー (glBindBufferARB) を格納するために VBO 拡張機能を使用しています。何らかの理由で、バッファーを変更したり、何らかの操作を行ったりすると、アプリケーションがアクセス違反でクラッシュします。デバッガーをアタッチすると、nvidia グラフィックス ドライバーに関連する dll で実行される opengl 呼び出しを実行するメイン スレッドではないスレッドでクラッシュが発生することがわかります。

おそらく発生したのは、一部のバッファー呼び出しに不適切なバッファーまたは間違ったサイズを指定したことです。私の質問は、この状況をどのようにデバッグするのですか? クラッシュは、実際の呼び出しの後、別のスレッドで発生したようです。

0 投票する
6 に答える
13513 参照

java - 最高の OpenGL Java バインディングは何ですか?

Java SWT アプリケーションのパフォーマンスを向上させようとしていますが、SWT で OpenGL を使用できることがわかりました。OpenGL 用の Java バインディングが複数あるようです。あなたはどちらを好みますか?

私はこれまで OpenGL を使用したことがなく、アプリケーションは Windows、Linux、および Mac OS X で動作する必要があることに注意してください。

0 投票する
2 に答える
1105 参照

python - Windows で pyglet の頂点リストとバッチが非常に遅くなるのはなぜですか?

ライブラリpygletを使用して、Pythonでopenglコードを書いています。pyglet.graphics.vertex_list または pyglet.graphics.batch オブジェクトを使用して画面に描画すると、単純な古い pyglet.graphics.draw() または単に glVertex() 呼び出しに比べて非常に遅くなります (~0.1 fps)。同じジオメトリで 40fps。Linux では、vertex_list は glVertex とほぼ同じ速度ですが、これは残念なことですが、バッチ メソッドは約 2 倍の速さです。

0 投票する
7 に答える
2933 参照

c++ - 並列処理を使用して C++ でゲームを作成する

人気のフラッシュ ゲーム Chrontron を C++ で "エミュレート" したいと考えていたので、始めるにあたって助けが必要でした。(注: リリース用ではなく、自分用に練習しているだけです)

そういうわけで、ゲームがどのように機能するかを説明します。私の問題が何であるかを本当に理解するには、少しプレイする必要があります。

これを解決する良い方法は、リンクされたリストを使用して各状態を保存することであると考えています。これは、おそらく時間に基づくハッシュ マップ、または時間に基づいて反復するリンクされたリストのいずれかになります。私はまだ確信が持てません。

実際の質問:

大まかな仕様ができたので、これに使用するデータ構造とその理由を決定するための助けが必要です。また、これを行うためにどのグラフィックス API/レイヤーを使用する必要があるかを知りたい: SDL、OpenGL、または DirectX (現在の選択は SDL)。そして、パラレルステートを実装するにはどうすればよいでしょうか? 並列スレッドで?

編集 (より明確にするために):
OS -- Windows (これは趣味のプロジェクトなので、後で Linux でこれを行う可能性があります)
グラフィックス -- 2D 言語 -- C++ (C++ でなければなりません -- これは次の学期のコースの練習です)

Q-未回答: SDL : OpenGL : Direct X
Q-回答済み: 並列処理を避ける
Q-回答済み: STL を使用して時間ステップ アクションを実装します。

質問に加えて、私は以前に C#、PHP、および Java を主に使用したことがあるので、自分自身をホットショット プログラマーとは言いません。このプロジェクトを容易にするのに役立つ C++ 固有の知識は何ですか? (つまり、ベクトル?)

0 投票する
4 に答える
790 参照

opengl - GPU を使用して点群の切断面にイプシロンに近い点をクエリする

私は GPU 機能を使用して現在の問題を解決しようとしています:「点群 P と、点と法線 (Pp、Np) で記述された有向平面が与えられた場合、EPSILON 以下の距離にある雲内の点を返します。飛行機から」。

私の同僚と話していると、次の解決策に収束しました。

1) すべてのポイントが異なる頂点座標を持つように、テクスチャ座標がアタッチされたポイントの頂点バッファを準備します。2) 投影ステータスを直交に設定します。3) 平面の​​法線が -z 軸と整列するようにメッシュを回転させますx,y,z=0 が Pp に対応するようにオフセットします 4) z:[-EPSILON;+EPSILON] のように z クリッピング プレーンを設定します 5) テクスチャにレンダリングします 6) グラフィック カードからテクスチャを取得します 7)グラフィック カードからテクスチャを読み取り、レンダリングされたポイントを (インデックスに関して) 確認します。これは、目的の距離範囲内のポイントです。

問題は次のとおりです。q1) そのような操作を行うには、ウィンドウ フレームを開く必要がありますか? 私は MATLAB 内で作業し、MEX-C++ を呼び出しています。経験上、新しいフレームを開くとすぐに、スーツ全体が惨めにクラッシュすることを知っています! q2) GLPoint にテクスチャ座標を与えるためのプリミティブは何ですか? q3) テクスチャへのレンダリングがどのように実装されるのかよくわかりません。任意の参照、チュートリアルは素晴らしいでしょう... q4) カードからこのテクスチャをどのように取得しますか? 繰り返しますが、参照、チュートリアルは素晴らしいでしょう...

スケジュールが厳しいので、GLSL 仕様書や OpenGL API を参考にするのではなく、私が学ぶべきテクニックの名前を教えていただければ幸いです。これらは、私の質問に対する少し漠然とした答えです。

コメントありがとうございます。

ps また、可能であれば CUDA のようなリソースを使用したくないことに注意してください。したがって、新しいシェーダーを作成する必要なく、できるだけ多くの OpenGL 要素を使用するものを取得します。

注: http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=245911#Post245911に相互投稿