【翻译】CEDEC2012 SQUARE ENIX GPGPU实现高速GI烘培工具的方法

虽然实时GI技术已经趋于成熟了,但出于对不同平台的性能和质量的考虑, 更倾向搭配一些预计算的渲染技术来实现,如给静态物体提供GI的LightMap, 给动态物体提供GI的Irradiance Volume ,以及给增加GI的Specualar细节的IBL等等。特别是对应移动平台而言。

为了提高预计算的速度,减少美术迭代时间,也要开始考虑把这些技术基于GPGPU来实现,后两者Irradiance Volume的数据相对较小,数据组织上也不受场景的影响,对于一些较小场景在运行前进行预计算都是可以的,而IBL一个是每张pre-filter envmap的比较独立,范围相对也较小,另外envmap也可以同时在多个物体上使用。所以实现起来,在复杂度和内存使用上对GPGPU来说也不是难点。

而lightmap,一个是几乎无法在多个模型上复用,另外显存的使用量也会很大,特别是对那种场景超大的游戏来说,SQUARE ENIX的这篇ppt介绍了他们基于Ray Bundle Tracing,并使用per pixel linked list来实现GPGPU的lightmap烘培的设计思路和实现方法。对于我们想自己实现GPU烘培也是很好的借鉴。除了基本方法外,本文也扩展到了支持Tessellation,支持lambert以外的BRDF方程,如何对应超大场景,以及部分场景修改后如何只烘培那一小部分场景等等实际的问题。总的来说还是值得看看的。当然国内应该有几家公司也已经实现GPGPU烘培了。不知道是不是用的这个技术。

因为是会议用的讲解ppt,幻灯片本身内容的细节并不多,好在作者已经把演讲稿写在了备注部分,所以本文才有了翻译的意义,不过演讲稿本身口语化严重了一些,不过也不好对作者原文做太多修改,也就大部分原汁原味的翻译过来了。不过,翻译后我也校对了1,2遍,所以发的也有点晚了,就如作者所说,有图形基础的程序员应该都能读懂的了,如果有什么疑问再留言或直接联系我吧。

另外最新的英文版的paper链接我也放在下面了,两篇虽然有一些交集,但更多的还是可以做互补吧,如果有兴趣也一定要看的,另外paper里的一些参考数据比较有价值。关于Ray Bundle Tracing,SE发的一些更早的资料,也在下面的SE的论文链接里提供了。

ppt翻译版

链接: http://pan.baidu.com/s/1tVEDC 密码: nx1p

SE最新的ppt Adaptive Ray-bundle Tracing with Memory Usage Prediction: Efficient Global Illumination in Large Scenes

http://connect.jp.square-enix.com/wp-content/uploads/2014/10/Adaptive-Ray-bundle-Tracing-with-Memory-Usage-Prediction.pdf

论文的相关网址

http://connect.jp.square-enix.com/?cat=7

另外,个人还是想做一个GPGPU烘培的项目试试看,如果有谁已经实现了,或者有兴趣或问题也欢迎来讨论和指导。

时间: 2024-08-02 23:07:28

【翻译】CEDEC2012 SQUARE ENIX GPGPU实现高速GI烘培工具的方法的相关文章

kali高速更新源以及主题修改方法

文章不小心删了~这是我以前写的文章了了.实用性较强,所以现在补回来! 安装完kali之后,需要对软件进行一次整体更新:apt-get update & apt-get upgrade 但是,先别着急,默认kali安装完之后,里面的更新源很慢,是kali官网的更新源,我们从国内进行下载,肯定会很慢. 所以,我们要添加一些速度快的更新源,以方便我们进行更新: 首先,我们要打开sources.list文件,进行添加更新源:leafpad /etc/apt/sources.list然后选择添加以下较快的

【翻译自mos文章】在11gR2 GI中怎么改变时区?

在11gR2 GI中怎么改变时区? 来源于: How To Change Timezone for 11gR2 Grid Infrastructure (文档 ID 1209444.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.1 and later Information in this document applies to any platform. 目标: 本文用于演示在11gR2 GI安装完之后,怎么改变时区

Unity3d 游戏中的实时降噪-对Square Enix文档的研究与实现

看到SE的技术文档关于降噪的决定研究一下,本次试验场景: 文章中提到了3中主要滤波方法,最后一种方法又有三种方式分别为Conventional geometry-aware ?ltering,Distribution-Aware Filtering,Specular Lobe-Aware Filtering and Upsampling根据公式做了一些,自己弄得除噪方法不知道是否正确,虽然有效果=  =: 博主的步骤:1.    找出噪波(包括噪波与贴图上的细节)2.    算出specular

【翻译自mos文章】找到持有library cache lock session的方法

找到持有library cache lock session的方法 参考自: How to Find which Session is Holding a Particular Library Cache Lock (文档 ID 122793.1) 其实就是两种方法: 一.Systemstate Analysis 此处不做翻译,原文转载 Systemstate event will create a tracefile containing detailed information on eve

Oracle GI 日志收集工具 - TFA 简介

转载自:https://blogs.oracle.com/Database4CN/entry/tfa_collector_%E4%BB%8B%E7%BB%8D 1.TFA的目的: TFA是个11.2版本上推出的用来收集Grid Infrastructure/RAC环境下的诊断日志的工具,它可以用非常简单的命令协助用户收集RAC里的日志,以便进一步进行诊断:TFA是类似diagcollection的一个oracle 集群日志收集器,而且TFA比diagcollection集中和自动化的诊断信息收集

【翻译】JavaScript中5个值得被广泛使用的数组方法

原文地址:http://colintoh.com/blog/5-array-methods-that-you-should-use-today?utm_source=javascriptweekly&utm_medium=email 在2009年十月ECMAScript 5被定义正式规范以来,一些可以提高工作效率的数组方法被提出.但是,由于ES5糟糕的浏览器支持率,这些方法并未被开发者广泛使用. “多余的”数组方法 没有人会质疑这些方法的可用性,但是如果针对它们而编写polyfill(关于pol

【翻译】西川善司「实验做出的游戏图形」「GUILTY GEAR Xrd -SIGN-」中实现的「纯卡通动画的实时3D图形」的秘密,前篇(1)

http://www.4gamer.net/games/216/G021678/20140703095/ 新连载「实验做出的游戏图形」,是聚焦在特定游戏的图形上, 对它的结构和使用的技术解说为主旨.之前笔者连载的「西川善司的3D游戏入迷」,覆盖范围都很广,而与特定游戏强关联的技术解说,会在今后的新连载中处理. 作为纪念的第一回选择的,是Arc System Works开发的,2014年2月在街机上运作的格斗游戏「GUILTY GEAR Xrd -SIGN-」 全3D图形的GUILTY GEAR

【翻译】圣斗士星矢:圣域传说 制作介绍 场景篇

背景布置 这里是背景舞台布置的制作介绍. 圣斗士的发源地[圣域],来看看成为黄金十二宫标准的狮子宫, 以及相对的最异端的存在的巨蟹宫的制作工程吧. 从Pre-production到正式制作 包含破坏模型 140个布景的制作 本作的背景制作是2011年末开始的.到2013年1月由约10名制作了总计140多个的场景(包含丢弃场景总数250多).Concept Work的开始是从2011年中旬,由从OVA[鸦 KARAS](2005? 2007)开始就负责很多さとうけいいち監督作品美术的佐藤肇氏来做美

记忆方法与高速阅读——什么是高速阅读

一,what? 高速阅读,简称快读或速读,就是用比寻常人快几倍,几十倍,甚至上百倍的速读进行阅读,还能获得不亚于传统阅读甚至更好的理解记忆效果的一种阅读方法.寻常说的"一目十行,过目不忘"就是说的这样的方法,它是一种从文本中高速摄取实用信息和知识的一种高效的学习方法和工作方法. 没有经过训练的人,是一种经由大脑甚至嘴巴发音的"复述"式阅读,也就是每一个字,每一个词都要逐个发音,从而在发音中获得理解,而没有发音的字,往往不能理解或理解的非常差.这样的方法的阅读速度一般