問題タブ [scenegraph]
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.
opengl - 適切なOpenGLSceneGraphAPI /フレームワークはありますか?
私はOpenGLを初めて使用します。
OpenGLに適したScenegraphAPI/フレームワークがあるかどうか疑問に思います。
現在、カスタムノードベースのソリューションでglutを使用しています。トラバース関数を呼び出す各ノードの子と兄弟を設定しています。
シーン内の動的要素の管理に関しては、より柔軟なソリューションが必要です。
3d - シーン グラフ内から絶対位置と回転を取得しますか?
だから私はこの問題に数回遭遇しました:
3D シーン グラフに、他のオブジェクトの子であるオブジェクトがあります。それらを c (子) および p (親) と呼びましょう。
c の位置は、p に対して相対的に定義されます。したがって、c は位置 (1,0,0) を持つことができますが、もちろん、p が別の位置 (たとえば (1,2,3)) を持つため、実際には元の世界ではレンダリングされませんが、(2 、2、3)。
何らかの理由で、ワールド座標 (または回転、問題は同じ) での c の絶対位置を知りたいとしましょう。これは一般的にどのように行われますか?
その親について知っていて、その位置を照会して、最終的に絶対位置を返す独自の位置に追加できるようにする必要がありますか?
c# - 新しい階層を構築するには、抽象クラスまたはインターフェイスを使用しますか?
ゲームの 2D シーン グラフを作成する準備をしています。そのルートでインターフェイスを使用するか、2 つまたは 2 つの抽象クラスを使用するかを知りたいです。私の要件は次のとおりです。
- ベースノードアイテム
- 行列を格納できる必要があります
- 子ノードのリストも保存できる必要があります
- および単一の親ノード
- ノード項目を変換する
- Draw メソッドが必要です (実装は同じである可能性が高い)
- ベースノードアイテムが実装/派生されている必要があります
- ドローアブル ノード アイテム
- Draw メソッドが必要です (実装は異なる場合があります)
- ベース ノード アイテムが実装/派生される必要があり、変換ノード アイテムと一緒に実装/派生することはできません。
これにはどの基本クラス/インターフェースのスキームを使用する必要がありますか?
linux - シーングラフエンジンから始めますか、それともopenglダイレクトから始めますか?
私は主にJavaを使用するプロの開発者ですが、暇なときはさまざまな言語やライブラリを試してみるのが好きです。問題は、3D対応のアプリケーションやゲームを開発する方法を学び始めたいということです。そこにはたくさんのエンジンがありますが、それらを直接使用することによって、それらが非常に高いレベルであるため、私は3D開発の基本を学ぶことができないのではないかと心配しています。
シーングラフエンジン、SDLのようなライブラリでプログラミングを開始する必要がありますか、それともopenglでの作業に直行する必要がありますか?
私はすべての開発をLinuxで行っていますが、開発するものをクロスプラットフォームにしたいと思っています。
performance - JavaFx 1.2シーングラフを更新する理由は何ですか?
私の最初の質問=)。私はJavaFxで書かれたユーザーインターフェースでビデオゲームを書いています。動作は正しいですが、パフォーマンスに問題があります。私は、アプリの速度を低下させている更新をキューに入れているものを把握する方法を理解しようとしています。
六角形のマップを表す比較的複雑なシーングラフがあります。マップに100個または1000個の六角形を含めることができるようにスケーリングされます。六角形の数が増えると、GUIの応答性が低下します。YourKit(Javaプロファイラー)を使用して、これらの遅延を主要な再描画操作まで追跡しました。
私は夜のほとんどを、2つのことを行う方法を理解し、1つのことを理解しようとして過ごしました。
1)CustomNodeに、ペイントされるたびにコンソールに何かを出力させます。これは、これらの塗料がいつキューに入れられているかを正確に特定するのに役立ちます。
2)CustomNodeが再描画キューに配置されるタイミングを特定します。
1と2に答えると、これらすべての異なるノードをバインドしているのは何かを理解できるかもしれません。JavaFXがグローバルリフレッシュ(疑わしい)を通じてのみ機能する可能性はありますか?
java - Java3D でビュー プラットフォームにオブジェクトをアタッチする
私の Java3D アプリケーションでは、移動可能な表示プラットフォーム (たとえば、"OrbitBehavior" および "KeyNavigatorBehavior" ビヘイビアのおかげ) があるので、視点をシーンに変更できます。ここで、ビュー上に「静的」なオブジェクトを追加したいと思います。つまり、ビューを移動すると常に同じように表示されます (たとえば、FPS でのプレイヤーの銃のように)。これまでに、この問題に対して次の 2 つのアプローチを試みましたが、いずれも機能しませんでした。
1/オブジェクトを ViewingPlatform に直接アタッチします (専用の BranchGroup と TransformGroup を介して)。この場合、私のオブジェクトは単に表示されません (実際にそのような操作を実行することが許可されているかどうかはまったくわかりません...)。これは私のコードのこの部分です:
コード : ( view
ViewingPlatform を使用)
2/オブジェクトに同じ変換を適用します(回転+変換; getViewPlatformTransform()のgetTransform()を介して取得-ここでは、これらの変換とビューPFとオブジェクトの初期位置の間の操作で、より複雑なことも試しました)プラットフォームの表示と同じ. 専用の動作 (ビューの場所を変更する動作と同じウェイクアップ条件) を使用して、これらすべてをリアルタイムで行います。ここで、ビューを移動するとオブジェクトが消え、KeyNavigator のズーム/ズーム解除アクションを使用すると (ただし非常に不安定な方法で) 再び表示されることがあります。
私がやろうとしていることは実行可能であり、おそらく非常に単純であると確信していますが、今は手がかりがありません...
よろしくお願いいたします。
(追伸: 英語は私の母国語ではないので、私の問題を説明するのは非常に厄介かもしれません: 理解できない部分をもう一度書くように頼むことを躊躇しないでください)
c - OpenGL 3.x VBOを使用して動的な世界をレンダリングするにはどうすればよいですか?
OpenGL 3.x自体の最新のリファレンスはほとんどないようですが、OpenGLの実際の低レベルの操作は比較的簡単です。しかし、ダイナミックな世界をレンダリングするためにVBOを操作する方法を概念化しようとしても、深刻な問題を抱えています。
明らかに、古い即時モードの方法は適用できませんが、そこからどこに行きますか?ある種のシーン構造を記述し、それを頂点のセットに変換してVBOにストリーミングしますか?翻訳データをどのように保存しますか?もしそうなら、それはコード的にどのように見えるでしょうか?
基本的に、続行する方法が本当にわかりません。