研究员在WebGL1中分享了一个Wolfenstein实时光线跟踪演示

栏目: 编程工具 · 发布时间: 5年前

内容简介:上周,计算机视觉研究员Reinder Nijhoff创建了一个项目,使用Nvidia的RTX显卡在WebGL1中进行实时光线跟踪。 这个演示的灵感来自Metro的实时全局照明。此演示使用使用WebGL1创建的混合渲染引擎。 它借助传统的光栅化技术渲染帧中的所有多边形,然后将结果与光线跟踪阴影,漫反射GI和反射相结合。

上周,计算机视觉研究员Reinder Nijhoff创建了一个项目,使用Nvidia的RTX显卡在WebGL1中进行实时光线跟踪。 这个演示的灵感来自Metro的实时全局照明。

此演示使用使用WebGL1创建的混合渲染引擎。 它借助传统的光栅化技术渲染帧中的所有多边形,然后将结果与光线跟踪阴影,漫反射GI和反射相结合。

研究员在WebGL1中分享了一个Wolfenstein实时光线跟踪演示

Raytraced Shadows

研究员在WebGL1中分享了一个Wolfenstein实时光线跟踪演示

Diffuse GI

研究员在WebGL1中分享了一个Wolfenstein实时光线跟踪演示

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


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编程之道

编程之道

杰弗雷﹒詹姆斯 / 清华大学出版社 / 1999-05 / 18.00元

本书出自美国一位善于进行哲学思考、有十多年工作经验的程序设计师——杰弗雷·詹姆斯之手,他以一种敏锐的眼光审视着发生在程序设计室里的各种各样的小故事,并利用古老的道家思想对其进行分析。简单的故事蕴含深奥的道理,是本书的最大特色。本书语言优美,比喻生动,可读性极强。一起来看看 《编程之道》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

SHA 加密
SHA 加密

SHA 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具