是否有任何渲染替代栅格化或光线跟踪?
-
13-09-2019 - |
题
栅格化(三角形)和光线跟踪是我曾经遇到渲染3D场景的唯一方法。是否有任何其他人呢?另外,我很想知道任何其他的真的“那里”做3D的方式,如不使用多边形。
解决方案
Aagh!这些答案都非常无知!
当然,它不利于该问题是不精确的。
OK,“渲染”是一个非常广泛的话题。呈递中的一个问题是相机的知名度或“隐面算法” - 找出哪些对象在每个像素中看到。有能见度算法的各种分类。这是可能什么海报问的(因为他们认为它是“光栅化”和“光线追踪”之间的对立)。
一个经典的(虽然现在有些过时)分类基准是萨瑟兰等“十大隐藏面算法的一个表征”,ACM计算机调查1974年。这是非常过时,但它仍然是非常适合用于思考如何提供一个框架分类这样的算法。
一类的隐藏表面算法涉及“光线投射”,这是计算来自摄像机的线的通过各像素与对象的相交(其可具有各种表示,包括三角形,代数曲面,NURBS等)。
的隐藏表面算法的其他种类包括“z缓冲器”,“扫描线的技术”,“优先级列表的算法”,并依此类推。他们是非常要命的创意与算法回来的时候并没有很多的计算周期,并没有足够的内存来存储Z缓冲的日子。
这些天,既计算和存储器很便宜,所以三种技术都非常胜出:(1)切割一切成三角形并使用Z缓冲器; (2)光线投射; (3),其使用一个扩展z缓冲区来处理透明性等雷耶斯状算法。现代显卡做#1;高端软件渲染通常不会#2或#3或它们的组合。虽然各种光线追踪硬件已经提出,有时建成,但从来没有流行起来,而且现在也现代GPU的可编程足以实际光线追迹,但在严重的速度上的劣势,以他们的硬编码的光栅化技术。其他更奇特的算法,大多被淘汰多年来下降。 (尽管各种排序/泼洒算法可用于体绘制或其他特殊用途。)
“栅格化”实际上只是指“找出哪些像素的对象位于”。会议决定了它不包括光线追踪,但这是摇摇欲坠。我想你可以证明该光栅化回答“哪些像素执行此形状重叠”,而光线跟踪的答案“其目的是该像素的后面”,如果你看到的差别。
现在然后,隐面消除不领域所要解决的唯一问题“渲染”。知道什么对象在每个像素可见仅仅是一个开始;你还需要知道它是什么颜色的,这意味着具有计算现场周围的光线如何传播的一些方法。有一大堆技术,通常分为处理阴影,反射,和“全局照明”(即,其反弹对象之间,而不是直接从灯推出)。
“光线跟踪”是指将所述光线投射技术也确定为阴影,反射,全局照明等,可以同时使用光线追踪的一切,或用于照相机的可视性和光线追踪阴影各种光栅化方法可见度,反射和GI。 “光子映射”和“路径追踪”是用于计算特定类型的光的传播的技术(使用射线追踪,因此它只是错误地说,他们在某种程度上从根本上不同的渲染技术)。也有全局照明技术,不使用光线跟踪,诸如“辐射度”的方法(这是一种有限元方法来解决全球光传播,但是该领域的大部分地区近来失宠)。但是,使用光能或光子映射光的传播仍然需要你做出最后的画面不知何故,一般用的标准技术之一(光线投射,Z缓冲器/光栅化,等)。
谁提具体的形状表示(NURBS,卷,三角形)的人也有点困惑。这是一个正交问题射线轨迹对光栅化。例如,您可以光线追踪NURBS直接,也可以切块的NURBS成三角形,并跟踪它们。可以直接栅格化三角形到z缓冲器,但也可以直接在光栅化扫描线顺序高阶参数曲面(C.F.泳道/卡彭特/等CACM 1980)。
其他提示
有一个名为光子映射技术,实际上是相当类似光线跟踪,但提供了各种在复杂的场景优势。事实上,它是提供真正的现实(即光学所有的法律都服从)渲染如果处理得当的唯一方法(至少我知道)。这是微据我知道这是所使用的技术中,由于它的性能是巨大的,甚至比光线跟踪(假定它有效的作用相反,并模拟从光源采取光子到相机路径)更坏 - 然而,这是它的唯一的缺点。这当然是一个有趣的算法,但你不会看到它在widescale使用,直到光线追踪(如果有的话)后良好。
在维基百科文章渲染覆盖了各种技术的。
介绍段落:
许多渲染算法已 研究,以及用于软件 渲染可以采用一些 不同的技术,以获得最终 图像。
跟踪光的每一个射线的场景中 是不切实际的,并会采取一个 巨大量的时间。即使跟踪 大到足以产生一个部分 图像需要的过多的 时间如果采样不 智能地限制。
因此,四个松家庭 更有效的光传输 建模技术已经出现: 的光栅化下,包括扫描线 渲染,几何项目 场景中的对象为图像 平面上,而无需先进的光学 效果;的射线铸造强>考虑 作为从特定的观察的场景 点的图,计算 观察图像仅基于几何 和非常基本的光学定律 反射强度,也许 利用蒙特卡罗技术来减少 文物;的光能传递强>使用有限 元件数学模拟 漫射从光扩散 表面;和射线追踪强>类似于 到光线投射,而是采用了更 先进的光学仿真,和 通常采用蒙特卡罗技术 在获得更逼真的效果 速度,往往是订单 量值慢。
最先进的软件结合了两种或 更多的技术来获得 在合理的足够好的结果 成本。
另一个区别是图像之间 顺序算法,其遍历 图像平面的像素,并且对象 顺序算法,其遍历 场景中的对象。一般对象 为了效率更高,因为有 在一个场景中比平常更少的对象 像素。
从这些描述中,仅仅光能传递在概念上与我似乎不同。