問題タブ [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.
c++ - Qtシグナル/スロットでOSGのosgViewerQtの例を使用する
すでにOSGメーリングリストに投稿していますが、少し遅いようです。
とにかく、ビューアを含む独自の新しいクラスを追加して、 osgViewerQtの例を変更しようとしています。デザインは次のとおりです。
- wrapper.h :クラスWrapperを定義します。QMainWindowから継承し 、ViewerWidgetが接続されるQDockWidgetを備えてい ます。
- Viewer.h:ViewerWidgetクラスを定義します。これは例のクラスで、私がいくつかのmodを使用しています。
- prueba_qt.cpp:メイン関数とQApplicationが作成される場所。ここでラッパーオブジェクトが作成されます。
プロジェクトはコンパイルされますが、実行するとエラーが発生します。
Q_OBJECT行、シグナル、およびスロットを wrapper.hから削除し、を使用してターミナルからファイルをコンパイルすると、
アプリを実行できます。
この作品を作るために私に何ができるか教えていただけますか?私は午前中ずっと苦労しましたが、解決策を見つけることができませんでした。
御時間ありがとうございます!
PS:SOはWindows 7 64ビット#MingWコンパイラ#Qt 4.8#OSG 3.0.1
PS2:qmakeのproファイルを含め、このプロジェクトで使用したファイルは次のとおりです。
wrapper.h
wrapper.cpp
(これは、Qtフォーラムで、mocはcppファイルしか解析できないため、シグナル/スロットメカニズムに1つ必要であると読んだためにのみ存在します。)
prueba_qt.cpp
prueba_qt.pro
Viewer.h:これはかなり大きいので、pastebinにアップロードしました
編集#1
OSG_NOTIFY_LEVELをDEBUG_INFOに設定し、この巨大な出力を取得しました。エラーのある行は次のとおりです。
編集#2
信号とスロットがコードにありませんでした。Q_OBJECTの呼び出しとともに、それらをwrapper.hに追加しました。
c++ - QWidget を使用した OSG に余分な境界線が表示される
点群をロードして Qt アプリケーションで視覚化するために、 osgViewerQt の例を修正しました。添付の画像でわかるように、雲点群が表示されていますが、ウィンドウには余分な境界線があります (矢印を参照)。
その境界線を削除するためにウィンドウを「拡張」する方法を見つけようとして週末を過ごしましたが、表示され続けます。
削除するにはどうすればよいか知っていますか? 変更したコードと、それを使用するコードを投稿しますosgViewerQt
。
viewer_widget.h
osg_viewer.cpp
さて、このウィジェットが使用されている場所 (関連する部分のみを示すために少し単純化されています):
クラウド.h
Minimum
サイズポリシーを指定するとき、 、 、MinimumExpanding
も
試しましIgnored
たが、同じ効果がありました。ViewerWidget
サイズポリシーを(から継承するため)内部で直接QWidget
指定し、ウィジェット属性も指定しようとしましたが、成功しませんでした。
openscenegraph - OpenSG と OpenSceneGraph の違い
まず、OpenSGとOpenSceneGraphの公式比較を読みました。私の現在の目標は、学習用の小さなゲーム エンジンを作成することです。私は純粋な OpenGL から始めましたが、非常に見栄えの良いシーン グラフ ライブラリを見つけました。
これらの 2 つのシーン グラフの違いを知りたいです。彼らの比較は非常に曖昧でした。たとえば、OSG は、OpenSG はおそらくマルチスレッドで優れていると述べています。
OpenSGは述べ、私は引用します
OpenScenegraph は当初、パフォーマー側に大きく依存していました.... OpenSG は華氏側に傾いていました... 最近では、自分の利益のために、OpenSG のようなオープン ソース システムを使用する必要があります。
OpenSG と OpenSceneGraph の違いを知りたいです。
c++ - std c++11 スマート ポインターを使用した非スカラー型への変換
私は現在openscenegraphで遊んでおり、独自のスマートポインターを使用しています。しかし、標準の c++11 スマート ポインターを使用したいと考えています。
これは実際のサンプルコードです
しかし、私がこのようなことをするとき
次に、次のエラーメッセージが表示されます
エラー: 'osg::Uniform*' から非スカラー型 'std::unique_ptr' への変換が要求されました
何が起こっているのですか?スマート ポインターの要件はありますか?
cmake - cmake を使用してビルドする場合、サード パーティのライブラリが独自の find モジュールの実装を使用しないようにします (CMake にすでに付属している場合)。
言い換えられた質問
CMake が FindXXX.cmake モジュールを使用する順序を制御するにはどうすればよいですか?
私の正確な問題
たとえば、OpenSceneGraph には独自の FindZLIB が付属していますが、これは Cmake に付属の FindZLIB ほど優れていません。OSG に付属の FindZLIB モジュールは、ZLIB インストールを見つけることができません。ZLIB を CMAKE_INSTALL_PREFIX パスにインストールしました。
ビルド中に、cmake はこれについて警告します。
OSG はモジュール パスを独自のディレクトリに設定するため、FindPNG (CMake から) は OpenSceneGraph に付属の FindZLIB を不適切に使用します。そのため、ZLIB を見つけることができません。
どうすればこれを防ぐことができますか? ExternalProject_Add を呼び出して OpenSceneGraph を構築しています。cmakeポリシー(正確にはCMP0017)を設定すると修正される可能性があることを読みましたか?ExternalProject_Add を使用してそれを行う方法がわかりません。
詳細
これは、cmake (生成されたビジュアル スタジオ ソリューションから呼び出される) が OSG を構成およびビルドしようとしたときに関連する警告です。 /FindPNG.cmake:34 (find_package):
c++ - openscenegraphのモデルにテクスチャを適用するには?
*tga テクスチャ ファイルへの参照を持つ flt モデルがあります。Nvidia テクスチャ ユーティリティ ツール (nvdxt.exe) を使用して、これらの *.tga ファイルを *.dds ファイルに変換しました。
単一の .dds テクスチャ ファイルを読み取ってモデル (terrain.flt) に適用する方法を知っています:-
しかし、これらすべてのテクスチャ *.dds を読み取ってモデル (terrain.flt) に適用する方法がわかりません。
私の試み:-
しかし、それは機能していません。助けて。
windows - Code::Blocks で OpenSceneGraph を使用する
コード ブロックで osg をプロジェクトに統合する必要があります。osg Web サイトには、未回答の投稿が 1 つだけあります。
osg と codeblocks を一緒に使った人はいますか?
collada - .ive ファイルを .dae ファイルに変換する簡単な方法はありますか?
.ive
ファイルをに変換する方法を探しています.dae
。私はすでにosgconv
3.0.1 で を使用しようとしましたが、失敗しました。