У меня возникли проблемы с выполнением того, что, по-видимому, должно быть простой задачей в C ++, где я пытаюсь изменить значения внутри вектора (DirectX :: XMVECTOR) с помощью команды XMVectorSetByIndex ().
В приведенном ниже коде команда 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)