最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

植物大戰(zhàn)僵尸北美版使用RGBA32圖像教程

2023-04-29 19:33 作者:萌新迎風(fēng)聽雨  | 我要投稿

前面都是廢話,重點(diǎn)在專欄最后 眾所周知,植物大戰(zhàn)僵尸安卓北美版非常非常非常糊,色帶明顯,玩的時(shí)候就好像我們?cè)谕嫔蟼€(gè)世紀(jì)的游戲一樣。這是因?yàn)橹参锎髴?zhàn)僵尸北美版用到的圖片都是rgba4444/rgb565/rgba5551格式的,而一般的顯示器能顯示rgb888顏色。那么,有沒有什么辦法能在植物大戰(zhàn)僵尸北美版中實(shí)現(xiàn)rgba8888紋理呢? PopStudio編碼ptx圖像時(shí)可以選擇格式為0的ARGB8888格式(BGRA8888),但是一旦使用此格式打包數(shù)據(jù)包,在很多安卓設(shè)備上面就會(huì)出現(xiàn)黑屏的情況,但是在iOS設(shè)備卻不會(huì)有這種情況,植物大戰(zhàn)僵尸iPad版本身也就含有這種格式的圖像。這是為什么呢? 我使用ida對(duì)游戲進(jìn)行了反匯編,看到有兩處邏輯和紋理格式有關(guān),一個(gè)是將group附加給ResStreamsPool的時(shí)候創(chuàng)建空紋理,另一個(gè)是將ptx紋理“上色”到空紋理。這兩處邏輯大量使用OpenGL ES 2.0中的函數(shù),不過在植物大戰(zhàn)僵尸安卓版中這些都是虛函數(shù),沒有直接調(diào)用。這里可以看到調(diào)用glTexImage2D和glTexSubImage2D之前,有一步將ptx紋理格式轉(zhuǎn)為GPU紋理格式的操作,ptx0(BGRA8888)被解釋為GL_BGRA_EXT/GL_BGRA_IMG和GL_Byte,是ext或者img擴(kuò)展,所以必須由硬件支持才可以正常使用這種紋理。也就是說,黑屏的設(shè)備缺少這種硬件支持。 但是如果你了解pvz2,你會(huì)發(fā)現(xiàn)在pvz2安卓版中也有ptx0這種格式,對(duì)應(yīng)的紋理是popstudio中的ABGR8888(其實(shí)是RGBA8888),游戲中可以正常加載。對(duì)其進(jìn)行反匯編,發(fā)現(xiàn)ptx0被解釋為GL_RGBA和GL_Byte。 為什么pvz2安卓版不用BGRA8888而是用RGBA8888呢?這是因?yàn)?,RGBA8888紋理不需要額外的硬件支持,所有支持OpenGL ES 2.0的設(shè)備都支持。 所以我有一個(gè)思路,就是把植物大戰(zhàn)僵尸北美版加載紋理邏輯中的GL_BGRA_EXT換為GL_RGBA,讓植物大戰(zhàn)僵尸北美版可以像pvz2一樣將ptx0解釋為RGBA8888紋理。然后在popstudio中,生成ptx的時(shí)候,勾選設(shè)置中的ABGR8888選項(xiàng)。 對(duì)libpvz.so進(jìn)行如下兩處修改即可,然后使用popstudio打包rsb的時(shí)候勾選設(shè)置中的ARGB8888。 地址:0x3B392C 大小:8字節(jié) 原始數(shù)據(jù):81 3C A0 E3 1F 30 43 E2 修改數(shù)據(jù):19 3C A0 E3 08 30 83 E2 地址:0x3B42DC 大?。?字節(jié) 原始數(shù)據(jù):81 3C A0 E3 1F 30 43 E2 修改數(shù)據(jù):19 3C A0 E3 08 30 83 E2 其他植物大戰(zhàn)僵尸版本請(qǐng)自行根據(jù)本專欄所述原理去修改。

植物大戰(zhàn)僵尸北美版使用RGBA32圖像教程的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
惠安县| 塔城市| 白银市| 北安市| 肥西县| 砚山县| 神农架林区| 九龙城区| 托克逊县| 和林格尔县| 台北县| 峨眉山市| 安远县| 镇赉县| 崇明县| 维西| 揭东县| 靖安县| 阳泉市| 阿瓦提县| 交城县| 靖宇县| 那曲县| 武义县| 且末县| 微山县| 长治市| 满洲里市| 望谟县| 呼玛县| 定安县| 宁远县| 晋州市| 卫辉市| 巩留县| 中西区| 集安市| 平定县| 伊吾县| 平山县| 青田县|