Particle做为游戏表现的一大手段,对整个画面的提升有很大的作用,Particle越多让玩家觉得场景越丰富,但是随之而来的是对性能的严重吞噬,如果提升Particle是一个大的Title,这里介绍一下在不损失质量的前提下如果大幅降低像素填充的方法。

大多的Particle都是用AlphaBlend的方法进行绘制的,这意味着Particle本身面片的Z不会像不透明物体那样会有depth test来帮助Cull掉不必要的像素,因为Particle是透明的无法用Depth Cull掉OverDraw的像素。像素填充往往是Particle的一大瓶颈,仔细观察这些贴图会发现,贴图里的很多像素没有任何贡献,也就是说AlphaBlend的时候贴图的alpha是黑的,对最后画面没有任何贡献。

那么如何才能把这些像素给优化掉么?Humus在他的Blog里给处理具体方法并将其命名为"Particle Trimming",Humus的方法非常直截了当,Offline的分析Particle贴图的Alphat通道,通过增加顶点的方法来减少像素的数目(如下图),从下面的数据可以看出,居然最后可以节省一半的像素填充,这是极好的:)

Original: 100%

Aligned rect: 69.23%

Optimized 3 verts: 70.66%

Optimized 4 verts: 60.16%

Optimized 5 verts: 55.60%

Optimized 6 verts: 53.94%

Optimized 7 verts: 52.31%

Optimized 8 verts: 51.90%

详细信息可以参考Humus的原始链接

http://www.humus.name/index.php?ID=266

Particle Trimming相关推荐

  1. 正当防卫2 渲染技术

    引用:http://blog.csdn.net/ccanan/article/details/7935183 http://www.humus.name/Articles/Persson_Creati ...

  2. [sig12]《正当防卫2》的渲染技术1

    http://www.humus.name/Articles/Persson_CreatingVastGameWorlds.pptx http://www.humus.name/Articles/Pe ...

  3. 2018/8/30-31 A social learning particle swarm optimization for scalable optimization.

    信息:  2015年    Informatica science 题目: A social learning particle swarm optimization for  scalable op ...

  4. Cesium中级教程9 - Advanced Particle System Effects 高级粒子系统效应

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ 要了解粒子系统的基础知识,请参见粒子系统入门教程. Weathe ...

  5. 【控制】粒子群优化(PSO,Particle Swarm Optimization)算法及 Matlab 仿真实现

    文章目录 定义 对比模拟捕食 通俗解释 粒子抽象 关于速度和位置 速度和位置的更新 标准PSO算法流程 标准PSO算法的流程 PSO流程图解 学习因子 c1.c2c_1.c_2c1​.c2​ 分析 仿 ...

  6. spring cloud云服务架构 - particle云架构代码结构讲解

    上一篇我们介绍了spring cloud云服务架构 - particle云架构代码结构,简单的按照几个大的部分去构建代码模块,让我们来回顾一下: 第一部分: 针对于普通服务的基础框架封装(entity ...

  7. OpenGL Compute Shader Particle System计算着色器粒子系统的实例

    OpenGL Compute Shader Particle System计算着色器粒子系统 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include &l ...

  8. 高斯粒子滤波matlab,粒子滤波(Particle filter)matlab实现 | 学步园

    粒子滤波是以贝叶斯推理和重要性采样为基本框架的.因此,想要掌握粒子滤波,对于上述两个基本内容必须有一个初步的了解.贝叶斯公式非常perfect,但是在实际问题中,由于变量维数很高,被积函数很难积分,常 ...

  9. HALCON示例程序particle.hdev测量小圆部分

    HALCON示例程序particle.hdev测量小圆部分 示例程序源码(加注释) 关于显示类函数解释 dev_update_off () dev_close_window () dev_open_w ...

  10. ae插件Particle Projection for Mac(AE粒子投影插件)

    Particle Projection是一个强大的AE插件,用于生成通过使用置换层投影的复杂粒子阵列.粒子投影可以以令人难以置信的细节水平创造令人惊叹和独特的生成效果. 粒子投影的操作方式是生成粒子阵 ...

最新文章

  1. Perforce使用之创建DEPOT流程
  2. linux docker 限制容器可用内存
  3. StoreFront web 无法启动指定的应用
  4. python 3的33个保留字列表_python 33个保留字是什么意思
  5. H.264句法和语法总结 句法元素的分层结构
  6. php 二维数组排序函数,php自定义函数实现二维数组排序功能
  7. Android 功耗(9)---MTK功耗基础知识
  8. HPC在石油勘探行业正面临三大考验
  9. 【数论】Concatenated Multiples【codeforces-Round #506-div3-D】
  10. Xshell官网登陆及软件下载,以及百度网盘免费提速
  11. win7计算机无法右键,win7系统电脑右键菜单失灵无法弹出的解决方法
  12. 【活动更新】第一届Openbravo社区早餐会将与5/28在上海举办
  13. 大亚湾国土资源数据库异地容灾备份采购项目
  14. [imx6 VPU]硬解码+示例[ffmpeg获取海康rtsp h264流 QT显示]
  15. 什么是 Linux ?什么是操作系统
  16. Nvidia30系显卡+Windows系统的CUDA 11安装100%成功教程
  17. 漂洋过海去学习,一文读懂程序员如何从初级升级到高级
  18. 操作系统——并发相关问题
  19. 特解的一万种考虑方法
  20. Sentinel流控效果—Warm Up

热门文章

  1. Xposed插件Android.EagleEye
  2. nginx url中带中文不能访问
  3. java中exec命令,关于进程:Java exec linux命令
  4. gcc O3和O0编译的输出浮点数不相同
  5. echart实现地球外环绕卫星效果
  6. 获取ie窗口的IHTMLDocument2对象
  7. 产品策划到底是做什么的?
  8. Snaker-designer插件Eclipse安装
  9. 强烈推荐几款IDEA插件,12款小白神器
  10. hr标签和注释的总结