問題タブ [openinventor]
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++ - GL_MAX_VIEWPORT_DIMSより大きいビューポートのタイルレンダリング
OpenGLシーングラフを取得しQGLFrameBufferObject
、結果をレンダリングするために使用するクラスを作成しています。(事実上)無限のサイズをサポートするために、私はタイリングを使用して、すべてのタイルをレンダリングした後に大きな画像に結合できる多くの小さな画像を抽出しています。
glViewport
画像全体にビューポート()を設定し、を使用glScissor
してタイルを次々に「切り抜く」ことでタイリングを行います。これは、までの解像度では問題なく機能GL_MAX_VIEWPORT_DIMS
しますが、この制限外の空のタイルになります。
この問題にどのように取り組むべきですか?カメラを変更する必要がありますか、それともこれを行うための巧妙なトリックはありますか?私はCoin/OpenInventorを使用しているので、これらのフレームワークに固有のヒントも大歓迎です。
c++ - Open Inventor の SoRayPickAction?
これが繰り返しである場合は申し訳ありませんが、Open Inventor での SoRayPickAction の実装を理解しようとしています。マウスをクリックしたときに特定のノードを選択して、移動、回転などを行えるように実装しようとしています。デスク、ランプ、フレーム (額縁) の 3 つのノードがあります。ただし、私のコードがまったく正しいとは思いません。また、MouseButtonCallback (マウスがクリックされたかどうかを確認してからナビゲーターを使用する) や MouseMoveCallback (同じ考え) などのさまざまなメソッドもあります。これが私が持っているコードですが、何か提案はありますか?今のところ、まあ、それは何もしません。
シーンにノードを「配置」できる OpenInventor のアクション、つまりランプを机の上に配置したり、フレームを壁に配置したりすることも知っているかもしれません。それはパスですか? 残念ながら、何を探しているのかさえわかりません。ご協力ありがとうございました!!
編集:これはどのように見えますか?SoSeparator *desk2; SoSeparator *ランプ2; SoSeparator *pic_frame2; SoSeparator *選択;
ocean - Petrel&Ocean 2012.1にはどのOpenInventorがありますか?
Petrel&Ocean2012.1のリリースが間近に迫っていることを私は知っています。したがって、Open Inventorのどのバージョンが使用されるのか、そしてそれに関する詳細情報はどこにあるのか疑問に思っています。
c++ - OpenInventor から PCD へ: RGB を 10 進数に変換できません
OpenInventor ファイルを PCD ファイルに変換する小さなプログラムを作成しています。そのために、OpenInventor ファイルと JPEG 画像の 2 つのファイルを入力します。テクスチャ座標は、0.0 ~ 1.0 の浮動小数点値です。
OpenCVを使ってRGB値を抽出して10進数で返すのですが、以下の関数がうまく動かないようです...
で画像をロードします
opengl - ハードウェアが特定の OpenGL 機能をサポートしているかどうかを調べる
特定の OpenGL 機能がハードウェアでサポートされているかどうかを確認するにはどうすればよいですか? 私の場合、両面照明がハードウェアで利用できるかどうかを知りたいです。OpenInventor を使用するアプローチも同様です。
c++ - Coin3D SoOffscreenRenderer を QImage に変換し、OpenGL でレンダリングする
QGLWidget
を使用して、QT を使用して Coin3D/Open Inventor シーンを表示しようとしていますSoOffscreenRenderer
。QImage
私がこれまでに試したことは、シーンをレンダリングしてSoOffscreenRenderer
次のようなバッファを取得することです:
QImage
次に、バッファ データからを作成します。
これは正しい方法でしょうか?
QImage の描画に関するこの質問で説明されているように、ソースが画像の場合は描画できます。
e: バッファーに実際にシーンが含まれていることを確認するために、バッファーの内容を 2 つのファイルに書き込みます。たとえば、IrfanView とそのプラグインを使用して、.rgb および .ps ファイルを表示できます。
e2: を使用する必要があることがわかりましたimg.rgbSwapped()
。これで、シーンが白黒で稲妻なしで表示されます。さらに調査します。
e3: このようなコードでは、この方法で OpenGL 呼び出しを調整してカラーでレンダリングする必要があります
最初の形式は GL_RGB、2 番目の形式は GL_RGBA です。ただし、立方体はまだ完全に黒です。
e4: 私のシーンではエラーでした。残りを追加する前に、特にカメラを追加する前にライトを追加する必要があります。
OpenGL で QImage を描画する方法を見つけました。このスレッドを参照してください。そのため、バッファまたはその変換に問題があるようです。
c++ - Coin3D で未処理の例外エラー (Open Inventor)
ノード内のクラス タイプを検索し、そのアドレスを返す一般的な関数を作成したかったのです。以下に定義されています
しかし、SoCoordinate3::getClassTypeId() のような検索タイプと、以下に示すように senode を検索するノードを渡すと:
しかし、最後の行は未処理の例外エラーを生成しています。ここで何が間違っているのか教えてください。関数のスコープ内に書かれたものは機能しますが、ここでは機能しないため、最後の行は有効です。
c++ - 3D 環境参照の設定
画面を見たときに窓のように見える仮想現実環境を作成するために、錐台カメラを設定しています。SoCamera、SoFrustumCamera、SoPerspectiveCamera、SoOrtographicCamera のすべてのドキュメントを確認しましたが、境界線を画面の境界線と一致させるためにシーンを設定する方法が見つかりませんでした。
私はこのようなことをしたい...
https://www.youtube.com/watch?v=Jd3-eiid-Uw
私のコードの問題は、シーンの「後ろ」だけではなく、シーン全体が動くことです。3D のように見えますが、実際のウィンドウほど没入感はありません。
誰かがヒントを持っているか、それについて私を助けることができますか? OpenInventor を使用して、C++ でコードを作成しています。ありがとう!!