gpt4 book ai didi

c++ - 定点硬件光线追踪产品补偿

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

我正在尝试复制射线-三角形相交整数演算的实现,我的代码基于 Johannes Hanika (https://jo.dreggn.org/home/2007_master.pdf) 的工作。

但是我有一个问题,我认为是在 Hanika 的以下几行实现中:

long long int u = (long long int)e1p*kq - (long long int)e1q*kp;
long long int v = (long long int)e2q*kp - (long long int)e2p*kq;

我相信这些产品应该有某种补偿,比如右移 (m - 1),就像代码的其他部分一样。

我已经在我的代码中做了这个补偿,而且它只能这样工作。

这里有人实现过他的这段代码吗?或者对这个问题有什么猜测吗?

最佳答案

在第 30 页的论文中,它指出 kpkq 是整数值。使用定点时,只需在将 2 个定点值相乘时进行归一化。

int kp = O[p] + ((t*omega[p]) >> (m-1)) - pp;
int kq = O[q] + ((t*omega[q]) >> (m-1)) - pq;
long long int u = (long long int)e1p*kq - (long long int)e1q*kp;
long long int v = (long long int)e2q*kp - (long long int)e2p*kq;

关于c++ - 定点硬件光线追踪产品补偿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57295400/

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