android磨皮
1. Android OpenGLES 瀹炴椂缇庨(纾ㄧ毊)镄勪紭鍖(浜)
鍦ㄥ墠涓绡囨枃绔 Android OpenGLES 瀹炴椂缇庨(纾ㄧ毊)镄勪紭鍖 锛屾垜浠宸茬粡浠嬬粛浜嗗叧浜庡疄镞剁编棰(纾ㄧ毊)镄勪竴浜涗紭鍖栫偣銆备絾鍦ㄥ疄闄呯殑浼桦寲娴嬭瘯涓鍙戠幇锛屽綋澶勭悊鍣ㄥ彂鐑涔嫔悗锛屽氨镞犳硶淇濊瘉棰勮埚抚鐜囦简锛屼富瑕佽缮鏄楂樻柉妯$硦澶勭悊镄勬暟鎹閲忔瘆杈冨ぇ瀵艰嚧銆傚洜姝わ纴鎴戜滑闇瑕佸绘垒鏂扮殑纾ㄧ毊鏂规硶銆
鐩鍓嶅竞闱涓婂叧浜庣(镄鏂规硶链夊ソ澶氱嶏纴浣跨敤PS纾ㄧ毊缁忓父鐢ㄥ埌镄勬柟娉曞寘𨰾楂桦弽宸淇濈暀銆侀珮浣庨戙佷腑镐х伆浠ュ强鍙岀嚎镐х瓑銆傚叾涓涓镐х伆鍜屽弻绾挎х殑鏁堢巼涓鑸锛屽洜姝わ纴鎴戜滑浠庨珮鍙嶅樊淇濈暀銆侀珮浣庨戣繖涓ょ嶆柟娉曚腑阃夋嫨銆傝繖閲岄夋嫨浣跨敤楂桦弽宸淇濈暀娉曞仛纾ㄧ毊澶勭悊锛孭S涓镄勯珮鍙嶅樊淇濈暀娉曡繘琛岀(镄锛岄殢镓嬩竴鎼滀究鑳芥垒鍒板緢澶氭枃绔狅纴姣斿傦细
https://jingyan..com/article/455a99504d568fa1662778d6.html
鎺ヤ笅𨱒ワ纴鎴戜滑灏濊瘯镌瀹炵幇鏂囩珷涓璁插埌镄勮繃绋嬨
鍏充簬楂樻柉妯$硦镄勪紭鍖栵纴鍙浠ュ弬钥冩湰浜虹殑鏂囩珷锛
OpenGLES婊ら暅寮鍙戞眹镐 钬斺 楂樻柉妯$硦瀹炵幇浠ュ强浼桦寲
瀵逛簬浜哄儚杩涜岄珮鏂妯$硦锛屾垜浠璁捐′竴涓11x11镄勯珮鏂绠楀瓙瀵瑰浘镀忚繘琛岄珮鏂妯$硦锛宻hader濡备笅锛
vertex shader :
fragment shader:
缁忚繃浠ヤ笂镄剆hader杩涜岄珮鏂妯$硦澶勭悊涔嫔悗锛屾垜浠寰楀埌杩欐牱涓寮犻珮鏂妯$硦锲惧儚锛
鍦≒S镄勯珮鍙嶅樊淇濈暀纾ㄧ毊鏂规硶涓锛岄珮鍙嶅樊淇濈暀纾ㄧ毊娣峰悎閲囩敤镄勬槸寮哄厜妯″纺锛岃$畻鍏寮忎负锛歝olor = 2 * color1 * color2銆傚洜姝わ纴鎴戜滑璁捐″嚭杩欐牱涓涓楂橀氭护娉㈠櫒锛屽叾shader濡备笅锛
fragment shader:
缁忚繃楂橀氭护娉㈠櫒涔嫔悗锛屾垜浠寰楀埌杩欐牱涓涓绾圭悊锲惧儚锛
鍙浠ョ湅鍒帮纴缁忚繃涓夐氶亾寮哄厜娣峰悎澶勭悊钖庯纴䦅桦嵃銆佽竟娌跨瓑鍦版柟閮芥竻鏅拌捣𨱒ヤ简銆傚己鍏夌殑绋嫔害锛屼竴鑸鏄3镄勫嶆暟锛岃繖閲屽彇24鍊嶃
鍒拌繖涓姝ワ纴鍏跺疄鎴戜滑宸茬粡寰楀埌浜嗛渶瑕佽繃婊ら滆壊鍊硷纴浣嗗湪杩欎竴寮犲浘涓锛屼篃鎶婅竟娌跨殑棰滆壊宸鍊煎寘钖杩涙潵浜嗐傛垜浠鎺ヤ笅𨱒ラ渶瑕佽繃婊ゆ帀杈规部镄勯滆壊宸鍊笺傝繖镙峰湪钖庣画镄勫勭悊涓锛屾垜浠鍙浠ヤ缭鐣栾竟娌跨殑缁呜妭涓嶈妯$硦鎺夈傚洜姝ゆ帴涓嬫潵锛屾垜浠闇瑕佸皢缁忚繃楂橀氭护娉㈠缑鍒扮殑绾圭悊锛屽啀锅氢竴娆¢珮鏂妯$硦銆备笉杩囱繖涓娆′笉鑳11 x11 杩欎箞澶х殑楂樻柉绠楀瓙锛屾垜浠阃夋嫨涓涓 5 x 5 澶у皬镄勯珮鏂绠楀瓙銆傞珮鏂妯$硦镄剆hader 濡备笅锛
vertex shader:
fragment shader:
灏嗛珮阃氭护娉㈠櫒寰楀埌镄勭汗鐞嗭纴缁忚繃楂樻柉妯$硦澶勭悊钖庯纴寰楀埌杩欐牱涓寮犵汗鐞嗭细
瀵规瘆楂橀氭护娉㈠櫒澶勭悊钖庣殑绾圭悊锛岃竟娌跨粏鑺傚彉寰楁ā绯娄简锛岃屼笖锛岄渶瑕佽繃婊ょ殑棰滆壊宸鍊间粛镞т缭鐣欑潃銆傚埌杩欎竴姝ワ纴鎴戜滑灏卞缑鍒颁简锅氱(镄澶勭悊镄勫墠缃绾圭悊銆傛帴涓嬫潵灏辨槸楂桦弽宸淇濈暀纾ㄧ毊镄勬渶钖庝篃鏄链閲嶈佺殑涓姝ャ
缁忚繃鍓嶉溃镄勫勭悊锛屾垜浠寰楀埌涓寮犺緭鍏ュ浘鐗囩殑楂樻柉妯$硦绾圭悊锛屼互鍙娄竴寮犻珮鍙嶅樊淇濈暀镄勯珮鏂妯$硦绾圭悊銆傛垜浠浣跨敤杩欎袱寮犵汗鐞嗭纴阃氲繃姣旇缉钃濊壊阃氶亾锛岃$畻鍑洪渶瑕佺(镄镄勫疄闄呭己搴﹀硷纴涓庡师锲捐繘琛屾贩钖埚勭悊锛岀劧钖庤緭鍑烘渶缁堢殑绾圭悊銆俿hader濡备笅镓绀猴细
缁忚繃涓婇溃镄勫勭悊涔嫔悗锛屾垜浠灏卞缑鍒扮(镄澶勭悊镄勭粨鏋滃备笅锛
鍙浠ョ湅鍒帮纴缁忚繃楂桦弽宸淇濈暀纾ㄧ毊钖庣殑缁撴灉锛岀(镄鏁堟灉杩树笉阌欙纴钥屼笖720P纾ㄧ毊澶勭悊镞讹纴鍦ㄩ珮阃氶獊榫625澶勭悊鍣ㄤ笂锛岀粡杩囬珮鍙嶅樊淇濈暀纾ㄧ毊涔嫔悗锛岄勮埚抚鐜囱兘澶熶缭鎸佸湪30FPS宸﹀彸銆傛垜浠鍙浠ョ湅鍒帮纴杈规部缁呜妭杩樻槸涓嶅熸槑鏄撅纴镓浠ワ纴鎴戜滑鍙浠ヤ娇鐢║SM阌愬寲澧炲己杈规部缁呜妭閮ㄥ垎銆傝繖绡囨枃绔犲氨涓嶈茶ВUSM阌愬寲镄勫疄鐜颁简銆
璇︾粏瀹炵幇杩囩▼锛屽彲浠ュ弬钥冩湰浜虹殑寮婧愮浉链洪”鐩锛
CainCamera
CainCamera镄凢ilterLibrary涓链夌粡杩囦紭鍖栧悗镄勫疄镞剁编棰(纾ㄧ毊)瀹炵幇銆