Crytek图形三巨头NickolayKasyan, NicolasSchulz, TiagoSousa 轮番轰炸,73页的一个ppt。

link:http://advances.realtimerendering.com/s2011/SousaSchulzKazyan%20-%20CryEngine%203%20Rendering%20Secrets%20((Siggraph%202011%20Advances%20in%20Real-Time%20Rendering%20Course).ppt

SlimGBuffer

  • ARGB8 for world_space_normal & glossness
  • D24S8 for depth buffer
  • 2xARGB18F做Diffuse&Specular
  • ARGB16F做scene render target
CoverageBuffer
使用类类似dice的方法,不过dice是纯在cpu端construct low res depth buffer,crytek是从cpu端把depth读回来。
然后对物件的AABB或者OBB做rasterization,进而和low res depth buffer做比较看可视性。
resolution的对比是:
1080P的depth buffer会down scale到256*128
rasterizer bounding box是在另一个线程里做的。
pc上有大约4帧的延迟。
比较酷,效果各种好,但是要一个额外线程做。
室内外的ambient
这里是处理室内室外不同ambient的情况,比如这样:
做的方法是当deferredlighting来做,可以:
  • 用stencil标tag
  • 画全屏quad(室外),bounding box(室内)
EnvironmentProbe
采用artist摆probe的方法,这里对到底存了什么东西在这个probe没太说清楚,猜测就是cube map,然后画model的时候当environment map读取。
不过它里面提到了specular cube map和spherical light volume,不太清楚什么情况,beyond3d上求助ing。
不同probe之间使用linear blending,这个倒是比较常用的了。
各种上流光照:
里面各种缩写相当欠扁,crysis2缩写成c2。。。
  • GI----light propagation volume
  • SSDO
  • real time local reflection(RLR)
  • normalized blinn phong模型
  • 直接光照的render基于光在屏幕上的覆盖率,有
    • fullscreen quad with stencil volumes
    • convex light volume
    • 2d quad
只这一页就秒杀游戏无数。。。
DeferredShadows
对于阳光的shadow,有做shadow mask,全黑的地方就可以直接跳过light shading。
使用cascaded shadow map,里面用的一些名词说的不太清楚,
csm里面的shadow cascade分布是核心问题,crytek使用logarithmic texel density distribution,也就是尽量保证shadow map texel到screen space pixel mapping的比率随着cascade的增加一步步1/2这样的减少。
shadow frustum是使用保守的方式来包camera frustum,激进方式会导致camera在不同方向shadow的texel distribution不一样,shadow质量一会高一会低,这样也不好。
shadow map texel snap,这个很早就提了,frustum在变的时候是以texel为单位,就不会有shadow的锯齿在camera缓慢移动的时候慢慢走的artifact了。
可能接受阴影的地方在stencil buffer中标记出来,这样有助于有更好的cascade划分。
shadow cascade caching:也就是有些cascade几帧才update一次。
最远的cascade使用vsm,来获得非常大的半影区。
point light shadow:
使用6个方向的shadow map来做,使用texture atlas来减少memory fragmentation。
会受光的地方同样使用stencil标记。
soft shadow approximation
这张阴影图帅爆了:
图中可见,这个是近处的shadow半影区小,远处的大,属于percentage closer soft shadow。
crytek使用poison pcf还带在shadow space随机旋转的kernel。
半影区的设定和percentage closer soft shadow基本一样,基于kernal内sample点的平均距离,决定舍弃多少。
transparency shadow map,使用8bit的render target来accumulate alpha value。
real time local reflection
没什么太多好说的,屏幕空间ray tracing,该gloss的地方gloss。
基本上主要是gloss的地方比较适用,清晰反射的地方会受限于screen space很多信息不全,bug不可避免。
contact shadow map
也就是ssdo,直接看ssdo的论文吧。
ssdo的效果显著的高于ssao,在screen space里面完成。
screen space subsurface scattering
在screen space对diffuse lighting(accumulated)做scattering。
screen space self-shadowing
screen space里做一些ray casting(在lighting的方向),这,也,太,猛,了,从来没想过,效果很不错:
crytek的理论和trick能力。。。服了
SoftAlphaTest
典型处理的问题就是头发的问题了,需要额外的一个pass,在screen space做tangent方向的blur。
这里dof,motion blur(说了好多遍了)和3d(不感兴趣)的部分跳过。
bonus
一些额外的分享:
  • hdr+linear space lighting非常重要,两者结合的画质提升非常明显
  • shadow acne是指图中一层层感觉这部分的bug:
    • 起因:
      • low shadow texel density
      • depth buffer的精度不够
    • 几个解决方案
      • sunlighting: front face render+slope depth bias
      • point lighting:back face rendering
      • variance shadow map: render both faces

[siggraph2011]Secrets of CryENGINE 3 Graphics Technology相关推荐

  1. Image-based Lighting approaches and parallax-corrected cubemap

    Image-based Lighting approaches and parallax-corrected cubemap SEPTEMBER 29, 2012 25 COMMENTS Versio ...

  2. Unity Shader深度相关知识总结与效果实现

    鸣谢:puppet_master (VIA CSDN)贡献此文 前言 前言废话依旧比较多,感觉我是个写游戏体验评测的,233.最近想起了<恶灵附身>这款游戏的几个效果: <恶灵附身& ...

  3. Cubemaps相关

    使用 Cubmap 可以模拟出环境的反射,预先将环境渲染到 Cubmap 中,从而避免在游戏运行时对环境的实时反射产生的消耗,而且这样做表现效果也非常好.在一些户外环境尤其适用,比如说车身反射外部的环 ...

  4. History of CAD ——Autodesk and AutoCAD

    By David Weisberg Autodesk as a company, has gone through several distinct phases of life. There wer ...

  5. FCC-函数式编程:使用 reduce 方法分析数据

    函数式编程:使用 reduce 方法分析数据 watchList变量中包含一组存有多部电影信息对象.使用reduce查找由 Christopher Nolan 导演的电影directed by Chr ...

  6. 利用媒体云实现差异化

    执行概要 \\ 云服务提供商(CSP)正面临着直播视频流.虚拟桌面基础设施(virtual desktopinfrastructure, VDI).云游戏.媒体分析和基于云的增强现实和虚拟现实等媒体服 ...

  7. KSP RSS bonk 希望各大大佬幫助一下

    錯誤日誌: Unity Player [version: Unity 5.4.0p4_b15b5ae035b7] mono.dll caused an Access Violation (0xc000 ...

  8. 2019 siggraph_观看SIGGRAPH 2019的Unity图形会议

    2019 siggraph If you weren't able to attend SIGGRAPH this year or missed one of our presentations in ...

  9. CrossFire和SLI

    CrossFire和SLI 最近显卡方面技术不断更新,最热门的技术有ATI的交火技术和NVIDIA的SLI技术,下面是这些技术的介绍: What Is ATI CrossFireX™ ATI Cros ...

最新文章

  1. nodejs mysql 异步_Gearman + Nodejs + MySQL UDF异步实现 MySQL 到 Redis 的数据同步
  2. python必背内容-【经验分享】学Python必背的初级单词
  3. python单链表操作_单链表的创建、增删改查等操作(Python实现)
  4. 一种基于游戏引擎的AR模式探讨(下)
  5. 14 张Python数据科学速查表
  6. Nginx 反向代理 websocket 协议
  7. 使用ADF BC管理保存点
  8. 一道面试题:三个线程循环有序输出10次ABCABC...
  9. 洛谷 P3375 【模板】KMP字符串匹配
  10. 相对客观的权重计算方法——熵权法
  11. 中国省份-市级城市数组
  12. comsol APP开发基础功能应用
  13. C/C++线程与多线程工作笔记002---C++中的LPVOID类型
  14. 国际新闻|PostgreSQL 14.3、13.7、12.11、11.16 和 10.21 发布
  15. 微信企业号开发—发送消息
  16. Qt例程-Qt中使用CAD插件
  17. CocosCreator接入穿山甲广告2-插屏广告
  18. 【渝粤题库】国家开放大学2021春1025保险学概论题目
  19. 科研写作之Origin使用心得
  20. HTTP请求/响应报文头部结构

热门文章

  1. Python批量获取基金数据
  2. 原创 | 连面拼多多、美团、头条、快手后给大家划下重点
  3. 大数据——Redshift通过UDF函数实现金融业XIRR函数
  4. mkv文件怎么转换成mp4?来看看这四种转换方式吧!
  5. jupyter常用快捷键一览
  6. 女人永远不知道的十件事!
  7. 作为一个自动化本科生到底应该学些什么(讲讲个人经历和感受)
  8. usb转串口驱动ch341安装及安装后无效的处理办法
  9. 射雕英雄传ol显示服务器断开,射雕OL边移动边攻击,告别站桩输出
  10. SQL查询结果只取一条