gpt4 book ai didi

c++ - DirectX::XMVECTOR 函数 XMVectorSetByIndex() 未设置 float (C++)

转载 作者:行者123 更新时间:2023-11-30 01:02:31 25 4
gpt4 key购买 nike

我在执行 C++ 中看似简单的任务时遇到了一些麻烦,我尝试使用命令 XMVectorSetByIndex() 更改 vector (DirectX::XMVECTOR) 内的值。

在下面的代码中,命令 XMVectorGetByIndex() 工作正常,new_y 设置为 1.7(在添加 0.2 之后)。但是,XMVectorSetByIndex() 不会像我预期的那样导致测试变为 {0.0f、1.7f、2.0f、0.0f}(而是保持不变)。

    XMVECTOR test = { 0.0f, 1.5f, 2.0f, 0.0f };
float new_y = XMVectorGetByIndex(test, 1) + 0.2;
XMVectorSetByIndex(test, new_y, 1);

我已经尝试了一些不同的东西,但没有运气让这个功能发挥作用。我只是看不出问题是什么(特别是考虑到 XMVectorGetByIndex() 可以正常工作。

任何帮助将不胜感激:)

https://msdn.microsoft.com/en-us/library/hh404810(v=vs.85).aspx (XMVectorSetByIndex) https://msdn.microsoft.com/en-us/library/Hh404786(v=VS.85).aspx (XMVectorGetByIndex)

最佳答案

XMVectorSetByIndex 函数返回具有修改内容的新 vector ,它不会就地修改输入 vector 。所以你应该覆盖test:

test = XMVectorSetByIndex(test, new_y, 1);

关于c++ - DirectX::XMVECTOR 函数 XMVectorSetByIndex() 未设置 float (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55933388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com