贴图信息[gdc13]Particle Shadows & Cache-Efficient Post-Processing

这段时间一直在学习贴图信息之类的问题,上午正好有机会和大家讨论一下.

    贴图信息[gdc13]Particle Shadows & Cache-Efficient Post-Processing_第1张图片

    Particle Shadows

    这里particle shadow已不是之前的sc2和crysis里头的particle投到畸形场景面上的translucency shadow了:

    应用似类LightPropagationVolume的做法,只不过是把indirect lighting信息换成了transmittance信息。

    

  • 以voxel的式方(也就是3d texture)存储particle transmittance,填充程过应用到geometry shader
  • 顺着light dir方向停止扩散(应用compute shader算计)
  • sample

    

一些化优:
    每日一道理
喜欢海,不管湛蓝或是光灿,不管平静或是波涛汹涌,那起伏荡漾的,那丝丝的波动;喜欢听海的声音,不管是浪击礁石,或是浪涛翻滚,那轻柔的,那澎湃的;喜欢看海,不管心情是舒畅的或是沉闷的,不管天气是晴朗的或是阴沉的,那舒心的,那松弛的……

    

  • 加一个低分辨率(8x8)的coverage mask,这样一些完整空的方地就能够跳过算计
  • 应用tesselation,在domain shader这里停止particle shadow map的sample,domain shader这里精度是比在pixel shader阶段的要低,算是一个low resolution算计的变种了,不过更加然自了
CacheEfficientPostProcessing

    

围绕着spatial locality来做文章,思绪很棒,畸形带着kernel sample screen space texture的做法(ssao,ss reflection...),常经常使用一个不规则kernel(poison filter...),这样就会让cache率效很差。

    

nv采取把用于sample的贴图,以这类式方:

    

贴图信息[gdc13]Particle Shadows & Cache-Efficient Post-Processing_第2张图片

    

,拆成分多几个,然后在sample的时候(应用texture array),一个kernel就在一同张贴图面上采,cache率效就好太多了:2.3x

    

贴图信息[gdc13]Particle Shadows & Cache-Efficient Post-Processing_第3张图片

    


    sum
几个术技就是都用到了dx11,算是一个推广dx11力努吧,geometry shader, tessellation(domain shader), compute shader, texture array...

    

文章结束给大家分享下程序员的一些笑话语录: 腾讯总舵主马化腾,有人曾经戏称如果在Z国选举总统,马化腾一定当选,因为只要QQ来一个弹窗”投马总,送Q币”即可。

你可能感兴趣的:(process)