栅格化(三角形)和光线跟踪是我曾经遇到渲染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使用,直到光线追踪(如果有的话)后良好。

在维基百科文章渲染覆盖了各种技术的。

介绍段落:

  

许多渲染算法已   研究,以及用于软件   渲染可以采用一些   不同的技术,以获得最终   图像。

     

跟踪光的每一个射线的场景中   是不切实际的,并会采取一个   巨大量的时间。即使跟踪   大到足以产生一个部分   图像需要的过多的   时间如果采样不   智能地限制。

     

因此,四个松家庭   更有效的光传输   建模技术已经出现:   的光栅化下,包括扫描线   渲染,几何项目   场景中的对象为图像   平面上,而无需先进的光学   效果;的射线铸造考虑   作为从特定的观察的场景   点的图,计算   观察图像仅基于几何   和非常基本的光学定律   反射强度,也许   利用蒙特卡罗技术来减少   文物;的光能传递使用有限   元件数学模拟   漫射从光扩散   表面;和射线追踪类似于   到光线投射,而是采用了更   先进的光学仿真,和   通常采用蒙特卡罗技术   在获得更逼真的效果   速度,往往是订单   量值慢。

     

最先进的软件结合了两种或   更多的技术来获得   在合理的足够好的结果   成本。

     

另一个区别是图像之间   顺序算法,其遍历   图像平面的像素,并且对象   顺序算法,其遍历   场景中的对象。一般对象   为了效率更高,因为有   在一个场景中比平常更少的对象   像素。

从这些描述中,仅仅光能传递在概念上与我似乎不同。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top