Home › Forums › GAMES在线课程(现代计算机图形学入门)讨论区 › 作业六 的一些疑问 This topic has 2 replies, 3 voices, and was last updated 4 years, 7 months ago by 奋斗的蜗牛. Viewing 2 reply threads Author Posts 2020年4月2日 at 下午4:46 #5036 Score: 0 夏莉莉Participant 首先对于 Bounds3.hpp IntersectP()函数,我是这么想的,取包围盒三对面分别求tmin,tmax,然后再取一个最大一个最小得到tenter,texit,最后判断得到是否相交,如图一图二,但是没用到函数里的后两个参数,希望有大佬帮忙看一下代码对不对 但是对于BVH递归的部分,我不知道应该怎么理解,这里的返回一个最近交点和Intersect应该调用哪个函数呢 Attachments:You must be logged in to view attached files. 2020年4月2日 at 下午6:51 #5046 Score: -1 xxrlParticipant Karma: 1 pt 包围盒的t算的是光线进出slab的时间 最后算Intersect,用node里面的object算,你可以看到只有叶子节点的object是被赋值了的 This post has received 1 vote down. 2020年4月2日 at 下午11:12 #5062 Score: 0 奋斗的蜗牛Participant Karma: 3 pts dirIsNeg其实是个bool类型的判断,就是帮你判断x,y,z是不是都是大于0的 所以dirIsNeg = {x>0, y>0, z>0}, 即x>0时第一项是1,x<=0时第一项是0 那么如果x<0,就说明光线是反着射的,用pMax.x求出来的是tenter.x,因为光线先击中值更大的面,再击中值小的面 此外,tenter.x = (pMin.x – orig.x) * invDir.x; Author Posts Viewing 2 reply threads You must be logged in to reply to this topic. Log In Username: Password: Keep me signed in Log In