gpt4 book ai didi

c++ - matrix = *((fxMatrix*)&d3dMatrix);//邪恶?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:23:57 27 4
gpt4 key购买 nike

我一直在用

matrix = *((fxMatrix*)&d3dMatrix);

好久不见。它工作正常,直到我的屏幕变黑并在我的办公 table 上收到一桶挫败感。

fxMatrix 包含 4 个 fxVectors。 fxVector原来是16字节,现在突然变成20字节了。这是因为它继承了fxStreamable,增加了vTable。

因此,一种解决方案当然是不继承 fxStreamable,并发表评论说它必须始终为 16 字节,不能超过。

另一种解决方案是制作转换函数,并完全复制矩阵。这使它更安全,但对性能有影响。我想这是最好的主意。

另一个解决方案是根本不转换,坚持使用 D3DXMATRIX,但这会使引擎不一致,我个人非常不喜欢这个想法。

你怎么看?

最佳答案

转换函数的影响很可能可以忽略不计。使用该解决方案,除非分析器可以证明它是一个瓶颈。这样的转换确实比较邪恶,否则你就不用问这个问题了。

关于c++ - matrix = *((fxMatrix*)&d3dMatrix);//邪恶?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4584112/

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