問題タブ [openscenegraph]

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 投票する
1 に答える
1127 参照

opencv - IplImageをosg::Imageに変換する

OpenCVIplImageをOpenSceneGraphのosg::Imageに正しく変換するにはどうすればよいですか?

これが私の現在の方法です。しかし、間違ったカラーデータを取得しています。

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

c++ - パフォーマンスを損なうことなく、異なる OpenSceneGraph ノードを表す複数の Qt ウィジェット

現在、次の問題に直面しています。さまざまな Qt ウィジェットで多数の個別の OpenSceneGraph シーンを表示する必要があるアプリケーションがあります。たとえば、1 つの Qt ウィジェットが球体を表し、別のウィジェットが 20 面体を表す場合があります。OpenSceneGraph 3.0.1 を使用しているため、これを実装するために公式ドキュメントの osgViewerQt の例に従いました。

サンプル コードではQTimer、ビューア ウィジェットの更新を強制するために を使用しています。

問題は、複数のウィジェットを作成して表示したいときに始まります。各ウィジェットには独自のタイマーが付属しているため、開いているウィジェットの数に応じてパフォーマンスが急速に低下します。OSG ウィジェットとの対話が非常に遅いだけでなく、他のQt ウィジェットとの対話も著しく遅くなります。最近の中途半端なクアッドコア システムでさえ、約 5 つのウィンドウが開いているとほとんど圧倒されます。この問題は、グラフィック ハードウェアとはまったく関係ありません。他のアプリケーション (Blender、Meshlab など) は、パフォーマンスに悪影響を与えることなく、より大きなシーンをレンダリングできます。

要約すると、パフォーマンスに影響を与えることなく、異なる OpenSceneGraph シーンを表示する複数の Qt ウィジェットを作成する最良の方法は何でしょうか?

すでに試したこと:

  • すべてのシーン オブジェクトosgViewer::CompositeViewerのレンダリングに 1 つの を使用することは既に検討しました。ただし、単一のウィジェットとのやり取りが非常に複雑になる可能性があるため、このアイデアは今のところ破棄しました。
  • osgQtWidgets の例で詳しく説明されているように、それぞれのレンダリング部分をosgViewer::CompositeViewer別のスレッドに入れてみました。

2 回目の試行 (スレッドを使用) は、おおよそ次のようになります。

ただし、これによりパフォーマンスが大幅に低下しました各スレッドは依然として多くの CPU 時間を必要とします (基本的な対話は依然としてタイマーで処理されるため、これは驚くべきことではありません)。このアプローチの唯一の利点は、少なくとも他のQt ウィジェットとの対話が可能であることです。

私たちにとって理想的な解決策は、ユーザーがクリックダブルクリックスクロールなどの操作を行うたびに再描画リクエストのみを起動するウィジェットです。より正確には、このウィジェットは更新が必要になるまでアイドル状態のままにする必要があります。これに似たことがまったく可能ですか?ご提案をお待ちしております。

0 投票する
5 に答える
48106 参照

c++ - メモリ位置例外での C++ bad_alloc

OSGP.exe の 0x758cd36f で未処理の例外: Microsoft C++ 例外: std::bad_alloc メモリ位置 0x0028ef70..

以下のコードを Visual Studio で実行しようとしています。ただし、上記の例外が引き続き発生します。エラーをキャッチするのに役立つようにtry catchを追加しましたが、役に立たないようです。この問題は、出力ウィンドウから次のことに関連していると思います

コードは次のとおりです。

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

opengl - OpenSceneGraph で実行時にテクスチャを更新する

外部デバイスのビデオからフレームをキャプチャし、openSceneGraph ノードでレンダリングする必要があるプロジェクトに取り組んでいます。GLSL シェーダーも使用しています。しかし、実行時にテクスチャを更新する方法がわかりません。他のユニフォームについてはコールバックを作成する必要がありますが、 glsl と openSceneGraph のサンプラーのコールバックも作成する必要がありますか?

私のコードは次のようになります。私が今得ているのは黒い窓だけです。

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

java - 3D プログラミング錐台カリング

3D グラフィック プログラミングにおけるフラスタム カリングの適切な説明をいただければ幸いです。私は 3D を学ぶ必要があり (これまで本格的なグラフィック プログラミングを行ったことはありません)、マニュアルや使用している書籍で使用されている用語のいくつかを理解するのに少し苦労しています。

本はこれと同じくらいそこにあるように見えるので、私は現在Java 3D API仕様を読み込もうとしています..

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

c++ - OpenScenegraph サンプル コードの問題

以下のコードは本からのものです。実行しようとすると、行で失敗します

osg::ref_ptr geom = 新しい osg::Geometry();

また、出力ウィンドウには、クラッシュしたことを伝える以外に、クラッシュした理由に関する多くの情報が含まれていないようです。以下のコードで何が間違っているのでしょうか? 前もって感謝します。

Visual Studio 2010 (windows 7 64) でこれを実行しようとすると、windows エラー ポップアップが表示されます。

Windows は、OSGPracticeLab.exe でブレークポイントをトリガーしました。これは、ヒープの破損が原因である可能性があります。これは、OSGPracticeLab.exe または読み込まれた DLL のバグを示しています。これは、OSGPracticeLab.exe にフォーカスがあるときにユーザーが F12 を押したことが原因である可能性もあります。出力ウィンドウには、より多くの診断情報が表示される場合があります。

コードをデバッグしようとすると、問題を新しい関数呼び出しまで追跡することができました。以下のコードでは、while ループがスキップされているようで、p(メモリが割り当てられていない) に対して null 値が返されるため、この下のコードの Geometry オブジェクトはインスタンス化されません。

以下は、いくつかの形状を描画して表示する私のプログラムです。

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

collada - .daeファイルを.osgファイルに変換する簡単な方法はありますか?

では、.daeファイル(COLLADA)を.osg(OpenSceneGraph)ファイルに変換する簡単な方法はありますか?

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

python - osgProducer リンク エラーのため PyOSG のインストールに失敗する

を使用して OSG 用の Python ラッパーをインストールしようとしていpip install PyOSGます。

しかし、このエラーで失敗しました:

ProducerOSG に依存するものをインストールしたので、リンクを成功させるために他に何をインストールすればよいかわかりません。

0 投票する
0 に答える
454 参照

c++ - Openscenegraph-それを超えるとカメラが進まない不可視の境界を作成する方法

私は3Dプログラミングに不慣れなので、ここに行きます。部屋をシミュレートしようとしています。壁の画像をロードしていませんが、コードで境界をシミュレートしたいと思います。どうすればこれを達成できますか?

以下は、カメラの動きを処理するコードです

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

c++ - OpenSceneGraph - 壁または 3 を追加する方法

シーングラフに壁を追加して、カメラで壁を通り過ぎないようにする必要があります。私は実験室のシーンを作成していますが、3D プログラミング全般は初めてです。私は OpensceneGraph 3.0 ビギナーズ ガイドという本を使用してきましたが、これまでのところ、わかりました。

シーンに家具がいくつかありますが、やりたいことは、カメラがそれを越えてはならない壁を追加することです。本、Openscenegraph初心者からの以下の私のコードは、何もしていないようです(83ページ)。追加すると、壁が見えなくなり、カメラでシーン内のどこにでも移動できます。アプリケーションで壁を作成するにはどうすればよいですか。