問題タブ [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 投票する
5 に答える
11499 参照

c++ - マルチスレッド C++ アプリでは、単純なブール値を保護するためにミューテックスが必要ですか?

OpenSceneGraph ライブラリで 3D レンダリングを行うマルチスレッド C++ アプリがあります。OSG のレンダー ループを、boost::threads を使用して別のスレッドとして開始し、共有状態を含むデータ構造をスレッドに渡すことを計画しています。レンダー ループをかなりタイトにする必要があり、OSG 自体がロックする必要がないようにしようとするため、同期には重すぎるもの (ミューテックスなど) を避けようとしています。共有状態のほとんどは、スレッドが開始される前に設定され、変更されることはありません。変更が必要なデータがいくつかありますが、これをダブル バッファリングする予定です。ただし、レンダリングを一時停止し、後でレンダリングを再開するようにスレッドに通知するための単純なブール値と、それを強制終了するための別のブール値があります。どちらの場合も、アプリ スレッドが bool を設定し、レンダリング スレッドはそれを読み取るだけです。これらのブールへのアクセスを同期する必要がありますか? 私が知る限り、発生する可能性のある最悪の事態は、一時停止または終了する前に、レンダリング ループが余分なフレームの間継続することです。

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

c++ - OpenSceneGraph アプリケーションでの無効なロック シーケンス エラー

私は、OpenSceneGraph (2.6.1) に対して構築されたアプリケーションを持っているため、間接的に OpenGL を使用しています。アプリケーションが初期化され、実行が開始されますが、OpenGL32.dll で「無効なロック シーケンスを実行しようとしました」という例外が発生します。再実行すると、この例外が発生することもあれば、「特権命令」に関する例外が発生することもあります。コール スタックが破損しているように見えるため、例外がどこからスローされているのか正確にはわかりません。数日前にアプリをかなり実行しましたが、この動作は見られませんでした。それ以来、いくつかの if に else 句を追加しました。それだけです。私のアプリはコンソール アプリケーションであり、Visual Studio 2008 でビルドされ、OpenScenGraph を SingleThreaded モードに設定します。誰もこれを前に見たことがありますか?デバッグのヒントはありますか?

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

opengl - OpenSceneGraphでテクスチャリングを無効にする

OSGでテクスチャリングを完全に無効にする必要があります。osg :: stateSetも試しglDisable(GL_TEXTURE_2D)てみましたが、テクスチャを持つノードの中には、テクスチャをレンダリングするものがあります。テクスチャリングをグローバルにオフにする方法はありますか?

少し背景:シーンのオブジェクトカバレッジマップを作成する必要があります。つまり、どのオブジェクトが各表示ピクセルを生成したかを知る必要があります。私は各オブジェクトをフラットカラーでレンダリングし、カラーバッファを読み戻しています。これが、テクスチャリングが私がやろうとしていることを壊す理由です。これを達成する方法について他に何かアイデアはありますか?

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

c++ - 座標変換C++

私はウェブカメラを斜めのテーブルに向けており、それを使ってマーカーを追跡しています。OpenSceneGraphにtransformationMatrixがあり、その変換部分には、追跡されたオブジェクトからカメラまでの相対座標が含まれています。カメラが斜めに向けられているため、マーカーをテーブル上で移動すると、Y軸とZ軸が更新されますが、更新したいのはZ軸だけです。これは、マーカーの高さがマーカーまでの距離だけを変更しないためです。カメラ。これは、OpenSceneGraphのマーカーにモデルを投影するときにモデルがわずかにずれていて、マーカーをY値とZ値の周りに移動すると正しく更新されない場合に効果があります。

したがって、私の推測では、テーブルの表面に直交する新しい座標系を作成するために、各ポイントを乗算する変換行列が必要です。次のようなものです。A*v1= v2 v1はカメラの座標であり、v2は私の「テーブル座標」です。したがって、システムを「調整」するために4つのポイントを選択しました。そこで、画面の左上隅にマーカーを配置し、v1を現在のカメラ座標として定義し、v2を(0,0,0)として定義し、4つの異なるポイントに対してそれを行いました。そして、未知の行列と2つの既知のベクトルを持つことから得られる線形方程式を取り、行列を解きました。

マトリックスに対して取得する値は、モデルがマーカー上で正しく更新されるように、カメラの座標を乗算するために必要な値になると思いました。しかし、以前に収集した既知のカメラ座標にマトリックスを掛けると、「テーブル座標」が想定されていたものに近づくことはできませんでした。

私のアプローチは完全に間違っていますか、私は方程式で何かを台無しにしただけですか?(wolframalpha.comの助けを借りて解決)これを行うためのより簡単なまたはより良い方法はありますか?私は一種の道に迷い、時間のプレッシャーにさらされているので、どんな助けでも大歓迎です:-/ありがとう、David

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

model - 拡張現実向けゲームエンジン

拡張現実プロジェクトでは、高解像度のライブ カメラ フィードを表示したいと考えています。次に、この前に、リアルタイムで操作 (変換、ストレッチなど) できるモデルを表示したいと考えています。

私はOpenSceneGraphを使用するつもりでしたが、操作を機能させるには多くの作業が必要になることに気付きました。したがって、より高レベルのソリューションを好むでしょう。

上記の機能をサポートするゲームエンジンを経験から推奨できる人はいますか? または、これを実現するために CAD アプリと連携する方法はありますか?

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

methods - 会社のアプリケーションでグラフィックス ツールキットをアップグレードするためのアクション プランが必要

私の仕事は、OpenSceneGraph (openGl ツールキット) バージョン 0.9.9 を使用するすべてのアプリケーションを最新かつ最高の 2.8 にアップグレードすることです。このタスクにはかなりの注意事項があります。

1.) バージョン .9.9 以降、コアの OpenSceneGraph (OSG) が大幅にオーバーホールされました。一般的に使用される関数とクラスが追加および削除されました。簡単に言えば、古いものを新しいものに置き換えて、非推奨または削除されたいくつかの関数を変更するだけでは不十分です。変更する必要があるものがたくさんあります。

2.) 私たちのアプリケーションは、Visual Studio 2003 で MFC を使用して構築されました。

3.) OSG 用の私の特定のシーンの適切に整理されたドキュメントを見つけることは不可能であり、せいぜい整理されておらず、散らばっているようです。

私の質問は次のとおりです。この問題に取り組むためのやや詳細な系統的アプローチは何でしょうか。アプリケーションの 1 つをアップグレードするのに約 2 週間かかります。その後、残りのアプリケーションにこのアプローチを適用する予定です。私にとって最大のハードルは、出発点を見つけることです。私が取り組んでいるほとんどのプロジェクトでは、ちょっとした整理と計画が手元にあれば、簡単に掘り下げて理解することができます。これはもう少し複雑な問題のように思えますが、より正確で正確な行動計画が必要です。あなたのアイデアや提案は大歓迎です。

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

import - OpenCascade からのエクスポート、OpenSceneGraph へのインポート

OCC を使用したモデリング ツールと、OSG を使用した 3D エディタがあります。私がやりたいことは、最初のツールからモデルをエクスポートし、2 番目のツールにインポートすることです。何日も Web を検索していますが、解決策が見つかりません。

私の問題を解決できるのは次の 3 つです。

  1. OCC が OSG でサポートされている形式 (.ive、.osg など) にエクスポートするためのエクスポーター。
  2. OSG が OCC でサポートされている形式 (.stp、.step、.igs、.iges、.brp、.brep) からインポートするためのインポーター、
  3. OCC がサポートする形式と OSG がサポートする形式の 2 つの形式を変換するための変換ツールです。

誰かがこれを以前に行ったことがありますか、または役立つことを知っていますか?

OCC 用のカスタム エクスポーターを作成しないようにしています。

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

c++ - Windowsでカイロライブラリを見つけるためにcmakeのPKG_CHECK_MODULESを取得する方法

win32 ボックスで OpenSceneGraph の pdf プラグインをビルドしようとしています。プラグインは、cmake の PKG_CHECK_MODULES マクロを使用して cairo および poppler ライブラリを検索します。ただし、これらを見つけやすくするためにこれらをインストールする方法がわかりません。

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

file - OpenGL 用の 3DS ファイルローダー

これは、サイトでの私の最初の質問です。OpenGL アプリケーション用の 3DS モデル ローダーが必要です。ローダーは、.jpg テクスチャもロードできる必要があります。この目的で OpenSceneGraph を使用しようとしましたが、今回はシーンをレンダリングするために OpenSceneGraph データ構造全体も使用する必要があります。モデルの読み込みにのみ OpenSceneGraph を使用し、残りは標準的な opengl コード、特に glTranslate、glRotate などで行うことは可能ですか?

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

c++ - メモリ使用量と最小化

FOXツールキットとOpenSceneGraph、そしてもちろんC++を使用するかなりグラフィカルなアプリケーションがあります。アプリケーションをしばらく実行した後、メモリリークが発生しているようです。ただし、最小化すると、かなりの量のメモリが解放されているように見えます(Windowsタスクマネージャーで確認できます)。アプリケーションが復元されると、メモリ使用量は増加しますが、最小化前の量よりも少なくなります。

これは、厄介なメモリリークがあることを示す大きな指標ですか?それとも、これはWindowsがグラフィカルアプリケーションを処理する方法に関係しているのでしょうか。何が起こっているのかよくわかりません。