我正在使用 DirectX 11 并尝试使用 XMLoadFloat4 在范围内本地加载变量。我做了很多工作,而且名称很长,所以我不想创建一堆局部变量,但是使用如下代码:
XMStoreFloat4(&vertices[0].normal, XMVector3Cross(
XMLoadFloat4(&(vertices[2].position - vertices[0].position)),
XMLoadFloat4(&(vertices[0].position - vertices[1].position))
));
Run Code Online (Sandbox Code Playgroud)
我收到了 C2102。您知道像这样在适当的地方创建参考的优雅方法吗?
您知道像这样在适当的地方创建参考的优雅方法吗?
该函数需要指针,而您试图传递不允许的临时地址。只需将临时结果存储在变量中并将地址传递给这些变量:
auto a = vertices[2].position - vertices[0].position;
auto b = vertices[0].position - vertices[1].position;
XMStoreFloat4(
&vertices[0].normal,
XMVector3Cross(
XMLoadFloat4(&a),
XMLoadFloat4(&b)
)
);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4989 次 |
| 最近记录: |