本系列文章是对 http://metalkit.org 上面MetalKit内容的全面翻译和学习.
每年六月都是我的最爱,原因很多,但WWDC2016是最重要的原因!观看开篇keynote
和昨天的Platforms State Of The Union
会议中,透露出很多新特性甚至新框架.在本文中,我们只关注Graphics and Games图形和游戏方面.
先从Metal开始.目前,最热门最期待的特性是支持Tessellation曲面细分,它使3D应用和游戏通过高效描述复杂几何体到GPU
来渲染出更多细节.另一个特性是Function Specializatio功能专业化/功能特化,它帮助创建一个特殊优化过的函数的集合来处理材料和灯光在场景中的结合.今年还有一个新功能是Resource Heaps and Memoryless Render Targets资源堆和无记忆渲染目标,来实现iOS
和tvOS
上细粒度的资源分配和性能优化控制.最后,Metal System Trace是macOS
独占的特性,可以帮助我们用CPU
和GPU
之间的交互概况来分析图形管线,这可以帮助我们发现基于Metal的应用的性能优化点.
Model I/O框架带来了USD文件格式支持.MDLMaterialPropertyGraph类可以让我更方便地支持对模型进行运行时程序改变.同时,MDLVoxelArray类添加了对 signed distance fields有符号距离场的支持.最后,你可以通过MDLLightProbeIrradianceDataSource协议添加辅助灯光探头的旋转.
GameplayKit框架带来了Procedural noise generation程序噪声生成可以用来丰富游戏世界,更高端的纹理,更真实的摄像机移动.接着,Spatial partitioning空间分割让我们分割游戏世界的数据,这样可以更高效的搜索.还有Monte Carlo strategist蒙特卡洛策略帮助我们建模游戏中可能存在移动困难的地方.新的decision tree API决策树API在采用决策树学习来产生基于玩家动作数据挖掘的行为可以增强我们游戏内建AI.
ReplayKit框架引入对tvOS的支持,及对broadcasting的支持,所以我们可以通过第三方网站来广播录制的媒体了.
SceneKit框架引入了新的Physically Based Rendering基于物理渲染系统,可以让我们用简单的资源编辑就创建出更真实的结果.同时,新的HDR特性和效果帮助我们创建更加真实.
SpriteKit框架引入了新的tilemap瓷砖地图解决方案来支持矩形,六边形和等轴测瓷砖地图.Xcode编辑器也提供对瓷砖和瓷砖地图的支持.
Accelerate框架引入了对quadrature求积分
(积分)的支持,组建神经网络的基本数学函数,及几何学断言函数来测试物体交叉.
Core Image框架现在允许我们插入自定义的处理到Core Image
图形滤镜中.Core Image
内核代码现在可以请求特殊输出像素格式了.最后,Core Image
添加了五个新滤镜来扩展滤镜集合.
敬请关注更多消息!
网友评论