問題タブ [xna-math-library]

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

c# - 角度オブジェクトと衝突

レーザービーム用のミラー(ボールスプライト)を開発中です。そこで、ミラー(長方形)の比率に従ってレイズビームをリダイレクトしようとしています。衝突するオブジェクトが衝突するのではなく、ある角度 (45 度) である場合、ボールを正しい角度に衝突させるにはどうすればよいですか。

ここに私の作品のスクリーンショットがあります ここに画像の説明を入力

ここに私のコードがあります:

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

c++ - ヘッダー ファイル内の DirectX ベースの構造体

私は比較的 c++ に慣れていないので、複数の c++ ファイルからアクセスできる構造体を作成しようとしています。そのために、ヘッダーファイルに書いています。ただし、この構造体には DirectX ライブラリの識別子、つまり "xnamath.h" が必要です。

私の構造体は次のとおりです

resource.h ヘッダー ファイルに xnamath ヘッダー ファイルを含めようとしましたが、現在の問題よりも多くのエラーが発生しました。構造体はすべてのファイルで必要とされるため、私が知る限り、各 .cpp ファイルで再定義することはできません。

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

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

c# - SharpDX に XNA Math に相当するものはありますか?

私は C++ を知らないので、SharpDX を使用してすべてを C# に移植できることを期待して、この本「DirectX 11 による 3D プログラミング入門」を購入しました。さて、XNA Math 用の SharpDX のラッパー クラスが見つからないようで、この本はそのライブラリを幅広く扱っています。XNA Math C# ラッパーをダウンロードして、勉強を続けることができるものはありますか?

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

animation - Directx X 11 の MD5 3D モデルとアニメーション。モデルを更新するための通常の回転は 1 になります。#QNAN00

MD5ANIM と MD5Mesh ファイル (Doom の 3D アニメーションとモデル形式) からアニメーションを DX 11 遅延レンダラーにロードしようとしています。
XNA Math を使用してアニメーションのモデルの頂点位置と法線を更新する必要がある点を除いて、すべて正常に動作します。回転した法線を計算する次のコードの結果は常に -1.#QNAN00 であり、モデルは完全に黒く表示されます。それとは別に、位置の計算は正常に機能し、法線なしで完全に黒くアニメーションが正常に実行されていることがわかります。

計算開始時の値は次のとおりです。

float tempWeight.bias = 1.0000000

XMFLOAT3 回転ポイント x=-0.022973990 y=-0.053293169 z=-0.10924719

XMFLOAT3 tempVert.normal = x=0.00000000 y=0.00000000 z=0.00000000

forループで値を計算することに言及する必要があります。ループの後、次のように値を保存します。

乾杯マックス

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

c++ - これはデータ配置のクラッシュですか? (スタックの不整合、XNAMath、Visual Studio 2103 が関係している可能性があります)

ベクトルと行列を操作しているコード内で、Win32、DirectX ゲームがリリース モードでクラッシュします。具体的には、次の命令でクラッシュが発生します。

014E2752 unpcklps xmm1,xmmword ptr [esp+3Ch]

RodinaRelease.exe の 0x014E2752 での初回例外: 0xC0000005: アクセス違反の読み取り場所 0xFFFFFFFF

私はアセンブリとレジスタを掘り下げることにあまり経験がありませんが、esp = 0x0043f31cそれはesp+3Ch = 0x0043f358

さて、これこれによると、unpcklps命令は16バイトのアラインメントを必要とするSSE命令です。0x0043f358は 16 バイトでアラインされていません。正しいですか? スタックの配置がクラッシュの原因であると考えるのは正しいですか?

もしそうなら、これに値するために私は何をしましたか???? 私は自分のゲームで SSE 命令を使用していないので、このようなアライメントの問題を無視できます - それはナイーブ/間違っていますか? この動作をオフにする方法はありますか?

関連するポイント:

  • 私は最近 Visual Studio 2013 にアップグレードしましたが、このバグがこの頃に発生したのではないかと疑っています。私の問題に似たバグレポートを見つけました。

  • 私のゲームでは、XNAMath、特に XMMATRIX と XMVECTOR を使用しています。通常、これにはすべてを調整する必要があります。ただし、このような問題に遭遇したくなかったので、XNAMath による SIMD 命令の使用をオフにすることになっている _XM_NO_INTRINSICS_ フラグを使用してコンパイルしています。それが今まで問題になったことは一度もありません。私が対処している特定のクラッシュは、私自身のベクター型によるものですが、XMMATRIX コードに十分に近いため、最適化によってすべてが混ざり合っていると考えられます。

  • 私のゲームは Win32 アプリケーションとしてビルドされています。x64 への切り替えはこれに対する実行可能な解決策ですか、それともばかげたやり過ぎでしょうか? 私が使用するライブラリの 64 ビット バージョンを取得する必要がある以外に、どのような結果が生じるかはわかりません。

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

xna - DX11 の非表示ジオメトリ

Microsoft による Windows 8 での D3DX の非推奨を理解し、それを補うために何時間も苦労した後、私は振り払うことができない問題に遭遇しました。

プログラムを初めて起動したとき、アクセス違反が原因でプログラムが不滅になりました。コンピューターを再起動し、同じコードを再コンパイルして実行した後、クラッシュはしませんが、表示されるはずのキューブがそこにありません。

「ヒープで宣言されたオブジェクトが 16 にアラインされていない可能性があります」という警告も表示されます。私の調査によると、これは通常 XNA Math が原因で発生します。それで、この議論を見つけた後、私は提案されていたすべてを文字通り試しました. XMFLOAT4X4 ソリューション以外はすべて機能しましたが、私のキューブはまだ見えません。関連すると思われるコードの部分は次のとおりです。

更新: したがって、D3D デバッグ デバイスを有効にした後、出力にこれが表示されます。私は本当にそれを理解することはできません。

更新: XMMATRIX が適切に配置されるようになりました。ただし、立方体はまだ見えません。Visual Studio Graphics Debugger も見つかりません。私の調査によると、それがどこにあるべきかはわかっていますが、そこにはありません。

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

c++ - XMVECTOR 型の関数パラメーターの受け渡し

FXMVECTOR の定義が 32 ビットと 64 ビットで異なるのはなぜですか? SIMD の栄光を利用するために、32 ビットで参照によって XMVECTOR を渡してはいけないのはなぜですか?

前もって感謝します!

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

math - 4 次元および 3 次元データのプロット - matlab

次の次元でプロットするデータセットがあります。

  1. 密度
  2. アクセシビリティ
  3. 土地利用構成
  4. 活気

タスクの手順を手伝ってください。

期待される出力はここに画像の説明を入力