Home › Forums › GAMES在线课程(现代计算机图形学入门)讨论区 › 作业六提高建树时间没变 渲染提高了 This topic has 7 replies, 5 voices, and was last updated 4 years, 8 months ago by clarence. Viewing 3 reply threads Author Posts 2020年4月7日 at 下午11:47 #5254 Score: 0 paradocxParticipant BVH本身对应的是0s建树,28s渲染;使用SAH后是0s建树,29-30s渲染。 (这两个时间都多次实验) 我使用的思路是使用12个buckets,计算质心沿长的轴(x)的offset判断落在哪个桶里。 每个桶有自己的包围盒,计算桶分割序号左右的子包围盒面积/父包围盒面积作为cost找到最少的分割点。 然后把对应的objects按照分割点split成左右两个集合进行迭代。 想请问我的方法是不是出现了什么问题? 2020年4月8日 at 上午1:07 #5256 Score: 0 clarenceParticipant Karma: -2 pt 思路没错,要不你把代码贴出来? 2020年4月9日 at 下午1:23 #5288 Score: 0 paradocxParticipant 麻烦您帮忙看看 这段代码之前是计算对角线发现X轴最长 按x排序了 Attachments:You must be logged in to view attached files. 2020年4月9日 at 下午9:59 #5303 Score: 0 安安Participant Karma: -1 pt 请问你的问题解决了吗,我现在也是这个问题 2020年4月9日 at 下午11:03 #5305 Score: 0 JZZKeymaster Karma: 2 pts 最长轴为X,只能说是一开始的大包围盒是这样的。左右子节点递归调用的时候就不能保证最长轴还是X轴了。源代码BVH建树的时候就是一开始先计算最长轴,然后用switch选择在最长轴投影质心。所以你构建出的分割还不是最优 2020年4月10日 at 下午1:57 #5323 Score: 0 clarenceParticipant Karma: -2 pt 就像@JZZ 说的那样,你自己都说延长的轴了,怎么还会固定是x轴呢?还有你左右子树调用的都是NAIVE方法的函数,不知道你是重写了原来的函数还是注释掉了。 This reply was modified 4 years, 8 months ago by clarence. 2020年4月10日 at 上午1:01 #5310 Score: 0 ScottParticipant Karma: -3 pt 请问这里BVHwithSAH建树还是沿用源代码BVH建树的吗 2020年4月10日 at 上午10:23 #5313 Score: 0 安安Participant Karma: -1 pt 请问一下SAH要先排序吗,按照什么排序呀 Author Posts Viewing 3 reply threads You must be logged in to reply to this topic. Log In Username: Password: Keep me signed in Log In