在看了《如何優(yōu)雅地實(shí)現(xiàn)一個(gè)分屏濾鏡》后,就想用Metal學(xué)習(xí)著也實(shí)現(xiàn)一次,博主是使用GLSL去實(shí)現(xiàn)。Metal著色器的實(shí)現(xiàn)其實(shí)跟GLSL里面的實(shí)現(xiàn)一樣,沒什么差別。 一、靜態(tài)...
在看了《如何優(yōu)雅地實(shí)現(xiàn)一個(gè)分屏濾鏡》后,就想用Metal學(xué)習(xí)著也實(shí)現(xiàn)一次,博主是使用GLSL去實(shí)現(xiàn)。Metal著色器的實(shí)現(xiàn)其實(shí)跟GLSL里面的實(shí)現(xiàn)一樣,沒什么差別。 一、靜態(tài)...
在上一篇(視頻播放)中,如果放入的視頻不是16:9, 會(huì)發(fā)現(xiàn)圖像的形狀會(huì)被拉伸,要解決這個(gè)問題只需要修改頂點(diǎn)數(shù)據(jù)就可以了。 上代碼 經(jīng)過轉(zhuǎn)換之后,就可以正常的顯示圖像,如下:...
最近學(xué)習(xí)Metal在想,想著使用Metal渲染視頻。于是有了想法 1. 使用AVAssetReader讀取數(shù)據(jù) 在GPUImage3的Inputs/MovieInput.sw...
上一篇學(xué)習(xí)了Base里面的幾個(gè)文件。今天我學(xué)習(xí)一下OutPuts里面的幾個(gè)文件。 1. RenderView 首先先來看下能將紋理展示到手機(jī)屏幕上的文件RenderView ...
因?yàn)樽钚略趯W(xué)習(xí)Metal,所以就去看了一下GPUImage3,之前的2個(gè)版本都是基于openGL ES,到了GPUImage3就改成了基于Metal的實(shí)現(xiàn)。 我們現(xiàn)在就開始來...
1.MTLDevice 一個(gè)MTLDevice對(duì)象可以代表一個(gè)執(zhí)行指令的GPUMTLDevice 協(xié)議提供了查詢?cè)O(shè)備,創(chuàng)建Metal其他對(duì)象的方法(MTLCommandQue...
在說Copy之前,我們需要了解copy的目的的是什么? Copy目的其實(shí)就是產(chǎn)生一個(gè)副本對(duì)象,副本對(duì)象跟源對(duì)象互相不影響修改源對(duì)象,不會(huì)影響副本對(duì)象修改副本對(duì)象,不會(huì)影響源對(duì)...
提問:1.什么是Tagged Pointer?2.為什么要引進(jìn)Tagged Pointe?3.Tagged Pointer有什么優(yōu)勢(shì)? 前言:蘋果從64bit開始,iOS就引...
前言:NSObject很多源碼是公開的,可以下載源碼查看一些方法的實(shí)現(xiàn) 廢話不多說,直接上源碼: 我們可以發(fā)現(xiàn)isMemberOfClass,isKindOfClass的區(qū)別...
用于記錄我的學(xué)習(xí),持續(xù)更新 Container 官方解釋:一個(gè)擁有繪制、定位、調(diào)整大小的 widget。 這是比較常用的一個(gè)基礎(chǔ)組件,我這里就記錄一下decoration(裝...
在項(xiàng)目中不免會(huì)用到開源組件,F(xiàn)lutter也有對(duì)三方開源組件的依賴 在pubspec.yaml文件中就可以設(shè)置Flutter對(duì)于第三方組件的統(tǒng)一管理,類似于iOS中的Coco...
前言Flutter是谷歌的移動(dòng)UI框架,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面。 Flutter可以與現(xiàn)有的代碼一起工作。在全世界,F(xiàn)lutter正在被越...
通過前篇知道了,消息發(fā)送最后會(huì)來到這里。整體實(shí)現(xiàn)是下面這樣: 1.首先主要看這一段 流程:1.先在當(dāng)前類緩存中查找, 沒有找到則去當(dāng)前類的方法列表中查找,找到直接返回,找到將...
前言 在OC中的方法調(diào)用,其實(shí)都是轉(zhuǎn)換為objc_msgSend()函數(shù)的調(diào)用 objc_msgSend的執(zhí)行流程可以分為3個(gè)大階段: 消息發(fā)送 動(dòng)態(tài)方法解析 消息轉(zhuǎn)發(fā) 首先...