在海盜王3.0客戶都升級64位dx9版本的過程中,因為特效的問題,被卡殼了很久。
開始是精靈草的粒子效果、白銀城的煙囪煙霧效果、篝火的效果、陽光透射效果、海浪效果等,修了很長的時間,才找到竅門弄好。
然后是精靈效果、角色陰影。這個也折騰了很久,試錯了無數次才搞好。特別角色陰影問題,是著色器有問題,但是怎么改都不正確,沒辦法,只能改用另外一種方法更耗時的方法來渲染。
最后是傷害特效,滿屏都是黑色框框,傷害數字嚴重花屏變形。反復改來改去也是不行,中間還徹底改壞了一次,不得不恢復到舊版本繼續改。
今天中午休息的時候,思來想去,終于判斷出問題的所在,是紋理的問題。經過跟蹤調試,找到修改點,重新修改了一遍代碼,終于把問題成功解決了。
至此,基本問題都已經全部修改完成,正常游戲是沒問題了。
剩下的就是修補一些程序兼容問題了。
總結這段時間的修改歷程,經歷過太多太多的困難,屢次想放棄。沒有任何人能請教,所有的問題只能靠自己硬磕。能堅持到現在,也是純粹興趣和運氣使然,要不是當初修改lua是有意無意改正常了,估計到現在也是殘品一個。
這是直接從3.0原版改過來的,使用vs2022編譯,因此之前的所有服務端和lua等資源文件,都完美保留和兼容,能和32位的dx8版本共存互通的。
看了國內現在開著的那些3.0以上的版本,幾乎都還是停留在使用vs2003的庫dll,能升級到vs2022版本的還很少見,因此更不可能升級到dx9的64位了。
dx9的64位客戶端帶來的好處就是沒有內存憂慮癥,想載入多少資源就載入多少資源,不會再被卡殼在1.3G內存上,不會崩潰報錯。
被大量的怪物圍攻,特效和傷害依然顯示正常:
角色陰影,精靈特效顯示正常: