市面上大部分的手机游戏,水面都比较粗糙,也基本没发现谁做过水深的处理.

水深的处理在PC平台比较容易,因为很容易获得每个像素的深度,比如G-Buffer,有了像素的深度,就能计算出每个像素到水面的距离,实现水深alpha渐变.

但是在移动平台,又是万恶的浮点纹理...导致此方案不行.

但是方案都是人想出来的,我想了两种适合移动平台的方案

方案1:用水面顶点颜色保存alpha值来做水深渐变.

这种方案,要求水面的模型面片是格子的,就像地形网格一样,格子越密,alpha的精度才越高.

方案2:用贴图实现像素级的alpha深度.

这种方案,适合2个三角形面片的水面,对水面贴图有要求,一般的手游的场景比较小,512*512应该足够了.

我选择的是方案2. 因为我还要对水流方向做处理.

水流方向的处理和水深合并用一张flowmap来存储.

r ,g通道作为x, z方向,a作为alpha值.这样可实现像素级的流动方向和水深渐变.就可以做出漂亮的河流了.只有静态图:

最新文章

  1. POCO Controller 你这么厉害,ASP.NET vNext 知道吗?
  2. MonoGame 3.2 下,截屏与 Texture2D 的保存
  3. Kafka简介
  4. 以全局监听的方式处理img的error事件
  5. SQL高级查询——50句查询(含答案)
  6. JDBC用ResultSet访问大量数据时会遇到的问题
  7. Android:AlertDialog对话框
  8. 实例源码--Android手机狗(防盗)源码
  9. 关于写blog这件事
  10. POJ 1062 昂贵的聘礼 解题报告
  11. 12个Icon图标资源网站
  12. checkbox全选、全不选实现
  13. 基于HTTP头部的注入
  14. [翻译] .NET Core 2.1 发布
  15. kettle Spoon.bat运行闪退
  16. 【转】解决Win7字体模糊不清晰的最佳办法
  17. python之递归锁【Rlock】
  18. C的Define
  19. 详解Tensorflow数据读取有三种方式(next_batch)
  20. MC34063A development aid

热门文章

  1. PHP序列化serialize()和反序列化unserialize()
  2. MySQL-MMM方案
  3. 洛谷【P1052】过河
  4. C# ArcFace 免费人脸识别 2.0 demo
  5. sqoop导入数据到hive表中的相关操作
  6. sqoop 常用命令集
  7. text-align与vertical-align属性的区别
  8. 在PHP中,是以分好结束一条语句的吗
  9. 4. 基本socket函数
  10. Java访问控制