本系列文章是對 http://metalkit.org 上面MetalKit內(nèi)容的全面翻譯和學(xué)習(xí).
每年六月都是我的最愛,原因很多,但WWDC2016是最重要的原因!觀看開篇keynote和昨天的Platforms State Of The Union會議中,透露出很多新特性甚至新框架.在本文中,我們只關(guān)注Graphics and Games圖形和游戲方面.
先從Metal開始.目前,最熱門最期待的特性是支持Tessellation曲面細(xì)分,它使3D應(yīng)用和游戲通過高效描述復(fù)雜幾何體到GPU來渲染出更多細(xì)節(jié).另一個特性是Function Specializatio功能專業(yè)化/功能特化,它幫助創(chuàng)建一個特殊優(yōu)化過的函數(shù)的集合來處理材料和燈光在場景中的結(jié)合.今年還有一個新功能是Resource Heaps and Memoryless Render Targets資源堆和無記憶渲染目標(biāo),來實現(xiàn)iOS和tvOS上細(xì)粒度的資源分配和性能優(yōu)化控制.最后,Metal System Trace是macOS獨(dú)占的特性,可以幫助我們用CPU和GPU之間的交互概況來分析圖形管線,這可以幫助我們發(fā)現(xiàn)基于Metal的應(yīng)用的性能優(yōu)化點.
Model I/O框架帶來了USD文件格式支持.MDLMaterialPropertyGraph類可以讓我更方便地支持對模型進(jìn)行運(yùn)行時程序改變.同時,MDLVoxelArray類添加了對 signed distance fields有符號距離場的支持.最后,你可以通過MDLLightProbeIrradianceDataSource協(xié)議添加輔助燈光探頭的旋轉(zhuǎn).
GameplayKit框架帶來了Procedural noise generation程序噪聲生成可以用來豐富游戲世界,更高端的紋理,更真實的攝像機(jī)移動.接著,Spatial partitioning空間分割讓我們分割游戲世界的數(shù)據(jù),這樣可以更高效的搜索.還有Monte Carlo strategist蒙特卡洛策略幫助我們建模游戲中可能存在移動困難的地方.新的decision tree API決策樹API在采用決策樹學(xué)習(xí)來產(chǎn)生基于玩家動作數(shù)據(jù)挖掘的行為可以增強(qiáng)我們游戲內(nèi)建AI.
ReplayKit框架引入對tvOS的支持,及對broadcasting的支持,所以我們可以通過第三方網(wǎng)站來廣播錄制的媒體了.
SceneKit框架引入了新的Physically Based Rendering基于物理渲染系統(tǒng),可以讓我們用簡單的資源編輯就創(chuàng)建出更真實的結(jié)果.同時,新的HDR特性和效果幫助我們創(chuàng)建更加真實.
SpriteKit框架引入了新的tilemap瓷磚地圖解決方案來支持矩形,六邊形和等軸測瓷磚地圖.Xcode編輯器也提供對瓷磚和瓷磚地圖的支持.
Accelerate框架引入了對quadrature求積分(積分)的支持,組建神經(jīng)網(wǎng)絡(luò)的基本數(shù)學(xué)函數(shù),及幾何學(xué)斷言函數(shù)來測試物體交叉.
Core Image框架現(xiàn)在允許我們插入自定義的處理到Core Image圖形濾鏡中.Core Image內(nèi)核代碼現(xiàn)在可以請求特殊輸出像素格式了.最后,Core Image添加了五個新濾鏡來擴(kuò)展濾鏡集合.
敬請關(guān)注更多消息!