内容简介:上周,计算机视觉研究员Reinder Nijhoff创建了一个项目,使用Nvidia的RTX显卡在WebGL1中进行实时光线跟踪。 这个演示的灵感来自Metro的实时全局照明。此演示使用使用WebGL1创建的混合渲染引擎。 它借助传统的光栅化技术渲染帧中的所有多边形,然后将结果与光线跟踪阴影,漫反射GI和反射相结合。
上周,计算机视觉研究员Reinder Nijhoff创建了一个项目,使用Nvidia的RTX显卡在WebGL1中进行实时光线跟踪。 这个演示的灵感来自Metro的实时全局照明。
此演示使用使用WebGL1创建的混合渲染引擎。 它借助传统的光栅化技术渲染帧中的所有多边形,然后将结果与光线跟踪阴影,漫反射GI和反射相结合。
Raytraced Shadows
Diffuse GI
Reflections
什么是光线追踪技术?
在计算机图形学中,光线跟踪是一种用于渲染具有非常复杂的光交互的3D图形的技术。基本上,在该技术中,算法追踪光的路径,然后模拟光与虚拟对象交互的方式。
光与虚拟对象交互的方式有三种:
- 它可以从一个物体反射到另一个物体,从而引起反射。
- 它可以被导致阴影的物体阻挡。
- 它可以穿过透明或半透明的物体,造成折射。
然后组合所有这些相互作用以确定像素的最终颜色。
光线跟踪已被用于离线渲染,因为它能够准确地模拟现实世界中光的物理行为。由于其计算密集性,光线跟踪通常不是实时渲染的首选。然而,随着Nvidia RTX显卡的推出,这种情况发生了变化,因为它增加了自定义加速硬件并使实时光线跟踪变得相对简单。
这个演示是关于什么的?
该项目的原型基于前向渲染器,该渲染器首先绘制场景中的所有几何体。接下来,着色器用于栅格化(将图像转换为像素)几何体,计算直接照明。此外,着色器还从渲染几何体的表面投射随机光线,以使用光线跟踪器收集由于非光泽表面引起的间接光反射。
作者从一个非常简单的场景开始,原型包括一个灯光,只渲染了几个球体和立方体。这使得光线跟踪代码非常简单。原型完成后,他希望通过向场景添加更多几何图形和大量光源来将原型提升到新的水平。
尽管环境很复杂,但Nijhoff希望实时对场景进行光线追踪。通常,为了加速光线跟踪过程,使用边界体积层次结构(BVH)作为加速结构。但是,使用WebGL1着色器时,很难预先计算和使用BVH。这就是Nijhoff决定使用Wolfenstein 3D级别进行此演示的原因。
要了解更多详细信息,请查看 Reinder Nijhoff分享的原始帖子 。
Linux公社的RSS地址 : https://www.linuxidc.com/rssFeed.aspx
本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-03/157571.htm
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 尝试在 Android 中实现实时光线追踪
- 尝试在Android中实现实时光线追踪
- 30个Python物联网小实验5:光线感应灯
- 在已经交作业的虚幻引擎之后,Unity何时原生支持光线追踪技术 ...
- 阿里研究员:线下环境为何不稳定?怎么破
- MIT研究员警告:深度学习已经接近计算极限
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。