Home › Forums › GAMES在线课程(现代计算机图形学入门)讨论区 › 作业七光线相交测试异常 Tagged: 作业七 This topic has 14 replies, 7 voices, and was last updated 4 years, 7 months ago by 枫吟. Viewing 6 reply threads Author Posts 2020年4月11日 at 下午10:33 #5371 Score: 0 枫吟Participant Karma: 1 pt 我在castRay里测试代码如下 Intersection intersection = Scene::intersect(ray); Vector3f hitColor = this->backgroundColor; Material *m = intersection.m; Object *hitObject = intersection.obj; if (intersection.happened) { return Vector3f(1.0f); } else { return Vector3f(0.0f); } 其中我相加部分的代码在作业六里是正常运行的,按说上述代码会得到一个所有物体的轮廓。结果得到如下的图片。对此我感到很奇怪,在最开始写代码时,我发现我测试光源部分表现也很异常。从物体到光源会出现miss的情况,如果从光源到物体测试就不会发送这种情况。 请教一下是不是测试相加部分哪里的逻辑需要修改 Attachments:You must be logged in to view attached files. 2020年4月11日 at 下午10:47 #5373 Score: 0 助教Keymaster Karma: 14 pts 请稍等,我要核实下。 2020年4月11日 at 下午10:47 #5374 Score: 0 OptSolutionParticipant Karma: 1 pt 遇到了同样的问题,我也由于只得到这三个物体的渲染结果用这个方法测试了一下。 理论上来说应该除了边缘没有物体的区域是黑色的其他全是白色的 2020年4月11日 at 下午11:42 #5384 Score: 0 BearParticipant Karma: -11 pt 这就很有意思了。。。我的结果是中间全白了 作业 6 我也没问题啊,真神奇 This reply was modified 4 years, 7 months ago by Bear. Attachments:You must be logged in to view attached files. 2020年4月11日 at 下午11:42 #5385 Score: 1 助教Keymaster Karma: 14 pts 中间全白是对的。 This post has received 1 vote up. 2020年4月11日 at 下午11:44 #5388 Score: 0 BearParticipant Karma: -11 pt 哦哦,那就好,谢谢助教 2020年4月11日 at 下午11:06 #5375 Score: 2 cmc233Participant Karma: 6 pts 会不会是你的 Scene::intersect(ray)写的有问题,因为所有与xy,yz,zx平面平行的区域都没有渲染出来(注意,left那个板子不和yz平行),你在intersect(ray)里判断进入包围和出包围盒的时间是严格小于吗?但对于与xy,yz,zx平面平行的面,此时进入包围和出包围盒的时间是相等的 This post has received 2 votes up. This reply was modified 4 years, 7 months ago by cmc233. 2020年4月11日 at 下午11:31 #5379 Score: 1 OptSolutionParticipant Karma: 1 pt 感谢 This post has received 1 vote up. 2020年4月11日 at 下午11:08 #5377 Score: 0 助教Keymaster Karma: 14 pts 我基本可以确定问题是你们作业6相交判断部分的「判断包围盒与光线相交」造成的,请问你们能否将你们作业6的代码发给我的邮箱 lgz17@mails.tsinghua.edu.cn,让我做进一步的说明? This reply was modified 4 years, 7 months ago by 助教. 2020年4月11日 at 下午11:32 #5380 Score: 0 OptSolutionParticipant Karma: 1 pt 我这边的情况和楼上cmc233同学说的一致 2020年4月11日 at 下午11:38 #5381 Score: 0 助教Keymaster Karma: 14 pts 好的。 2020年4月11日 at 下午11:46 #5390 Score: 0 maajorParticipant Karma: 3 pts 我就是「判断包围盒与光线相交」这里写错了 做这次作业才发现上次作业没写对TT 作业框架应该没问题的,我能得到文档里的参考结果一致的图片 2020年4月12日 at 下午7:19 #5420 Score: 0 zswParticipant Karma: -2 pt 请问解决了吗。。我也是 2020年4月12日 at 下午7:51 #5427 Score: 0 助教Keymaster Karma: 14 pts 本楼中 cmc233 同学已经提到了解决方案:“会不会是你的 Scene::intersect(ray)写的有问题,因为所有与xy,yz,zx平面平行的区域都没有渲染出来(注意,left那个板子不和yz平行),你在intersect(ray)里判断进入包围和出包围盒的时间是严格小于吗?但对于与xy,yz,zx平面平行的面,此时进入包围和出包围盒的时间是相等的。” 2020年4月12日 at 下午8:47 #5437 Score: 0 枫吟Participant Karma: 1 pt 感谢各位的解答,就是进出包围盒时间相等时的问题 Author Posts Viewing 6 reply threads You must be logged in to reply to this topic. Log In Username: Password: Keep me signed in Log In