计算机图形学--实时光线追踪

实时光线追踪

在这里插入图片描述
光线追踪的应用场景
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
实时光线追踪的算法和传统光线追踪在算法本身上并没有什么差异。而是硬件上的突破让速度更快。在这里插入图片描述在这里插入图片描述
RTRT关键的技术是降噪
在这里插入图片描述
下图的降噪后的效果
在这里插入图片描述
在这里插入图片描述
工业界对于实时光线追踪的降噪是如何做的
思路:
1.当前帧需要滤波,假设前一帧是滤波好的
2.假设场景的运动是非常连续的,使用motion vectors 找到一个像素上一帧在哪里
3.把上一帧的结果拿到当前帧来用,渲染当前场景
在这里插入图片描述
在这里插入图片描述
当前帧的某个像素点,在上一帧该点在什么位置。如下图蓝色点所示。
在这里插入图片描述
在这里插入图片描述
当前帧的渲染结果,依赖上一帧的结果。
在这里插入图片描述
降噪前:
在这里插入图片描述
降噪后:
在这里插入图片描述
真实渲染场景:
在这里插入图片描述存在的问题:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
解决方案:
1.Clamping
2.Detection
在这里插入图片描述
不管是
在这里插入图片描述
地板是glossy的,移动物体的时候地板的反射有延迟
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
截图和公式来源闫令琪老师games202课程
感谢闫令琪老师为我们带来这么精彩的图形学课程
https://www.bilibili.com/video/BV1YK4y1T7yY?p=12

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
内容介绍在成像领域,我们有很多手段。比如你可以通过照相机的光学元件,也可以通过像电脑游戏中的那样,通过GPU的一套渲染管线来实现成像。当然除此之外是不是就没有其他的成像方式了呢?当然答案是否定的。 在我们不去使用计算机图形学那套去成像的时候,最土鳖和最容易理解的成像方式就是光线追踪了。这里同学们应该理解到的有一个点,第一光线追踪不是唯一的成像方式,第二它与传统的GPU成像或者说 计算机图形学里说的那些光栅化之类的从思路上就有区别,第三光线追踪是最简单的成像方式之一,大概你学完高中数学就可以实现光线追踪,写完两三个C++类足以做成非常优质的画面。所以同学们要对光线追踪有一个 清晰的认识,不要认为你学完这一套就无敌了,其实你学完了才会发现,这比OpenGL那些一套一套的规则简单多了。 大部分情况下,由于光线追踪不是按照图形学那边的那些管线来做的,所以它不讲究效率,而是遵循物理意义上的画质最佳。所以基本上你学会光线追踪,且不从事电影行业或者不学习引擎内核去研发高端引擎,那么这块知识估计你会带进坟墓。适合人群光线追踪适合于那些探究画质的同学,你可以轻松的把你的思维应用到你的算法中,但大概率无法转化成为实时算法,也就是无法转化成传统渲染管线这边的一套一套的东西。因为仿真从算法出发点上就是不考虑效率的。 你可以用光线追踪去渲染一些精致的画面,如果你是学习了游戏引擎了的话,你可以尝试自己写一个光线追踪的渲染器,来执行烘焙场景的操作。大部分情况下,通用引擎会使用AutoDesk的Beast SDK,比如Unity3D 里面就有beast.exe。如果你是游戏引擎的内核程序员,那么你有可能将你光线追踪和离线渲染学来的知识通过烘焙场景的方式来应用到你的实际工作中。光线追踪的地位在实时渲染领域中使用光线追踪算法的探索当然也有人在做,这其中最厉害的当然就是Unreal,值得我们学习。如果你在你的引擎内核里使用了像vulkan这样的高级别渲染器,兼容性会差一点,但是你此时 就可以学习Unreal做光线追踪的思路,在实时渲染中,去或多或少加一点光线追踪。我们可以来思考这样的一个问题,实时渲染追求的是速度与性能,离线渲染追求的是极限画质。于是乎那些大神,或许未来你 就是这些大神中的某一个,你们做的操作莫过于把离线渲染算法中的某一部分比较烧性能的环节,比如通过IBL的方式事先通过离线渲染把所有渲染数据存储到一张图像里去,然后在实时渲染的时候把这张图片 中的数据取出来直接运算,就可以得到比实时渲染好,但是比离线渲染差那么一点点画质。这里之所以无法让实时渲染和离线渲染的画质完全一致是因为我们的3D世界就如同我们的眼球一样精度是很高的。如果你的 图片的分辨率不够大,离线渲染的时候存储的数据都是比较粗糙的采样数据,无法描绘出一个精致的世界。课程安排在我们的课程中,我们来通过最简单的方式,依然是最简单的方式来理解光线追踪是怎么玩出来的。画面或许很好看,但都是简单的高中几何数学,即便我们认为你没写过程序都能看懂意思。我们课程里面不涉及 物理渲染,我们使用的依然是经典的lambert这样的光照模型。物理渲染的方式既可以在实时渲染里实现,也可以在离线渲染里实现。大体的框架不会变,只是计算光的时候算法会变,那部分估计也不是美术可以听懂的了。
实时计算机图形学 (realtime rendering)是一种用于即时呈现图形、动画和视觉效果的技术。现实世界中的场景可以通过实时计算机图形学生成并显示在计算机屏幕上,使用户可以与其进行交互。 实时计算机图形学通常在计算机游戏和虚拟现实等实时应用中使用。它需要高效的图形渲染算法和计算性能强大的硬件,以实现快速而真实的视觉效果。实时计算机图形学旨在在每一帧的刷新周期内生成图像,以保持流畅的动画效果和交互体验。 实时计算机图形学的一个重要方面是光线追踪算法光线追踪可以模拟光线在场景中的传播和反射,从而生成逼真的图像。然而,在实时应用中,光线追踪通常不够高效。因此,实时计算机图形学使用了许多优化技术,如光栅化和阴影映射等,以快速计算图像。 另一个关键技术是多边形渲染。多边形渲染是将场景中的物体和形状表示为多边形网格,并对其进行计算和着色的过程。多边形渲染可以实现更高的渲染速度和交互性。 实时计算机图形学还包括纹理映射、阴影生成、透明和半透明效果等其他技术。这些技术可以帮助实现更加逼真、高效的图像生成。 总之,实时计算机图形学是一种用于实现快速呈现真实感图像的技术,广泛应用于计算机游戏、虚拟现实等领域。通过使用各种算法和技术,实时计算机图形学可以在计算机屏幕上实时生成视觉效果,提供流畅的动画和交互体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值