問題タブ [direct3d]

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 投票する
3 に答える
491 参照

debugging - Direct3D モデルのデバッグ

を使用して Direct3D でモデルをレンダリングしようとしていますDrawIndexedPrimitives。ただし、画面で見ることができません。Direct3D モデルをデバッグするために使用される通常の方法は何ですか?

私は次のことを試しました:

  • バック フェース カリングをオフにしました
  • PrimitiveType.LineStripの代わりに使用PrimitiveType.TriangleStrip
  • ビュー行列と射影行列のいくつかの組み合わせ。
  • AutoCAD を使用して、頂点を小さな球体としてプロットしました
0 投票する
2 に答える
1766 参照

graphics - カメラが絶えず動いているときの Direct3D ビュー マトリックスでのアップの定義

私の Direct3D アプリケーションでは、マウスまたは矢印キーを使用してカメラを移動できます。しかし、上方向ベクトルとして (0,1,0) をハードコーディングするLookAtLHと、カメラの向きによってはフレームが空白になります。

Y軸に沿って見ると、(0,1,0)が上方向として機能しなくなるという難しい方法を学びました(明らかですか?)。これらの特殊なケースごとに、上方向を別のものに切り替えることを考えています。これを処理するより優雅な方法はありますか?

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

3d - 3Dジオメトリ:1つのペアのポイントを別のペアと平行に整列するように変換します

(x1、y1、z1)から(x2、y2、z2)に向かう線(実際には立方体)があります。(x3、y3、z3)から(x4、y4、z4)に向かう別の線に沿って整列するように回転させたいと思います。現在、とMath::Atan2一緒に使用していMatrix::RotateYawPitchRollます。これを行うためのより良い方法はありますか?

編集:私はこの投稿を非常にひどく言いました。私が実際に探しているのは、2つのベクトルからの回転行列です。

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

graphics - Direct3D: 対角線のないワイヤーフレーム

Direct3D でワイヤフレーム フィル モードを使用すると、面が 2 つの三角形に分割されるため、すべての長方形の面に対角線が表示されます。この行を削除するにはどうすればよいですか? 隠れた面も取り除きたいです。ワイヤーフレーム モードでは、これは行われません。

Direct3D モデルをアイソメ ワイヤフレーム ビューで表示する必要があります。レンダリングされたシーンは、モデルの面の境界を表示する必要がありますが、対角線を除外する必要があります。

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

windows-xp - リモート デスクトップ経由の Direct3D

リモート デスクトップ接続で Direct3D を動作させるにはどうすればよいですか? Windows XP Professional を使用しています。

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

graphics - プリンター/プロッターでのDirect3D出力

Direct3D出力をプ​​リンターまたはプロッターに送信するための最良の方法は何ですか?

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

graphics - Direct3Dジオメトリ:2つのベクトルからの回転行列

2つの3DベクトルAとBが与えられた場合、AからBに回転する回転行列を導出する必要があります。

これは私が思いついたものです:

  1. acosからコサインを導出する(A。B)
  2. asinから正弦波を導出する(| A x B | /(| A | * | B |))
  3. 回転軸としてAxBを使用します
  4. このページの下部にあるマトリックスを使用してください(軸角度)

これは、0°(無視します)と180°(特別な場合として扱います)の回転を除いて、正常に機能します。Direct3Dライブラリを使用してこれを行うためのより優雅な方法はありますか?Direct3D固有の回答を探しています。

編集:acosとasinを削除しました(Hugh Allenの投稿を参照)

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

performance - 全画面モードで Direct3D アプリケーションのパフォーマンスが向上するのはなぜですか?

Direct3D アプリケーションのパフォーマンスは、ウィンドウ モードと比較してフル スクリーン モードの方が大幅に優れているようです。この背後にある技術的な理由は何ですか?

フルスクリーンアプリケーションがディスプレイを排他的に制御できるという事実と関係があると思います。しかし、アプリケーションが画面の一部(ウィンドウなど) を排他的に制御できず、同じパフォーマンス上のメリットを得られないのはなぜでしょうか?

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

graphics - Microsoft.DirectX.Vector3.Normalize() の不一致

Vector3 オブジェクトを正規化する 2 つの方法。Vector3.Normalize() を呼び出し、もう一方はゼロから正規化します。

上記のコードはこれを生成します:

なんで?

(ボーナスポイント: Why Me?)

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

graphics - Direct3D メッシュを変換する

TransformMesh関数を書いてみました。Meshこの関数は、オブジェクトとオブジェクトを受け入れMatrixます。アイデアは、マトリックスを使用してメッシュを変換することです。これを行うために、頂点バッファーをロックし、各頂点で Vector3::TransformCoordinate を呼び出しました。期待した結果は得られませんでした。結果のメッシュは認識できませんでした。

私は何を間違っていますか?