摘要
这是一个关于如何映射光线强度值的问题,就像射线跟踪模型中计算的那样,绘制成人类感知的颜色值。我已经建立了一个射线追踪模型,并发现包括计算光强度的逆平方律会产生图形结果,我认为这是不直观的。我认为这在一定程度上与8位彩色图像的有限亮度值有关,但更有可能的是,我不应该使用光强和像素颜色之间的线性映射。
背景
我最近对用射线追踪技术创建计算机图形有了兴趣。
一个基本的射线跟踪模型可能会像这样工作
这创造了合理的,但看起来平平的图像,即使表面法线包括在计算中。
模型扩展
我的兴趣是试图通过在光计算中包含距离来扩展这个模型。
如果一个物体在距离d处被光照亮,那么如果物体从光源移出一个距离2d,那么照明强度就会降低4倍,这是逆平方律。
它并不适用于所有轻型车型。(例如,从无限远到达的光的强度与物体的位置无关。)
通过玩弄我的代码,我发现这个逆平方定律并没有产生我所期望的真实照明。
例如,我为一个房间/场景的模型构建了一些初始对象,用来测试事物。
我发现的是
这与我直觉上所期望的不相符。这在数学上是有意义的,因为我使用线性函数在颜色强度和RGB像素值之间进行转换。
讨论
将物体从距离10移动到距离100可以降低颜色强度的因子(100/10)^2 = 100。由于像素RGB颜色在0-255的范围内,很明显,100的因子是重要的,这将解释为什么在距离10移动到距离100的对象变得完全不可见。
然而,我怀疑人类对颜色的感知在某种程度上是非线性的,我认为这是一个已经在计算机图形学中得到解决的问题。(否则,射线追踪引擎就无法工作。)
我猜想会有某种颜色感知函数,它描述了绝对光强度应该如何映射到人类对光强度/颜色的感知。
有没有人知道这个问题,或者能为我指明正确的方向?
发布于 2021-08-08 11:49:43
如果物体在距离d处被光线照亮,那么如果物体离光源有2d的距离,那么照明强度就会降低4倍,这是逆平方律。
这里你描述的物理量不是强度,而是辐射通量。有关射线追踪中辐射测量概念的讨论,请参阅第5.4章基于物理的绘制。
如果房间的边界与摄像机的距离超过10,那么颜色值就会非常模糊。如果房间的边界是距离相机100的距离,那么它是完全看不见的。
逆平方律可以作为光线追踪器中点灯的一种有用的一级近似(在实现更精确的照明模型之前)。关键是辐射通量从距离的平方处脱落,它只适用于从点源到表面的光,而不适用于从表面反射到摄像机的光。
换句话说,将摄像机从场景中移回不应降低渲染图像中物体的亮度,而只应缩小它们的大小。
https://stackoverflow.com/questions/67762041
复制相似问题