问题标签 [directxmath]

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 投票
2 回答
451 浏览

c++ - DirectX 中的 XMVECTOR

抱歉这个愚蠢的问题....但是为什么这不起作用?为了说明问题,我写了这个简单的代码:

VS 回答“错误 C3861: 'XMVECTORSet': identifier not found”

0 投票
1 回答
150 浏览

c++ - 如何使用四个 FMVECTOR 构建 XMMATRIX

是否可以使用四个 FMVECTOR 构建 XMMATRIX ?我从 Frank Luna 的书中汲取了这个想法,并尝试围绕它构建一些东西,但不幸的是,很明显我没有很好地掌握这个概念。这是我写的。好的,我知道这段代码很烂,但我是那些想要学习一切(甚至可能更多)的人之一,所以我尝试了。

0 投票
0 回答
67 浏览

c++ - 使用 DirectX Math 投影和取消投影点

用 XMVector3Project 投影点 (-1, 0, 0) 和 (1, 0, 0) 给我结果:

P: (589.75,512,0.999683) <-> (1458.25,512,0.999683)

使用 XMVector3Unproject 取消投影这些点给出:

U:-0.000416635,0,-23.99 <-> 0.000416635,0,-23.99

现在,被后者适当地困惑了,我在这里犯了什么错误?我的期望是 unprojecting 会给我大约 x = -5 和 x = 5。我在下面包含了一个 repo(控制台应用程序,需要 Windows SDK):

0 投票
0 回答
38 浏览

directx-11 - Directx3D 11 构建带有旋转和平移的世界矩阵

我想使用 wasd 来控制场景中的汽车移动。使用ws前后移动,a旋转d移动方向和小车方向。现在我可以使用 w 和 s 成功地向前和向后移动,并使用 a 和 d 来旋转我的车。但是,如果我同时按下 w 和 a,汽车只会在它的位置旋转,不再向前移动。

有谁知道错误在哪里?

0 投票
1 回答
43 浏览

c++ - 远裁剪平面之外的对象在透视图中渲染

我在透视投影中看到了远裁剪平面之外的对象 ,我认为这不是它应该如何工作的,所以有人可以解释一下为什么我在这个例子中看到远裁剪平面之外的对象,例如网格。

顺便说一句,正交投影效果很好

我从这个演示中清除了所有形状,并通过更改Luna Frank Shapes Demo中的以下代码添加了两个网格

并更改网格大小

以及从调整大小开始的投影矩阵

现在我仍然可以看到网格,即使它超出了远平面,即使远平面是 900,它仍然会出现在屏幕边缘的旋转中。所以我需要减少远平面或进一步移动网格,当我不断改变远平面的值时,我可以看到一个形状就像画笔一样,它隐藏了它之外的所有东西,但是随着相机旋转并且网格不再在它的后面,网格重新出现

这就是我所说的刷子的意思

远剪裁平面之外的网格

0 投票
1 回答
57 浏览

directx-11 - 将 CONST D3DMATRIX 转换为 XMMATRIX

我第一次编写包装器并使用许多不同的头文件,但遇到了问题。我无法将 D3DMATRIX 转换为 XMMATRIX。查看https://docs.microsoft.com/en-us/windows/win32/dxmath/pg-xnamath-migration-d3dx它说 XMMATRIX 如何需要 16 位对齐,但 D3DMATRIX 没有这个要求。

代码:

在这段代码中,每次调用 SetTransform 时,我都想对通过现有矩阵的矩阵进行计时。

调用函数总是通过一个 D3DMATRIX 我想所以我不能改变它。我还需要使用 XMMATRIX 类型。

我已经尝试了一些代码来对此进行排序,但它没有帮助例如

我不知道如何解决这个问题。

谢谢

0 投票
1 回答
36 浏览

c++ - 如何检查对象是否在视口 Directx 11

我正在尝试检查一个对象当前是否在 directx 的屏幕上。我有对象和相机的视图矩阵和投影矩阵以及 xyz。

这似乎是人们遇到的一个常见问题,但我尝试在谷歌上寻找所有内容,但找不到任何人在 directx 中只谈论 javascript 的东西。

我不确定从哪里开始处理这个问题。我猜它使用了某种复杂的数学运算,涉及视图矩阵和立方体的位置(对象被转换到 gpu 上的世界空间,没有缩放或旋转)。(我也在使用 C++)有人可以帮忙吗?谢谢