OpenGL ES 2.0的学习曲线是否比Metal更陡峭?

iam*_*mer 5 opengl-es ios opengl-es-2.0 metal

我对3D图形非常感兴趣,并听到许多开发人员对Metal赞不绝口.

可以使用Metal和OpenGL ES 2.0的人评论学习曲线与OpenGL ES 2.0的比较吗?

作为一个致力于保持对iOS忠诚度的初学者,Metal比OpenGL ES 2.0更容易学习和掌握,还是因为它更先进而更难?

我希望这个问题对许多人有用,因为我想弄清楚从哪里开始.

ric*_*ter 7

作为初学者,从更高级别的3D图形开始可能会更好.用于OS X和iOS的SceneKit允许您根据其内容(几何,材质(纹理/阴影),灯光和相机)描述3D场景,并加载使用3D建模工具创建的资源.SceneKit基于OpenGL(ES)构建,因此它使用了许多相同的概念.当您熟悉这些概念时,您可以使用SceneKit一次一步地进入OpenGL世界:

您可以通过观看WWDC中的SceneKit视频找到有关所有这些的更多信息:SceneKit中的新功能使用SceneKit构建游戏.


否则...... OpenGL(ES)和Metal本身没有非常不同的学习曲线.事实上,我认为Metal在某些方面比OpenGL更容易接近 - 例如,你在GL中可以做的许多事情具有隐含的和难以预测的性能成本,并且这些任务的Metal类似物更清楚它们对CPU或GPU时间的影响是允许您决定何时完成昂贵的工作.

另一方面,Metal是全新的 - 目前还没有很多第三方资源可以帮助您学习它.无论您是使用Metal,OpenGL,DirectX还是其他平台/ API,学习3D图形的许多难题都非常相似.一旦你学到了重要的东西 - 有很多书籍和在线教程,但StackOverflow并不是寻找它们的最佳方式 - 在特定平台上使用Metal或OpenGL ES的速度非常快简单.


小智 5

来自OpenGL-ES背景,我很好地了解了Metal API.我相信Metal的学习曲线更陡峭,不是因为它是一个新的API,而是因为它引入了开发人员以前不需要担心的低级构造.

如果你将固定管道Open-GL与面向着色器的Open GL口味(在移动设备上:ES 1.x与ES 2.x,3.x相比)进行比较,最后使用Metal,您所拥有的功能越来越强大,越来越通用的API分离从直观的构造(三角形,顶点,灯)构成Open-GL的历史基础.

请记住,创建更有用的API并不是Metal的主要目标.该框架的目标是帮助开发人员摆脱驱动程序开销.