几天前在github上发现了0.9.9.1029的反编译,我根据其中的PoolEffect类用vulkan写了个泳池的渲染器,源代码写得太烂就不发出来了
左侧为渲染器画面,右侧为游戏画面


在3d加速关闭时,泳池会直接使用静态图片images/pool.jpg
开启3d加速时,泳池主要由3层组成,白天的泳池还会有一层闪光的粒子
从下到上分别是base,shading,caustic,sparkly
在前三层中,游戏会将泳池切成15x5个网格,然后在cpu上运行类似于顶点着色器的程序,偏移每个顶点的uv,最后使用网格渲染图片
在最后一层中,游戏会在两个矩形区域内绘制多个particles/PoolSparkly.png,每个粒子在0.2~0.8秒或0.2~0.6秒内以0~5或0~10的速度向左移动,并以0~2的速度向上或向下移动,我写的这个跟原版游戏不太一样,不过看着没什么太大的问题
渲染器(度盘):
s/1eG78ZDuzQ8h0YOXdlEOqLA?pwd=pool
提取码: pool
每层的具体细节之后再发
左侧为渲染器画面,右侧为游戏画面


在3d加速关闭时,泳池会直接使用静态图片images/pool.jpg
开启3d加速时,泳池主要由3层组成,白天的泳池还会有一层闪光的粒子
从下到上分别是base,shading,caustic,sparkly
在前三层中,游戏会将泳池切成15x5个网格,然后在cpu上运行类似于顶点着色器的程序,偏移每个顶点的uv,最后使用网格渲染图片
在最后一层中,游戏会在两个矩形区域内绘制多个particles/PoolSparkly.png,每个粒子在0.2~0.8秒或0.2~0.6秒内以0~5或0~10的速度向左移动,并以0~2的速度向上或向下移动,我写的这个跟原版游戏不太一样,不过看着没什么太大的问题
渲染器(度盘):
s/1eG78ZDuzQ8h0YOXdlEOqLA?pwd=pool
提取码: pool
每层的具体细节之后再发