修复手游漫威超级战争中的渲染小问题

修复手游漫威超级战争中的渲染小问题

首页体育竞技漫威超级战争3.11.5更新时间:2024-04-15

漫威超级战争是由网易游戏与漫威联合开发,经过三年打造的漫威首款MOBA手游。今天在试玩时在我的手机Vivo Y77上竟然发现了一个小小的Bug. 英雄索尔的披风感觉光照计算有错误。

索尔披风会闪烁

于是就使用Renderdoc截取这帧看看问题会在哪里, 整个RenderPass,有两个地方涉及到披风的Drawcall,一个用来绘制ShadowMap, 另外一个是绘制Color。

ShadowMap

下面这个Drawcall是用来绘制披风,这个模型相当复杂,有27672个顶点。

Cloak

遇到这样的问题,肯定需要找到他的VS和FS。

VS 输出定义

看到输出的变量类型为mediump类型,但是最终赋值的时候却是由highp类型赋值给它。

VS中赋值

出于好奇,尝试将v_light_proj_pos_定义为高精度,再次refresh一下。奇迹竟然发生了。披风上的摩尔纹竟然消失了。

显示正常的披风

再返回过去看开始的显示错误,感觉有点像超采样的摩尔纹。继续去看FS,发现VS中定义这个值后来被用来做纹理采样。

FS 中纹理采样

也不是很清楚这个FS中具体的算法,但是根据以往经验通常光源的位置一般建议使用高精度来定义。但是奇怪的是,同样版本的APK,我在三星手机的Mali GPU上竟然没有出现。不知道哪位大佬能够解释下?

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved