Home › Forums › GAMES在线课程(现代计算机图形学入门)讨论区 › 作业七光线相交测试异常
Tagged: 作业七
- This topic has 14 replies, 7 voices, and was last updated 5 years, 8 months ago by
枫吟.
-
AuthorPosts
-
-
我在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. -
请稍等,我要核实下。
-
遇到了同样的问题,我也由于只得到这三个物体的渲染结果用这个方法测试了一下。
理论上来说应该除了边缘没有物体的区域是黑色的其他全是白色的-
-
中间全白是对的。
This post has received 1 vote up.-
哦哦,那就好,谢谢助教
-
-
-
-
会不会是你的 Scene::intersect(ray)写的有问题,因为所有与xy,yz,zx平面平行的区域都没有渲染出来(注意,left那个板子不和yz平行),你在intersect(ray)里判断进入包围和出包围盒的时间是严格小于吗?但对于与xy,yz,zx平面平行的面,此时进入包围和出包围盒的时间是相等的
This post has received 2 votes up.-
This reply was modified 5 years, 8 months ago by
cmc233.
-
感谢
This post has received 1 vote up.
-
This reply was modified 5 years, 8 months ago by
-
我基本可以确定问题是你们作业6相交判断部分的「判断包围盒与光线相交」造成的,请问你们能否将你们作业6的代码发给我的邮箱 lgz17@mails.tsinghua.edu.cn,让我做进一步的说明?
-
This reply was modified 5 years, 8 months ago by
助教.
-
我这边的情况和楼上cmc233同学说的一致
-
好的。
-
我就是「判断包围盒与光线相交」这里写错了 做这次作业才发现上次作业没写对TT
作业框架应该没问题的,我能得到文档里的参考结果一致的图片
-
-
-
This reply was modified 5 years, 8 months ago by
-
请问解决了吗。。我也是
-
本楼中 cmc233 同学已经提到了解决方案:“会不会是你的 Scene::intersect(ray)写的有问题,因为所有与xy,yz,zx平面平行的区域都没有渲染出来(注意,left那个板子不和yz平行),你在intersect(ray)里判断进入包围和出包围盒的时间是严格小于吗?但对于与xy,yz,zx平面平行的面,此时进入包围和出包围盒的时间是相等的。”
-
-
感谢各位的解答,就是进出包围盒时间相等时的问题
-
-
AuthorPosts
- You must be logged in to reply to this topic.