虽然实时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
 
论文的相关网址
 
另外,个人还是想做一个GPGPU烘培的项目试试看,如果有谁已经实现了,或者有兴趣或问题也欢迎来讨论和指导。

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

  1. Oracle GI 日志收集工具 - TFA

    1.TFA的目的: TFA是个11.2版本上推出的用来收集Grid Infrastructure/RAC环境下的诊断日志的工具,它可以用非常简单的命令协助用户收集RAC里的日志,以便进一步进行诊断:T ...

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

    看到SE的技术文档关于降噪的决定研究一下,本次试验场景: 文章中提到了3中主要滤波方法,最后一种方法又有三种方式分别为Conventional geometry-aware filtering,Dist ...

  3. [翻译]编写高性能 .NET 代码 第一章:性能测试与工具 -- 平均值 vs 百分比

    <<返回目录 平均值 vs 百分比 在考虑要性能测试的目标值时,我们需要考虑用什么统计口径.大多数人都会首选平均值,但在大多数情况下,这个正确的,但你也应该适当的考虑百分数.但你有可用性的 ...

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

    文章不小心删了~这是我以前写的文章了了.实用性较强,所以现在补回来! 安装完kali之后,需要对软件进行一次整体更新:apt-get update & apt-get upgrade 但是,先 ...

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

    原文地址:http://colintoh.com/blog/5-array-methods-that-you-should-use-today?utm_source=javascriptweekly& ...

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

    转载自:https://blogs.oracle.com/Database4CN/entry/tfa_collector_%E4%BB%8B%E7%BB%8D 1.TFA的目的: TFA是个11.2版 ...

  7. 高速下载百度网盘的方法,只需要一个软件【win/mac/linux】

    论坛里差不多全部都是用百度云的,但是官方百度云的限速,大家都懂的,下面教大家使用一个软件满速下载,不用油猴 1,软件支持mac,win64/32,linux.Linux只有自己编译使用,我也不会哈哈哈 ...

  8. IT这一行,如可高速下载国外资源之迅雷设置免费SSH代理下载国外资源

    本文转自SUN'S BLOG 原文地址:IT这一行,如可高速下载国外资源之迅雷 我们这些做IT这一行的人,经常,下载一些国外的一些资源,可是让人蛋碎的是,往往这些资源下载都慢的像蜗牛,真的让人无法忍受 ...

  9. 桌面每日一句--桌面翻译工具(有道翻译,微软翻译,Google翻译)

    现在的翻译软件功能越来越多,也越来越臃肿,还不时弹广告,真的很烦恼. 鉴于这种情况,自己做了个翻译软件,能满足日常需求就好了.需要用的时候可以直接在桌面输入单词翻译,或者直接使用快捷键呼出翻译窗口.最 ...

随机推荐

  1. 源码安装mysql-5.6.32.tar.gz

    http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.32.tar.gz 安装依赖包: #yum install wget bison gcc gcc-c ...

  2. ***mysql中经度纬度字段用什么存储(关于mysql的float和decimal区别)

    float,decimal精确度比较   float,double容易产生误差,对精确度要求比较高时,建议使用decimal来存,decimal在mysql内存是以字符串存储的, 用于定义货币要求精确 ...

  3. 把notepad++设置为系统全局文本默认打开应用

    notepad++: 设置-->首选项-->文件关联->customize: 可以设置的常见默认打开文件后缀格式有:.log,.txt,.ini,.h,.c,.cpp,.java,. ...

  4. Maven跳过test打包

    1. cd到当前目录 2. mvn install -Dmaven.test.skip=true   参考:http://blog.csdn.net/symgdwyh/article/details/ ...

  5. Linux 串口编程(转)

    无论那种操作方式,一般都通过四个步骤来完成: (1) 打开串口 (2) 配置串口 (3) 读写串口 (4) 关闭串口 转自

  6. POJ 2482 Stars in Your Window 线段树扫描线

    Stars in Your Window   Description Fleeting time does not blur my memory of you. Can it really be 4 ...

  7. BestCoder 1st Anniversary B.Hidden String DFS

    B. Hidden String Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://bestcoder.hdu.edu.cn/contests/co ...

  8. SQL Server:在事务中回滚TRUNCATE操作

    我们一般都认为TRUNCATE是一种不可回滚的操作,它会删除表中的所有数据以及重置Identity列. 如果你在事务中进行TRUNCATE操作,就能回滚.反之,它就不会从日志文件文件恢复数据.它不会在 ...

  9. 织梦按栏目id读取banner图

    <div class="pic"> <div class="banner"> {dede:type} <div><a ...

  10. 用SQL语句添加删除修改字段

    1.增加字段     alter table docdsp     add dspcodechar(200)2.删除字段     ALTER TABLE table_NAME DROP COLUMNc ...