首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用转换矩阵进行转换?

如何使用转换矩阵进行转换?
EN

Stack Overflow用户
提问于 2019-07-28 16:33:08
回答 1查看 245关注 0票数 0

我正在使用imguizmo来转换我的项目中的一个场景中的对象,我正在使用DirectX11.imguizmo接受一个模型矩阵来转换gizmo。它工作得很好,但是为了将gizmo转换成一个顶点,我需要给它一个转换矩阵,将它转换成那个顶点,这就是我如何生成4x4翻译矩阵的方法。

代码语言:javascript
运行
复制
[ 1.f, 0.f, 0.f,  x  ]
[ 0.f, 1.f, 0.f,  y  ]
[ 0.f, 0.f, 1.f,  z  ]
[ 0.f, 0.f, 0.f, 1.f ]

xyz是我想把它翻译到的和弦。

但是它不起作用。在这之后,我的吉兹莫消失了。翻译矩阵不是这样工作的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-28 21:24:28

这取决于您是使用行主矩阵、行向量和预乘法(Direct3D样式)还是使用列主矩阵、列向量和后乘(OpenGL样式)。

上面的翻译乍一看是“OpenGL样式”。

对于Direct3D,我通常希望它编写如下:

代码语言:javascript
运行
复制
[ 1.f, 0.f, 0.f,  0  ]
[ 0.f, 1.f, 0.f,  0  ]
[ 0.f, 0.f, 1.f,  0  ]
[ x,   y,   z,    1.f ]

一般来说,其中一种是另一种的转位。

它还取决于您是使用列主矩阵还是行主矩阵来处理HLSL着色器,这可能需要在将矩阵放入常量缓冲区时将其转换。

这篇博客文章

如果您是DirectX编程新手,那么应该考虑DirectXMathSimpleMath助手包装器,该包装器包含在DirectX工具包中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57242868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档