这个东西是trace在群里提到的,然后我看了一些相关资源Filtering Approaches for Real-Time Anti-Aliasing(很多sig course好棒好棒)、High Quality Temporal Supersampling、CryENGINE3 Graphics Gems。

在这么多资料(其实是现成代码…)的帮助下,我主要参考CryEngine里的SMAA 1TX山寨了下,UE4的那个有点过于麻烦了。

备忘

  • Unity中矩阵是左乘的,和UE4里相反,所以在对projectionMatrix做jitter的时候要反下
  • UNITY_MATRIX_MVP在之前的post里已提过,这个是卡我最久的地方(╯‵□′)╯︵┻━┻
  • Depth Buffer也在同一个post里提了,这是卡我第二久的地方……
  • OnRenderImage里如果不手动设置RenderTexture.active的话,最好要保证最后对dest调用下Graphics.Blit,不然之后画的就乱七八糟了

其实都是一些API上的东西,搞的我连蒙带猜的…

效果

自我感觉效果还行吧…一开始边缘一直有闪动,慢慢改对代码之后降低了不少,最后就调参数了只能…

Temporal AA:

W/O AA:

Nexus5真机

Temporal AA W/O AA

放大出来还是能看出来的

性能

在Nexus 5上跑了下Shadow Gun Sample Level这个场景,每帧消耗时间大概增加了7ms;从profiler上来看主要是因为用到了Depth Texture,而且看起来不是直接用的ZBuffer导致的(见前文),话说还是Defer大法好-_,-

NVidia在Far Cry 4 Graphics, Performance & Tweaking Guide中有不同AA效果对比;TweakGuides的Crysis 3 Tweak Guide中有一节专门讲Antialiasing,里面有性能图标。后来问了下老大,她意思就是AA还是比较费的,等有性能余地的话才加;而且比较尴尬的是手机屏幕上其实看不太出区别,看来还是要配合动态分辨率+upscale~

Download: Shader Script

Published: February 25 2015

  • Category:
  • Misc 34
  • Tags:
  • Unity 19

Unity中Temporal AA相关推荐

  1. 图形学中的抗锯齿讨论以及在unity中的应用

    抗锯齿(Anti-Aliasing)是图形学中,很重要的一个部分.本文旨在做一些分析总结,并对平时不理解的细节,做了调研,但毕竟不是做GPU行家,所以有不对的地方,欢迎拍砖^^. 1 什么是锯齿 下图 ...

  2. 【Unity】6.1 Unity中的C#脚本基础知识

    分类:Unity.C#.VS2015 创建日期:2016-04-16 一.简介 1.常用的C#数据类型 这里简单介绍用Unity开发游戏时,最常用的一些数据类型. (1)基本类型 int.float. ...

  3. 在Unity中制作高质量的光照效果(上)

    原创: Unity Unity官方平台 本篇专家指南将介绍在Unity中制作高质量光照效果的多种高级方法,其中使用了2D和立方体贴图的光线遮罩,并且利用了Unity高清渲染管线HDRP中的高级着色器. ...

  4. 《Temporal AA , SMAA and MSAA》

    <Temporal AA , SMAA and MSAA> Temporal AA Temporal AA主要是为了修复场景帧率小于运动物体运动速度的锯齿问题,当帧率太低时候,运动的物体就 ...

  5. Unity中的3D数学—02向量与矩阵

    1.向量 1.1 向量的运算 运算 公式 矢量和标量的乘/除法 k v = ( k v x , k v y , k v z ) k\mathbf{v}=(kv_x,kv_y,kv_z) kv=(kvx ...

  6. 用体渲染的方法在Unity中渲染云(18/4/4更新)

    github: https://github.com/yangrc1234/VolumeCloud 更新的内容在底部 最近在知乎上看到一篇文章讲云层的渲染(https://zhuanlan.zhihu ...

  7. 学习在Unity中创建一个动作RPG游戏

    游戏开发变得简单.使用Unity学习C#并创建您自己的动作角色扮演游戏! 你会学到什么 学习C#,一种现代通用的编程语言. 了解Unity中2D发展的能力. 发展强大的和可移植的解决问题的技能. 了解 ...

  8. 学习用C#在Unity中创建一个2D Metroidvania游戏

    学习用C#在Unity中创建一个2D Metroidvania游戏 你会学到: 构建2D Unity游戏 用C#编程 玩家统计,水平提升,米尔和远程攻击 敌方人工智能系统 制定级别和级别选择 Lear ...

  9. 在Unity中制作4种不同的游戏

    流派:电子学习| MP4 |视频:h264,1280×720 |音频:AAC,48.0 KHz 语言:英语+中英文字幕(根据原英文字幕机译更准确)|大小解压后:8.6 GB 含课程素材 |时长:15h ...

最新文章

  1. 机器学习在信道建模中的应用综述
  2. android之实现各个组件点击事件监听
  3. 关于AM335X移植SDIO WIFI的简易教程(转)
  4. maven依赖 spark sql_Spark开发实例
  5. 和“内存杀手” Chrome 说再见!新版 Edge 即将发布
  6. JavaScript入门→HTML引用JS、变量、表达式操作符、数组Array数组对象、选择结构循环结构、函数、JavaScript与JAVA区别
  7. 实战Python:利用Python和PyQt5实现天气查询小系统
  8. c语言中形参和实参的区别
  9. 读书笔记-穿越计算机的迷雾
  10. 【FPGA】基于VGA的图像显示
  11. Python开发的第一步:利用Python开发一个桌面小程序
  12. 2019年年终总结及明年的期望
  13. unlink快速入门
  14. 中秋祝福代码,中秋快乐代码,采用H5制作的中秋动画祝福
  15. 实现模糊查询时对特殊字符进行处理和对查询结果进行处理
  16. python数据分析及可视化
  17. lai kan kan
  18. coreldraw插件编写
  19. MJJ的英语单词字符串
  20. http协议及html文件

热门文章

  1. centos安装mysql初始化没有密码_centos 6 初次安装mysql 的密码初始化登陆问题
  2. HTML基础知识点(2)——常用标签
  3. Python练习:百分制到五级制的转换
  4. 农场管理系统设计与实现php,农场农产品网站的设计与实现(PHP,MySQL)(含录像)
  5. python开发环境有哪些_python编程需要什么环境
  6. php pdo 新建数据库,php – 使用PDO数据库类而不是每次都创建新...
  7. solr php大小写,Solr 学习(6) —- Solr的PHP客户端
  8. 在VsCode里编写和运行不同语言的程序
  9. Java Web实训项目:西蒙购物网(下)
  10. 【BZOJ1483】【codevs2335】【hdu5997】梦幻布丁+加强版,LCA+主席树