蒙特卡洛射线追踪

Recently a demo from Epic, the makers of the Unreal game engine, raised eyebrows for its photo-realistic lighting effects. The technique is a big step forward for ray tracing. But what does that mean?

最近,虚幻游戏引擎制造商Epic的演示为其逼真的照明效果引起了人们的关注。 该技术是射线追踪的一大进步。 但是,这是什么意思?

光线追踪的作用 (What Ray Tracing Does)

Put simply, ray tracing is a method that a graphics engine uses to calculate how virtual light sources affect the items within their environment. The program literally traces the rays of light, using calculations developed by physicists who study the way real light behaves.

简而言之,光线跟踪是图形引擎用来计算虚拟光源如何影响其环境中的项目的一种方法。 该程序使用物理学家开发的计算字面量来追踪光线,物理学家研究真实光的行为。

Graphics engines like Unreal or Unity use ray tracing to render realistic lighting effects—shadows, reflections, and occlusions—without needing to render them as their own individual objects. Though it’s fairly intensive from a processing standpoint, using it to render only what the camera (i.e. the player) needs to see at any given moment means it can be more efficient than other, older methods of simulating realistic light in virtual environments. The specific lighting effects are rendered on a single two-dimensional plane at the viewer’s perspective, not constantly all throughout the environment.

诸如Unreal或Unity之类的图形引擎使用光线跟踪来渲染逼真的照明效果(阴影,反射和遮挡),而无需将其渲染为自己的单独对象。 尽管从处理的角度来看它相当密集,但使用它仅渲染相机(即播放器)在任何给定时刻需要看到的内容,意味着它比在虚拟环境中模拟现实光的其他较旧方法更有效。 从观看者的角度来看,特定的照明效果呈现在单个二维平面上,而不是在整个环境中都恒定呈现。

This is all achieved with some stupendously complex math, both in terms of actually determining the way the virtual light behaves and how much of these effects are visible to the viewer or player at any given time. Developers can use less complex versions of the same techniques to account for less powerful hardware or more fast-paced, smooth gameplay.

所有这些都是通过一些极其复杂的数学来实现的,无论是实际确定虚拟灯光的行为方式,还是在任何给定时间观看者或播放器都能看到多少这种效果。 开发人员可以使用不太复杂的相同技术版本来说明功能较弱的硬件或较快节奏的流畅游戏。

Ray tracing is a general approach to graphics rather than any specific technique, though it’s been constantly refined and improved. It can be used in pre-rendered graphics, like the special effects seen in Hollywood movies, or in real-time engines, like the graphics you see in the middle of gameplay during a PC game.

光线追踪是图形的通用方法,而不是任何特定技术,尽管它一直在不断完善和改进。 它可以用于预渲染的图形(如好莱坞电影中看到的特殊效果),也可以用于实时引擎(如您在PC游戏中进行游戏时看到的图形)中。

射线追踪有什么新功能? (What’s New In Ray Tracing?)

The demo that has gotten ray tracing into the news recently is the one in the video below, a short Star Wars sketch involving some stormtroopers with really bad timing. It was shown off at the Game Developer’s Conference last week. It’s been created by Epic Games (makers of the ubiquitous Unreal Engine) in partnership with NVIDIA and Microsoft to show off new ray tracing techniques.

以下视频中的演示是最近引起人们关注的演示,这是一个简短的《星际大战》草图,其中涉及一些突击步兵,时机非常糟糕。 上周在游戏开发者大会上展示了它。 它是由Epic Games(无所不在的虚幻引擎的制造商)与NVIDIA和Microsoft合作创建的,目的是炫耀新的光线追踪技术。

Out of context, it’s just a goofy video. But the important bit is that it’s being rendered in real time, like a video game, not beforehand like a Pixar movie. The video below shows the presenter zooming the camera through the scene with real-time controls, something that’s not possible with prerendered graphics.

脱离上下文,这只是一个愚蠢的视频。 但重要的一点是,它是像视频游戏一样实时渲染的,而不是像皮克斯电影那样预先渲染的。 下面的视频显示了演示者使用实时控件将摄像机缩放到整个场景,而使用预渲染的图形则无法实现。

Theoretically, if your gaming PC is powerful enough, it can generate graphics like that in any game using the new ray tracing lighting effects in the upcoming version of the Unreal demo.

从理论上讲,如果您的游戏PC足够强大,它可以使用即将发布的Unreal演示版本中的新光线跟踪照明效果生成任何游戏中的图形。

The technology really shines (get it?) because this specific demo includes a lot of reflective and mirrored surfaces with irregular geometry. Check out the way the environment is reflected in the curved panels of Captain Phasma’s chrome-plated armor. Just as important, notice how it’s reflected more dully and diffusely off of the white armor of the normal stormtroopers. This is a level of realistic lighting that isn’t available in games today.

该技术真的很出色(明白吗?),因为此特定的演示包括许多具有不规则几何形状的反射和镜像表面。 查看Phasma船长的镀Chrome盔甲的弧形面板中环境的反射方式。 同样重要的是,请注意,它是如何从普通冲锋队的白色装甲上更暗淡地扩散出来的。 这是当今游戏中没有的逼真的照明水平。

它会使我的游戏看起来很棒吗? (Will It Make My Games Look Awesome?)

Well, yes—in very specific circumstances. This advanced level of ray tracing will make it easier for video games to render more impressive lighting effects, but it doesn’t actually make the polygonal structure of the graphics more detailed. It doesn’t boost the resolution of the textures, or enhance the fluidity of the animations. In short, it’s going to make lighting look realistic, and that’s about it.

是的,在非常特殊的情况下。 这种先进的光线跟踪功能将使视频游戏更容易呈现更令人印象深刻的照明效果,但实际上并没有使图形的多边形结构更加详细。 它不会提高纹理的分辨率,也不会增强动画的流动性。 简而言之,它将使照明看起来逼真,仅此而已。

The demo above is particularly dramatic because the developers chose characters and environments where almost every surface is either shining or reflecting light. If you use the same technology to render, say, the protagonist of The Witcher series riding his horse through the countryside, you won’t see any majorly reflective surfaces except his sword and perhaps some water. Crucially, the ray tracing techniques won’t do much to enhance the rendering of his skin, the horse’s fur, the leather of his clothes, and so on.

上面的演示特别引人注目,因为开发人员选择了几乎每个表面都发光或反射光的角色和环境。 举例来说,如果您使用相同的技术来渲染《巫师》系列的主人公骑马穿过乡村,那么除了他的剑和一些水以外,您将看不到任何主要反射的表面。 至关重要的是,光线追踪技术在增强他的皮肤,马的毛皮,衣服的皮革等等的渲染方面不会发挥太大作用。

The headlines that came from this demonstration claiming it would result in “blockbuster movie graphics” were a bit of hyperbole—that might be true if you’re playing a level set in a hall of mirrors, but that’s about it.

该演示的头条新闻声称这将导致“惊人的电影图形”有点夸张-如果您在镜子厅里设置水平仪,这可能是正确的,但仅此而已。

我什么时候会在游戏中看到这些东西? (When Will I See This Stuff In My Games?)

The GDC demonstration was an example of a proprietary ray tracing technique called RTX, now being developed by NVIDIA. It’s set to debut in the next series of high-end GeForce graphics cards, currently rumored to debut later this year with the 20XX model numbers. Like other proprietary graphics tech, such as NVIDIA’s PhysX, it probably won’t be available to players using graphics cards from other manufacturers.

GDC演示是由NVIDIA开发的一种称为RTX的专有光线跟踪技术的示例。 它将在下一系列高端GeForce图形卡中首次亮相,据传目前将在今年晚些时候以20XX型号首次亮相。 与其他专有图形技术(例如NVIDIA的PhysX)一样,使用其他制造商的图形卡的播放器也可能无法使用。

That being said, RTX is also using a new feature of the DirectX API system specifically for ray tracing (called raytracing by Microsoft). So while the specific demos above are a collaboration between Epic and NVIDIA, there’s nothing stopping competing manufacturers like AMD and Intel from creating similar systems with similar results.

话虽这么说,RTX还使用DirectX API系统的一项新功能,专门用于光线跟踪(Microsoft称为raytracing)。 因此,尽管上面的特定演示是Epic和NVIDIA之间的合作,但是并没有阻止AMD和Intel之类的竞争制造商创建具有相似结果的相似系统。

To put it simply, you’ll see high-end PC games start to use these techniques towards the end of 2018 and beginning of 2019. Gamers who invest in new graphics cards around that time will see the most benefit, but if you already have a high-end gaming system, you might be able to use some of these effects in DirectX-compatible games on your current hardware.

简而言之,您会看到高端PC游戏在2018年底和2019年初开始使用这些技术。在那段时间投资新显卡的游戏玩家将看到最大的收益,但是如果您已经拥有在高端游戏系统上,您可能可以在当前硬件上的DirectX兼容游戏中使用其中一些效果。

Due to long development times and static hardware targets, console players won’t be seeing these advanced graphics until the next round of game consoles is released in several years.

由于开发时间长和静态硬件目标,在几年后发布下一轮游戏机之前,游戏机玩家将看不到这些高级图形。

Image credit: NVIDIA, Epic/YouTube, Guru3D/YouTube

图片来源: NVIDIA , Epic / YouTube , Guru3D / YouTube

翻译自: https://www.howtogeek.com/346949/what-is-ray-tracing/

蒙特卡洛射线追踪

蒙特卡洛射线追踪_什么是射线追踪?相关推荐

  1. 蓝牙追踪_如何使用蓝牙追踪器跟踪您的东西

    蓝牙追踪 We've all done it: you misplace something important and you spend a lot of time (with a lot of ...

  2. python机器识别追踪_多目标追踪器:用OpenCV实现多目标追踪(C++/Python)

    原标题:多目标追踪器:用OpenCV实现多目标追踪(C++/Python) MultiTracker : Multiple Object Tracking using OpenCV (C++/Pyth ...

  3. python轨迹追踪、全链路日志追踪trace_id实现

    python轨迹追踪.全链路日志追踪trace_id实现 非链路日志(普通日志) 我收到一个请求,参数是 我收到一个请求,参数是 我收到一个请求,参数是 我收到一个请求,参数是 我收到一个请求,参数是 ...

  4. 反浏览器指纹追踪(反浏览器指纹追踪技术)

    浏览器指纹追踪是一种在网络上追踪用户信息的方法.而在大数据时代,更多的人不希望自己的信息被过多收集.为了反制浏览器指纹追踪行为,反浏览器追踪技术也在不断发展. 什么是反浏览器指纹追踪技术? 浏览器指纹 ...

  5. 计算机视觉(视频追踪检测分类、监控追踪)常用测试数据集

    计算机视觉(视频追踪检测分类.监控追踪)常用测试数据集 (1).WallFlower dataset [链接]: 用于评价背景建模算法的好坏, Ground-truth foreground prov ...

  6. 匹配追踪MP和正交匹配追踪OMP算法

    匹配追踪MP和正交匹配追踪OMP算法 http://blog.csdn.net/wwf_lightning/article/details/70142985 http://blog.csdn.net/ ...

  7. 压缩感知重构算法之基追踪(Basis Pursuit, BP).基追踪并不能称为一个具体的算法,而是一种最优化准则,可以有很多实现方式,我认为指的是L0可以变为L1的准则

    基追踪(basis pursuit)算法是一种用来求解未知参量L1范数最小化的等式约束问题的算法. 基追踪是通常在信号处理中使用的一种对已知系数稀疏化的手段.将优化问题中的L0范数转化为L1范数的求解 ...

  8. go 链路追踪_【go-micro实践】jaeger分布式链路追踪

    安装jaeger jaeger提供一个all in one 的docker镜像,可以快速搭建实验环境 docker run -d --name jaeger -e COLLECTOR_ZIPKIN_H ...

  9. opencv 运动追踪_足球运动员追踪-使用OpenCV根据运动员的球衣颜色识别运动员的球队

    opencv 运动追踪 介绍 (Introduction) In my previous work, I used pre-trained Yolov3 model to detect and use ...

最新文章

  1. 《自然》公布年度十大杰出论文
  2. Silverlight、JavaFX、Flex技术比较
  3. 包含数字和指定字符的正则表达式_Excel公式练习39: 求字符串中的数字组成的数能够被指定数整除的数的个数...
  4. 双网卡上网冲突解决_双网卡冲突解决方法——route命令
  5. Java IO: Reader和Writer
  6. ug11 linux,UG11.0升级包MP02Win#Linux系统下载就上UG网
  7. 【OpenCV】OpenCV实战从入门到精通之 -- 离散傅里叶变换相关函数详解
  8. SpringCloud(二) 生产者、消费者工程搭建与调用(下)
  9. jmap命令的实现原理解析
  10. 关于字符匹配所引起的的问题
  11. 在Idea2017.1中编译时发生如下的错误
  12. ctex linux安装_Deepin Linux 安装和搭建LaTex环境
  13. ios 打包分发全流程
  14. matlab线性拟合
  15. MATLAB伽罗域是什么,利用伽罗华域的运算来计算生成矩阵
  16. Linux安装GaussDB数据库图文,gaussdb数据库怎么样?如何安装?
  17. curl做IP代理刷百度广告的计费问题
  18. postgres使用with计算占比,同比和环比
  19. Debian下安装Mosquitto
  20. matlab如何将二进制转换为十进制,matlab – 如何在不使用循环的情况下将二进制转换为十进制?...

热门文章

  1. 【开源协议】BSD、Apache2、GPL、LGPL、MIT
  2. matlab微波S21参数代码,S参数的含义
  3. C/C++Linux服务器开发高级架构师/Linux后台开发架构师丨高级进阶学习
  4. 《成本会计》---标准成本法
  5. 【嵌入式单元测试】C语言单元测试框架搭建
  6. 录制课程用什么软件好?一款录制课程的宝藏软件分享
  7. 一部电影能否大卖?用机器学习来精准预测吧
  8. iOS篇—Demo6—抽奖转盘
  9. java获取Bing壁纸
  10. suse linux查看CPU温度,Ubuntu下查看CPU温度风扇转速和硬盘温度