問題タブ [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.

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

java - JavaFX の Javadoc (JavaFX api ではありません!); ソースから?プロジェクトのシーングラフから?

JavaFX に付属の API は JavaFX 言語用です。これを学ぶ理由は 1 つありますが、学ぶべきでない理由は他にもあります。Project Scenegraph (scenegraph.dev.java.net、AKA Scenario) があいまいに同じライブラリであることは知っています。Project Scenegraph から Javadoc を生成するだけですが、2007 年以降更新が行われておらず、メーリング リストも廃止されています。

JavaFX javadocs のダウンロード、または自分で生成するためにソースをダウンロードする方法を知っている人はいますか?

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

c++ - 別のクラスから呼び出されたときのクラス内のメソッドの問題

OpenGL でこれらのオブジェクトのレンダリングと描画を制御できるように、いくつかのオブジェクトを保持する単純なシーン グラフを作成しています。私は 2 つのクラスを持っています。1 つは GameObject と呼ばれ、位置や速度などの特定のパラメーターとオブジェクトの描画方法を定義するオブジェクトです。update() と呼ばれるメソッドがあり、位置の変更を計算し、draw() を呼び出して画面に描画します。

別のクラスは、sceneNode と呼ばれます。このクラスは、オブジェクトを格納するために使用するデータ構造を制御します。このクラスのインスタンスには、GameObject インスタンスへのポインターが含まれているため、データにアクセスできます。また、sceneNode には、vector に格納された sceneNode 型の子があります。

各クラスは、単独で完全に機能します。シーン グラフなどに子を追加し、GameObject を作成して、それ自体を描画するように指示すると、すべてが期待どおりに機能します。

次に、render() と呼ばれる新しいメソッドを SceneNode に追加しました。このメソッドは、gameObject へのポインターを取得し、ノードの子に対して render() を呼び出す前に更新関数を呼び出します。

問題は、update() メソッドが呼び出され、GameObject が描画されるが、常に同じ場所に描画され、速度と位置の変化があるにもかかわらず動かないことです。GameObject DOES のインスタンスを使用して update() 関数を呼び出すと、オブジェクトが描画され、画面上でオブジェクトが移動します。私はこのコードを何時間も見つめていましたが、何が欠けているのかわかりません。私はポインタと別のクラスからのメソッドの呼び出しのアイデアにまだかなり慣れていないので、明らかなことを見落としている可能性があります。

関連するメソッドは次のとおりです。

GameObject.cpp: 変数の位置、速度などは保護されているものとしてリストされています。

シーンノード.cpp:

sceneNode.h: これは、ゲーム オブジェクト ポインターがシーン ノードで設定される方法です。

render() メソッドの位置が変更されていないのに update() メソッドの位置が変更されているのはなぜかわかりません。どちらも同じことを呼び出しているからです。

助けてくれてありがとう

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

java - 3Dアプリで単位を定義して標準化するにはどうすればよいですか?

Android上のOpenGLES1.1アプリのオブジェクトグラフの設計を開始しています。

実際に三角形を描画してそのサイズを制御する場合、何をお勧めしますか?すべての頂点を相互に相対的な単位で格納してから、描画中に渡す値(GL10 gl)を掛ける必要がありますか?

このアプローチは、錐台カリングを行うときに何か影響がありますか?

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

transform - Open Inventor(Coin3D) での特定の変換

私は Open Inventor(Coin3D) を初めて使用し、次の問題を抱えています。

ルートノード(SoSeparatorも)を保持するSoSelectionがあります。また、ルート ノードには多数の SoSeparator ノードが保持されます。これらの SoSeparator ノードはそれぞれ、SoTransform ノードと SoCube ノードを保持します。

キューブ ノードを 1 つ選択すると、選択したキューブから特定の距離内にある他のすべてのキューブを、選択したキューブの周りに円形に配置する必要があります。(さらに、すべての立方体は平面上にある必要があります) 追加情報: 私の立方体は常に (cubeTransform_->rotation.connectFrom(&camera_->orientation) でカメラ方向に向けられます

選択した立方体が円の中心であると仮定すると、他の立方体を平面 (選択した立方体とカメラの間のベクトルに垂直) 上の円に移動するにはどうすればよいですか? 特に、軸から一定の距離 (中央の立方体からカメラまで) にある円が存在する平面上の座標を見つけるにはどうすればよいですか。

私がすでに行ったことは、1 つの立方体が選択されるとすぐに、特定の距離内にあるすべての立方体を検索することです。その結果、必要なセパレーター (対応する SoTransforms と SoCubes を保持している) が SoPathList に既に含まれています。ここで、SoTransform->translation の値を変更してキューブを配置したいと思います。

よろしくマーク

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

android - Android 用の 3D シーン グラフ ツールキット

利用可能な 3D シーン グラフ ツールキットがあるかどうか、または少なくとも Android 向けに開発中かどうか疑問に思っていましたか? Java 用の既存のソリューションがすべて Android プラットフォームで動作しないと仮定すると、何も見つかりませんでした。

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

haskell - HaskellでのSceneGraphトラバーサル

とノードData.Treeで構成される単純なSceneGraphをHaskellに実装したいと思います。シーングラフでは、空間変換はトラバース中に蓄積され、レンダリングのためにシェイプに適用されます。TransformShape

右に移動し、下部に正方形、上部に円で構成されるオブジェクトがあるシーンがあるとします。

私はこのツリーの定義を思いついた:

レンダリングは次のようになります。

私の質問は次のとおりです。

1)traverse変換を累積し、レンダリングタスクを呼び出す関数をどのように定義しますか?

2)トラバースIOを作成しないようにするにはどうすればよいですか?

3)このツリーを定義するためのより短いバージョンはありますか?最初のノード定義とすべての空のsubForestを除くすべては、実際には不要です。

ありがとうございました!

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

c++ - C++ シーン グラフに MVC パターンを実装する

3D モデル (シーン グラフ) を表すオブジェクトのツリーがあります。ツリー ノードはさまざまなタイプです (共通の基本クラスからの派生クラスとして実装されます)。たとえば、ポリゴンを表すノードや、その子ノードに座標変換 (回転、平行移動) を適用するノードがあります。また、サードパーティ ベンダーが新しいノード タイプを実装し、それらをプラグイン (GUI フレームワークとして Qt を使用) で追加できる必要があることも要件です。したがって、コンパイル時にタイプが不明なノードがツリーに存在する可能性があります。

ここで、このシーン グラフのビューとして機能するクラスを実装したいと思います。すべてのツリー ノード タイプに対して、ビューは適切なアクション (ポリゴンの描画、変換など) を実行する必要があります。私の考えは、すべてのノード タイプにビュー クラスを実装し、ノード タイプに応じてトップレベル ビュー クラスをこれらのクラスに委譲させることです。(サード パーティ ベンダーは、独自のビュー デリゲート クラスを実装できるようになります)

だから私の質問は、ノードのタイプをパフォーマンスと拡張可能な方法で決定するにはどうすればよいですか?

これまでの私の考え:

  1. すべてのノード クラスにタイプ識別子を追加できます。これは単に整数である可能性があります (パフォーマンス上の理由から、文字列は適していません)。問題は、サード パーティ ベンダーの型識別子の管理です。同じ識別子が異なるノード タイプ (異なるベンダーなど) に使用されていないことを確認するにはどうすればよいですか?

  2. 描画コードを実装するか、少なくとも適切な描画デリゲート オブジェクトをノード内で直接呼び出すことができます。しかし、私のノードオブジェクトは、ビューオブジェクトについて何も知らないことが望ましいです。また、すべてのノード オブジェクトに専用のビュー オブジェクトを与えることはできません (数万のノードについて話している)。

それで、あなたのアイデアは何ですか?これを処理するための完全に異なる方法はおそらくありますか?覚えておいてください: リアルタイムでグラフを描画する必要があるため、このソリューションではハッシュ テーブル ルックアップやその他の計算集約型アルゴリズムは必要ありません。

前もってありがとう、McNumber

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

java - GUI 用の Java 2D シーン グラフ ライブラリ

GUI アプリケーションを構築するための 2D シーン グラフ ライブラリを探しています。Java2D を使用して高速で、Swing と互換性がある必要があります (Swing アプリに組み込み可能で、Swing コンポーネントも表示できます)。アニメーションのサポートはプラスです。

  • いくつかのライブラリを使用した経験はありますか?
  • 見逃したライブラリはありますか?
  • 私は、Scala ライブラリーに完全に腹を立てているわけではないことを付け加えなければなりません。

プロジェクト シーン グラフ

  • かなり速いようです
  • GPL のみ (LGPL なし)
  • アニメーションをサポート
  • 2年前に捨てた
  • JavaFXの以前の部分として、それはSun製品です

G

  • 速いかどうかは不明
  • LGPL
  • アニメーションなし
  • 最終バージョン 12 月 09

ピッコロ2D

  • 「ズーム可能なユーザー インターフェース」用
  • 学術プロジェクトのように見える
  • アクティビティの多い Google Code プロジェクト
  • BSD ライセンス
  • 速いかは不明
  • アニメーションを行うかどうかはわかりません

パルプコア

  • ゲームライブラリです
  • アプレットの展開を対象としています(アプリケーションがハックなので使用)
  • とても早い
  • アニメーションをサポート
  • 2~3年発達しない
  • おそらくSwingはまったくサポートされていません

jTem

  • より大きなプロジェクトの一部 (一見)
  • freeBSD ライセンス
  • アニメーションのサポートなし
  • 非常に最小限に見える
0 投票する
1 に答える
1111 参照

collada - 「Collada」シーングラフとは何ですか?

Colladaシーングラフとは?

Google 3D ウェアハウスからダウンロードしたシーンを取得して、何らかの方法で Collada シーン グラフに変換できますか?

プロセスは何らかの方法でシーンを分割しますか?

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

java-3d - Java3dシーングラフ視覚化ツール

特定のjava3dアプリのシーングラフを視覚化するためのツールはありますか?UML図を自動生成するためのツールがあるのと同じように。

編集:そうでない場合、そのようなグラフを描くための良い無料のツールはありますか?os x