首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >射线跟踪算法--几个问题

射线跟踪算法--几个问题
EN

Stack Overflow用户
提问于 2014-07-03 17:06:25
回答 1查看 945关注 0票数 0

关于射线追踪算法的几个问题:

  1. 如果我正确理解射线追踪算法,有人能告诉我吗?

它得到第一个与射线相交的物体。

(如果没有交叉口,它就会熄灭)

然后,如果对象是反射的,它会递归地发送一条反射射线,并计算它的颜色。

如果物体是透明的,它会递归地发送一条折射射线,并计算它的颜色。

最后一行是什么?:

代码语言:javascript
运行
复制
 return shade(reflactColor, refractColor,p,obj)

它是通过对reflectColor和refractColor的平均值或类似的东西来计算颜色吗?

2.影子射线在哪里?这不是算法的一部分吗?

3.最后一件事..。为什么我们需要递归的呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-03 17:20:08

你似乎对算法有很好的掌握。

最后一行看起来像是在计算反射色和折射色的某种加权组合。

此外,你是正确的,阴影射线跟踪不包括在你在你的帖子附加的基本算法。然而,它是很容易添加到拍摄光线到光源,并确定是否有一个交叉的对象,你击中的光。如果有,那么光线就会被遮挡,物体就不应该在这一点上被点燃。

要解释递归,你可以想到一对镜子对着对方。你会得到无限镜像效应(在现实生活中)。如果你不反射并且只投射一次反射/折射射线,你的虚拟镜子(或者一般的反射面)只会反射其他物体,而不是其他物体的反射。(因此,没有无限的镜像效应。*()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24559578

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档