最初に
学校の課題でDirectXの演算処理(?)について勉強しています。
今はベクトルの範囲で、ベクトルについてある程度理解はしているつもりですが
一個前の課題ではXMFLOATを使って実現していたことを
XMVECTORで実装する課題のようで調べても難しい文献ばかりで分からず質問させていただきました。
課題内容
三つの点を描画して、その三点で作られる三角形の重心を求め描画する。
発生している問題・エラーメッセージ
C2676 二項演算子 '+': 'DirectX::XMVECTOR' は、 この演算子または定義済の演算子に適切な型への変換の定義を行いません。(新しい動作; ヘルプを参照)
該当のソースコード
#include "Graphics.h" #include "SceneGame.h" #include "DebugDraw.h" inline float frand(float min, float max) { float num = (float)rand() / (float)RAND_MAX * (max * 2) - min; return num; } ---------------------------------------------------------------------------- void SceneGame::Update(float elapsedTime) { if (GetAsyncKeyState('1') & 1) { DirectX::XMVECTOR pVec[3] = {}; p[0] = { frand(-3.0, 3.0),frand(-3.0, 3.0), frand(-3.0, 3.0) }; p[1] = { frand(-3.0, 3.0),frand(-3.0, 3.0), frand(-3.0, 3.0) }; p[2] = { frand(-3.0, 3.0),frand(-3.0, 3.0), frand(-3.0, 3.0) }; pVec[0] = DirectX::XMLoadFloat3(&p[0]); pVec[1] = DirectX::XMLoadFloat3(&p[1]); pVec[2] = DirectX::XMLoadFloat3(&p[2]); wVec = (pVec[0] + pVec[1] + pVec[2]) / 3; } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。