用到环境光还算不算是光线追踪给出的光源是点光源还能用path tracing吗

计算机方面的分类,大多是 spectrum 而不是 dichotomy。最忌讳无限较真儿。我说 shadow map 也是一种光线追踪,本身就是 ray intersection distance map。通常所说的光线追踪做不到无限 bounce 吧,大多也做 primary ray把?那不是和 rasterization 一样?
■网友
仅代表个人见解。如有错误务必请大牛们指正。
一. 利用环境光算不算光线追踪? 我认为严格意义上讲,不算。
Phong光照模型 是 传统计算机图形学 "渲染管线" pipeline 里的 模拟全局光照的一种近似算法,不符合真实的光学原理,但效果还OK。着重于先 vertex shader 再 pixel shader 的 这种方式进行rendering。
而 Ray Tracing 和 Path Tracing 是 有别于 pipeline方式的 一种图形学rendering方法,像素颜色的获得需要 通过写 Recursive的 Tracing 函数 计算而来。和上面的pipeline模式有着截然不同的代码写作技巧和方式。
那么这两种方式 如果同时混搭着使用?额,我至今好像是没见过这种case(不排除我才疏学浅,见得少)
如果用到 Ambient,还用到 Tracing,这么混搭的话 感觉很奇怪。
必须得二选一?maybe。

二. 如果是点光源,问可不可以用path tracing? 可以是可以,但最终场景渲染出来一定非常昏暗。正如楼主所说,Ray碰到光源的几率太小。。。所以应该全屏犯黑。
点光源的时候推荐使用 Photon Mapping。由某一点向四周发射大量光子并追踪,最终用kd-tree搜索临近光子 求加和平均的一种方式。
还有一种方法 叫 bidirectional path tracing, 不仅从 screen 发射ray,还从光源发射ray,所以这个方法似乎可以用在点光源上,总体效果优于传统的path tracing。

■网友
描述不是很清晰,但是可以参考一个简单的RayTracer.里面的书值得你看看,代码也可以参考。
【用到环境光还算不算是光线追踪给出的光源是点光源还能用path tracing吗】 另外你后面描述说的,撞到的光源可能性太小问题,你干嘛去撞。。。直接在hit点对这个光源来个ray不就行了。。。。。


    推荐阅读