不能将 XMVECTOR 与浮点数相乘
Can't multiply XMVECTOR with float
我从DirectX教程中获得了这些行代码,该教程中对进行了很好的编译
DirectX::XMFLOAT4 vLightDirs[2] =
{
DirectX::XMFLOAT4(-0.577f, 0.577f, -0.577f, 1.0f),
DirectX::XMFLOAT4(0.0f, 0.0f, -1.0f, 1.0f),
};
for (int m = 0; m < 2; m++)
{
DirectX::XMMATRIX mLight = DirectX::XMMatrixTranslationFromVector(5.0f * DirectX::XMLoadFloat4(&vLightDirs[m]));
DirectX::XMMATRIX mLightScale = DirectX::XMMatrixScaling(0.2f, 0.2f, 0.2f);
mLight = mLightScale * mLight;
}
但在我自己的项目中,我遇到了一个错误:
错误4错误C2677:二进制"*":找不到采用"DirectX::XMVECTOR"类型的全局运算符(或者没有可接受的转换)d:\projects\3dtestproject\application.cpp 76 1 3dtestproject
这是一行(如果不清楚):
DirectX::XMMATRIX mLight = DirectX::XMMatrixTranslationFromVector(5.0f * DirectX::XMLoadFloat4(&vLightDirs[m]));
包括directxmath.h。
运算符重载也在DirectX C++命名空间中,因此它们不会解决,除非您有:
using namespace DirectX;
相关文章:
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- C++浮点数据类型和字符串数据类型无法子到模板函数中
- 使用提升将数据从 PyObject 复制到浮点数 *
- 使用浮点数和双精度数的非常小数字的数学
- 使用英特尔内联函数将打包的 8 位整数乘以浮点数向量
- 如何在 c++ 中将小数点后两位数的浮点数分配给另一个浮点数
- 返回浮点数的小数位数
- txt 文件中浮点数的最大和最小值
- 为什么 std::cout 打印浮点数、双精度和长双精度到相同的小数精度?
- 将浮点数转换为无符号字符数组并打印出来
- 如何将时间字符串 (M:SS) 转换为浮点数
- 如何将浮点数(*)[6]转换为浮点**类型?
- C++将浮点数乘以分数
- 如何将浮点数转换为uint8_t?
- 将字符串转换为浮点数或整数,而无需使用内置函数(如 atoi 或 atof)
- 如何在C++(Arduino)中将浮点数组转换为字节数组
- 在数学上将浮点数四舍五入到 N 位小数
- Cython通过浮点数的最快方式,用于高频控制回路
- 不能将 XMVECTOR 与浮点数相乘