問題タブ [3d]

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 に答える
518 参照

3d - GPU、古いハードウェア、3D アクセラレーション、ライブラリ

3D アクセラレーションを備えた 2D ライブラリを作成していますが、古いハードウェアで効率的に実行できるようにしたいと考えています。ターゲットモードがサポートしていないオプション/機能を非表示にするための typedef の可能性があります。(エミュレーション機能がオンになっている場合もあります)

古いハードウェアの機能にはどのようなものがありますか? ここに私が知っている質問と事柄のリストがあります。

  • タイル、これはサポートされません。古いため、私のライブラリはピクセルアクセスをサポートします
  • スクロール付きの単一ピクセル バッファ。例 GBA
  • 複数のサーフェスとサーフェス間のクイック ブルト (ストレッチなし)
  • 複数のサーフェスとサーフェス間のクイック blt とストレッチ (これはエミュレートされたのでしょうか? HW ストレッチ画像はありますか?)
  • HW ピクセル フィル (DX でオプションを見たと思いました)
  • HW透明色? (DX仕様で見たような透明感のある色)
  • 古いテクスチャは 2 の累乗でした。幅は高さと同じ 2 の累乗である必要はありませんか? (例 64x256)、それらが同じである必要がありますか?
  • テクスチャ、新しいハードウェアでは任意の幅と高さを持つことができます (または、これは嘘ですか?)
  • テクスチャはクレイジーなフォーマットにすることができます (ARGB 8888、ABGR 8888、ABGR 2 10 10 10)

また、テクスチャ トゥ テクスチャ ブリットを行うことはできませんか? HWのテクスチャAからBへの60x40のコピーのように?また、テクスチャをパレットに入れることはできますか? (私はこれをサポートしません) そして最後に、シェーダーについて覚えておく必要があります 8)

他に何が欠けていますか?

0 投票する
10 に答える
2744 参照

web-applications - Web ベースのアプリケーションの 3D グラフィックス

私は、特に次のタスクを含む Web ベースのアプリケーションを作成する必要があります。

  • データベースから 3D モデルを読み込みます。
  • 3D モデルを表示します。
  • 逆運動学計算を実行して、モデルが初期位置から最終位置に移動する一連のステップを生成します。
  • アニメーションをリアルタイムで表示します。

このアプリケーションは、もともと Qt/OpenGL 上の PC ベースのアプリケーションを意図していましたが、Web ベースのアプリケーションとして実装できるかどうかを調査しています。

Web ベースの開発に関する私の知識はまだ限られています。

これに対する解決策を考え出すために推奨されるアプローチ/テクノロジーは何ですか?

ありがとう!!

更新: プラットフォームに依存しないソリューションが推奨されます。アプリケーションは、Mac および Windows マシンで実行する必要があります。

0 投票する
6 に答える
15453 参照

math - 3D 空間内のポイント間を補間して滑らかな表面を形成する簡単な方法

与えられたいくつかの「サンプル」ポイントと交差する滑らかな表面を作成するためのシンプルで効率的な方法を考え出そうとしています。

サーフェス上の任意の X、Y ポイントについて、4 つの方向のそれぞれで最大 4 つのサンプル ポイントを識別します (X 軸上の次に高いポイントと低いポイント、次に Y 軸)。この点を考慮して、4 つのサンプル ポイント間を補間する Z 値を計算する方法が必要です。

もちろん、アルゴリズムは、4 つのサンプル ポイントのいずれかの X、Y 位置を指定すると、そのポイントの Z 値を出力する必要があります。また、サンプル ポイントが 4 つ未満になる場合があることにも注意してください。

4 つのサンプル ポイントの Z 値の関数は、サンプル ポイントまでの距離によって何らかの形で逆バイアスになっていると思いますが、これを行う方法がわかりません。

誰でもこれを行う簡単な方法についてアイデアを持っていますか?

0 投票する
5 に答える
3276 参照

algorithm - メッシュ レベルの最適なオクルージョン カリングのための最も効率的なアルゴリズムは?

私はカリングが初めてです。一見したところ、ほとんどのオクルージョン カリング アルゴリズムはオブジェクト レベルであり、単一のメッシュを調べていないように見えます。これはゲーム レンダリングに実用的です。

私が探しているのは、特定の視点で遮られている単一のオブジェクト内のすべてのメッシュを高精度でカリングするアルゴリズムです。少なくともO(n log n)である必要があります。単純なメッシュごとの比較 ( O(n^2) ) は遅すぎます。

10,000 以上のメッシュの大きなオブジェクトを操作している場合でも、Blender GUI がオクルードされたメッシュをリアルタイムで識別していることに気付きました。そこではどのようなアルゴリズムが使用されていますか?

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

math - クォータニオン ベースの 3D カメラは、クォータニオンまたはオイラー角を蓄積する必要がありますか?

そこで、新しいプログラマー向けに Quaternion ベースの 3D カメラを作成したので、統合して使用を開始するのは非常に簡単です。

開発中、最初はユーザー入力をオイラー角として受け取り、そのフレームの入力に基づいてクォータニオンを生成しました。次に、カメラのクォータニオンを入力用に生成したもので乗算します。理論的には、入力回転をカメラの回転の現在の状態に単純に追加するだけで、物事はすべて太くて幸せになります。クォータニオンのみを保存および追加しているため、これを「クォータニオンの蓄積」と呼びましょう。

しかし、この方法には問題があることに気づきました。使用すればするほど、たとえばヨーなどの 1 つのオイラー角だけで回転していたとしても、反復を繰り返すうちに別のオイラー角 (ピッチなど) で回転し始めます。それはわずかでしたが、かなり受け入れられませんでした。

そこで、さらに調査を行ったところ、オイラー角を蓄積する方がよいという記事を見つけたので、カメラは現在の回転をオイラー角として保存し、入力はフレームごとに単純に追加されます。次に、各フレームからクォータニオンを生成し、それを使用して回転行列を生成します。これにより、不適切な軸への回転ブリーディングの問題が修正されました。

では、Stackoverflow のメンバーはこの問題について洞察を持っていますか? それは物事を行うための適切な方法ですか?

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

3d - 3D でハートの形をモデル化する簡単な方法はありますか?

必要なコードをできるだけ少なくし、外部モデル ファイルを使用せずに、3D で心臓の形をモデル化したいと考えています。

2D では、いくつかのベジエ曲線を使用してハートの形を描くことができます。これを押し出して単純な 3D のハートの形にすることもできますが、これは私が望む形には見えません。ハートの下部は頂点で、上部は 2 つの丸い部分である必要があります (まあ、私の言いたいことがわかると思います)。

では、そのような形状を 3D でモデル化する簡単な方法 (つまり、単純な数式または小さなコード スニペット) はありますか?

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

algorithm - 3D サーフェス再構築アルゴリズム

3D サーフェス (円錐など) があります。等高線の形で 2D 平面に投影されます。つまり、異なる Z は 2D 平面上で異なる線を持つことになります。問題は輪郭からです。補間を使用して 3D サーフェスを復元する方法は? 異なるコンター ライン間の z 差についてのみ知っています。

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

vb.net - vb.netの3dファイル

これは難しい質問になると思いますので、必ずしも直接的な答えを探しているわけではありませんが、チュートリアルや正しい方向へのポイントを探しているのかもしれません。

私がやっていることは、リモートオペレーターによって制御されるロボットをプログラミングすることです。SolidWorksにロボットの3Dレンダリングがあります。私が探しているのは、3DファイルをVB(おそらくDX9を使用)に取り込み、コードを使用してそれを操作できるようにすることです。これにより、リモートオペレーターは、ロボットが何をしているかをよりよく理解できます。オペレーターはライブビデオも見ることができますが、それはこの質問にはあまり関係ありません。

どんな助けでも大歓迎です。ありがとう!

0 投票する
8 に答える
95849 参照

math - LookAt マトリックスの計算

私は 3D エンジンを書いている最中で、DirectX のドキュメントで説明されている LookAt アルゴリズムに出くわしました。

これで、回転側でどのように機能するかがわかりましたが、マトリックスの平行移動コンポーネントをこれらの内積にする理由はよくわかりません。少し調べてみると、目/カメラの位置への新しい基底ベクトルの投影に基づいて、カメラの位置を少し調整しているようです。

問題は、なぜこれを行う必要があるのか​​ということです。それは何を達成しますか?

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

3d - シーン グラフ内から絶対位置と回転を取得しますか?

だから私はこの問題に数回遭遇しました:

3D シーン グラフに、他のオブジェクトの子であるオブジェクトがあります。それらを c (子) および p (親) と呼びましょう。

c の位置は、p に対して相対的に定義されます。したがって、c は位置 (1,0,0) を持つことができますが、もちろん、p が別の位置 (たとえば (1,2,3)) を持つため、実際には元の世界ではレンダリングされませんが、(2 、2、3)。

何らかの理由で、ワールド座標 (または回転、問題は同じ) での c の絶対位置を知りたいとしましょう。これは一般的にどのように行われますか?

その親について知っていて、その位置を照会して、最終的に絶対位置を返す独自の位置に追加できるようにする必要がありますか?