1 光线追踪的工作原理-德赢Vwin官网 网
0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

光线追踪的工作原理

颖脉Imgtec 2024-09-30 08:05 次阅读

本文翻译自Scratchapixel 3.0[1],是一个关于计算机图形学的系统性的学习教程
如果有误,欢迎在评论区讨论。


注:本课程更多地是关于 3D 渲染的一般介绍。如果您有兴趣了解射线跟踪技术,请查看课程射线跟踪渲染技术概述[2]。

在本课程的开始,我们将解释如何将三维场景制成可视的二维图像。一旦我们理解了这个过程及其所涉及的内容,我们可以利用计算机通过类似的方法vwin “人造”图像。本章介绍了 CGI 构建的基础。

在本课程的第二章中,我们将介绍射线跟踪算法,并简要解释它的工作原理。我们收到了来自各方的电子邮件,询问为什么我们专注于射线跟踪而不是其他算法。事实是,我们并不是。为什么我们选择在这个介绍性课程中专注于射线跟踪?这个算法是模拟物体可见性的物理现象最直接的方式。因此,在编写创建 3D 或计算机生成图像的简单程序时,射线跟踪是最佳选择之一。

首先,我们将以射线跟踪算法为基础。然而,一旦我们涵盖了实现扫描线渲染器所需的所有信息,我们也将展示如何实现它。


如何创建图像

bf3dd5a8-7ebf-11ef-bb4b-92fbcf53809c.png

图1:我们可以将一幅图像想象成通过金字塔的切割,其顶点位于我们的眼睛中心,高度平行于我们的视线。

要制作一张图像,我们首先需要一个二维表面(这个表面必须有一定的面积,不能是一个点)。有了这个想法,我们可以将一张图片想象成通过一个金字塔的切割,这个金字塔的顶点位于我们的眼睛中心,高度与我们的视线平行(记住,要看到某些东西,我们必须沿着连接眼睛和物体的线来观察)。我们将这个切割或切片称为“图像平面”(你可以将这个图像平面看作画家使用的画布)。图像平面是计算机图形学的概念,我们将其用作投影我们的三维场景的二维表面。虽然这似乎很明显,但我们刚刚描述的是创建各种设备上的图像所使用的最基本的概念之一。例如,在摄影中,相当于图像平面的是胶片表面(数字相机的传感器),或者像之前提到的画家使用的画布。


透视投影假设我们想在一张空白画布上画一个立方体。描述投影过程最简单的方法是从三维立方体的每个角落向眼睛画线。为了在画布上绘制物体的形状,我们标记每条线与图像平面表面相交的点。例如,假设 c0 是立方体的一个角落,与 c1、c2 和 c3 相连。在将这四个点投影到画布上后,我们得到 c0'、c1'、c2' 和 c3' 。如果 c0-c1 定义了一个边缘,我们从 c0' 到 c1' 画一条线。如果 c0-c2 定义了一个边缘,我们从 c0' 到 c2' 画一条线。

bf5d8506-7ebf-11ef-bb4b-92fbcf53809c.gif

图2:将正面的四个角投影到画布上。

如果我们对立方体的其余边缘重复这个操作,我们最终会得到一个在画布上的二维立方体表示。我们使用透视投影创建了我们的第一张图像。如果我们对场景中的每个对象不断重复这个过程,我们就会得到一个从特定视角看到的场景图像。画家在 15 世纪初开始理解透视投影的规则。


光与颜色一旦我们知道如何在二维平面上绘制三维物体的轮廓,我们就可以添加颜色来完成图片。简单总结一下我们刚学过的内容:我们可以通过两个步骤从三维场景中创建图像。第一步是将三维物体的形状投影到图像表面(或图像平面)上。这一步只需要从物体的特征连接线到眼睛。然后通过回去绘制画布,在这些投影线与图像平面相交的地方创建轮廓。正如你可能注意到的,这是一个几何过程。第二步是向图片的线框添加颜色(称为着色过程)。在一个场景中,物体的颜色和亮度主要是由光与物体材料相互作用的结果。光由电磁粒子(称为光子)组成,即有电场成分和磁场成分。它们携带能量,像声波一样振荡,沿直线传播。各种光源发射光子,最著名的例子是太阳。如果一组光子击中一个物体,可能会发生三种情况:它们可能被吸收、反射或传输。反射、吸收和传输光子的比例因材料而异,通常决定了物体在场景中的外观。然而,所有材料共同具有的规则是,进入光子的总数始终等于反射、吸收和传输光子的总和。

换句话说,如果我们有 100 个光子照射在物体表面的一个点上,可能有 60 个被吸收,40 个被反射。总数仍然是 100。在这种情况下,我们永远不会得出 70 个被吸收和 60 个被反射或 20 个被吸收和 50 个被反射的结果,因为传输、吸收和反射光子的总和必须是 100。在科学上,我们只区分两种材料,称为导体和介电体。介电体包括玻璃、塑料、木材、水等材料。这些材料具有电绝缘性质(纯水是电绝缘体)。请注意,介电材料可以是透明的或不透明的。下图中的玻璃和塑料球是介电材料。每种材料都以某种方式对某些电磁辐射透明。例如,X 射线可以穿过人体。物体也可以由复合或多层材料制成。例如,可以使用不透明的物体(例如木材)和透明的清漆涂层(使其看起来既散射又闪亮,就像下图中的彩色塑料球)。

现在,让我们先考虑不透明和散射的物体。为了简单起见,我们假设吸收过程是物体颜色的原因。白光由“红”、“蓝”和“绿”光子组成。如果白光照射在红色物体上,吸收过程会过滤掉(或吸收)“绿”和“蓝”光子。因为物体不吸收“红”光子,它们会被反射。这就是为什么这个物体看起来是红色的原因。我们之所以看到物体,是因为物体上反射的一些“红”光子向我们旅行并触及我们的眼睛。每个照亮区域或物体上的点都会向各个方向辐射(反射)光线。每个点只有一个光线垂直地打在眼睛上,因此只能看到一个光束。我们的眼睛由光感受器组成,可以将光转换为神经信号。我们的大脑可以使用这些信号来解释不同的色调和色彩(我们仍在确定如何)。这是一种非常简单的描述所涉及现象的方法。在计算机图形学数学[3]部分中的颜色课程中详细解释了所有内容。

与透视投影的概念类似,人类花了一段时间才理解光线。希腊人发展了一种视觉理论,认为物体是由从眼睛发出的光线看到的。阿拉伯科学家伊本·海塔姆(约公元 965-1039 年)是第一个解释我们之所以看到物体是因为太阳光线的人;微小粒子的流沿着直线从物体反射到我们的眼睛中,形成图像(图 3)。现在让我们看看如何用计算机模拟自然!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计算机
    +关注

    关注

    19

    文章

    7488

    浏览量

    87846
  • 3d渲染
    +关注

    关注

    0

    文章

    9

    浏览量

    12559
  • 光线追踪
    +关注

    关注

    0

    文章

    183

    浏览量

    21473
收藏 人收藏

    评论

    相关推荐

    光线追踪技术学习资料

    资料是Peter Shirley的一周学会光线追踪技术。资料为英文版.光线最终其实已经不是什么新鲜技术了,但是最近随着英伟达最新的显卡加入了Ray Tracing技术又被人们开始提及起来,对于该图像技术又有什么值得称道的呢?赶紧
    发表于 10-12 16:36

    光线追踪技术的作用

    其实对于产品设计师而言,光线追踪技术并不陌生。简单的说,是自三维(3D)图形诞生以来图形技术领域最重要的进步之一,而且它即将从高深的电影和广告领域转向移动、可穿戴和汽车等嵌入式领域,作为全新的、更有
    发表于 11-02 08:21

    Imagination的光线追踪等级系统介绍

    Imagination的光线追踪等级系统
    发表于 12-21 06:02

    光线追踪技术介绍

    光线追踪:一种颠覆性技术
    发表于 01-22 07:19

    硬件光线追踪的优势有哪些

    硬件光线追踪的优势光线追踪面临的关键挑战
    发表于 01-28 07:19

    光线追踪等级系统的介绍

    我们为什么要发布光线追踪等级系统?它对游戏意味着什么?
    发表于 01-29 07:41

    如何看待光线追踪

    光线追踪我们实际应用中经常用吗,他到底是一项什么技术?
    发表于 03-07 08:36

    什么是光线追踪

    什么是光线追踪
    发表于 05-28 06:38

    怎样实现光线追踪

    怎样实现光线追踪?怎么使光线追踪生效?
    发表于 05-31 06:51

    硬件光线追踪的优势有哪些?

    光线追踪面临的关键挑战是什么?硬件光线追踪的优势有哪些?
    发表于 05-31 06:53

    光线追踪算法汇总

    在基本光线追踪算法中,只追踪有限数目的光线
    的头像 发表于 05-11 15:58 1.7w次阅读
    <b class='flag-5'>光线</b><b class='flag-5'>追踪</b>算法汇总

    NVIDIA OptiX光线追踪引擎的功能特性

    NVIDIA OptiX 光线追踪引擎用于在 GPU 上实现出色光线追踪性能的应用框架,提供简单、递归式的灵活工作流,用于加速
    的头像 发表于 09-14 09:37 2706次阅读

    手游光线追踪的技术实现原理、工作流程与优点

    4级在层次型包围盒上增加了相干性排序的硬件,也是目前移动硬件光线追踪的最佳实现方式,这是我们公司GPU中的硬件光线追踪技术。
    的头像 发表于 09-15 15:38 1541次阅读

    光线示波器的工作原理

    光线示波器的工作原理主要基于电、磁、光和机械系统的综合作用,其详细过程如下:
    的头像 发表于 09-21 16:09 598次阅读

    基于光线追踪的渲染算法实现

    我们已经涵盖了所有需要说的内容!我们现在准备写我们的第一个光线追踪器。你现在应该能够猜到光线追踪算法是如何工作的了。首先,注意到自然界中光的
    的头像 发表于 10-30 08:06 243次阅读
    基于<b class='flag-5'>光线</b><b class='flag-5'>追踪</b>的渲染算法实现