問題タブ [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.
debugging - Direct3D モデルのデバッグ
を使用して Direct3D でモデルをレンダリングしようとしていますDrawIndexedPrimitives
。ただし、画面で見ることができません。Direct3D モデルをデバッグするために使用される通常の方法は何ですか?
私は次のことを試しました:
- バック フェース カリングをオフにしました
PrimitiveType.LineStrip
の代わりに使用PrimitiveType.TriangleStrip
- ビュー行列と射影行列のいくつかの組み合わせ。
- AutoCAD を使用して、頂点を小さな球体としてプロットしました
graphics - カメラが絶えず動いているときの Direct3D ビュー マトリックスでのアップの定義
私の Direct3D アプリケーションでは、マウスまたは矢印キーを使用してカメラを移動できます。しかし、上方向ベクトルとして (0,1,0) をハードコーディングするLookAtLH
と、カメラの向きによってはフレームが空白になります。
Y軸に沿って見ると、(0,1,0)が上方向として機能しなくなるという難しい方法を学びました(明らかですか?)。これらの特殊なケースごとに、上方向を別のものに切り替えることを考えています。これを処理するより優雅な方法はありますか?
3d - 3Dジオメトリ:1つのペアのポイントを別のペアと平行に整列するように変換します
(x1、y1、z1)から(x2、y2、z2)に向かう線(実際には立方体)があります。(x3、y3、z3)から(x4、y4、z4)に向かう別の線に沿って整列するように回転させたいと思います。現在、とMath::Atan2
一緒に使用していMatrix::RotateYawPitchRoll
ます。これを行うためのより良い方法はありますか?
編集:私はこの投稿を非常にひどく言いました。私が実際に探しているのは、2つのベクトルからの回転行列です。
graphics - Direct3D: 対角線のないワイヤーフレーム
Direct3D でワイヤフレーム フィル モードを使用すると、面が 2 つの三角形に分割されるため、すべての長方形の面に対角線が表示されます。この行を削除するにはどうすればよいですか? 隠れた面も取り除きたいです。ワイヤーフレーム モードでは、これは行われません。
Direct3D モデルをアイソメ ワイヤフレーム ビューで表示する必要があります。レンダリングされたシーンは、モデルの面の境界を表示する必要がありますが、対角線を除外する必要があります。
windows-xp - リモート デスクトップ経由の Direct3D
リモート デスクトップ接続で Direct3D を動作させるにはどうすればよいですか? Windows XP Professional を使用しています。
graphics - プリンター/プロッターでのDirect3D出力
Direct3D出力をプリンターまたはプロッターに送信するための最良の方法は何ですか?
graphics - Direct3Dジオメトリ:2つのベクトルからの回転行列
2つの3DベクトルAとBが与えられた場合、AからBに回転する回転行列を導出する必要があります。
これは私が思いついたものです:
acosからコサインを導出する(A。B)asinから正弦波を導出する(| A x B | /(| A | * | B |))- 回転軸としてAxBを使用します
- このページの下部にあるマトリックスを使用してください(軸角度)
これは、0°(無視します)と180°(特別な場合として扱います)の回転を除いて、正常に機能します。Direct3Dライブラリを使用してこれを行うためのより優雅な方法はありますか?Direct3D固有の回答を探しています。
編集:acosとasinを削除しました(Hugh Allenの投稿を参照)
performance - 全画面モードで Direct3D アプリケーションのパフォーマンスが向上するのはなぜですか?
Direct3D アプリケーションのパフォーマンスは、ウィンドウ モードと比較してフル スクリーン モードの方が大幅に優れているようです。この背後にある技術的な理由は何ですか?
フルスクリーンアプリケーションがディスプレイを排他的に制御できるという事実と関係があると思います。しかし、アプリケーションが画面の一部(ウィンドウなど) を排他的に制御できず、同じパフォーマンス上のメリットを得られないのはなぜでしょうか?
graphics - Microsoft.DirectX.Vector3.Normalize() の不一致
Vector3 オブジェクトを正規化する 2 つの方法。Vector3.Normalize() を呼び出し、もう一方はゼロから正規化します。
上記のコードはこれを生成します:
なんで?
(ボーナスポイント: Why Me?)
graphics - Direct3D メッシュを変換する
TransformMesh
関数を書いてみました。Mesh
この関数は、オブジェクトとオブジェクトを受け入れMatrix
ます。アイデアは、マトリックスを使用してメッシュを変換することです。これを行うために、頂点バッファーをロックし、各頂点で Vector3::TransformCoordinate を呼び出しました。期待した結果は得られませんでした。結果のメッシュは認識できませんでした。
私は何を間違っていますか?