Tag Archives: Metal

UIにMetalが使えないかいろいろ試してみた話

こんにちは、LINEマンガiOSクライアント担当のMasaki Haga(@hagmas)と申します。この記事はLINE Advent Calendar 2017の9日目の記事です。

2014年になって初めて発表されたMetalですが、2017年になってさらに効率化、洗練され、VRのサポートも組み込まれたMetal2が発表されたり、Appleのさまざまなフレームワークの基幹部分にMetalが導入されていたりと、Metalへの注目がさらに高まりつつあります。そんなMetalに、みなさんは「Metalを触ってみたいけど、どこから、何から始めたらいいのかわからない」または「Metalに興味はあるんだけど、自分のアプリケーションにはいまいち関係なさそうだ」などと感じたことはないでしょうか。

私が担当しているLINEマンガのようなWebアプリケーションのiOSクライアントでは、ほとんどの場合、ゲームのような複雑な3D描写も大きなデータを並列計算で処理していくような場面もないかと思われます。しかし、「ユーザーにWOWと言わせるようなアプリ体験ってなんだろう」と考えている時、Metalのパワフルな並列計算と柔軟なAPIを使うことによって、UIKitでは実現できないような複雑で魅力的な描写をShaderで作りだして既存のUIにうまく溶け込ませることができれば、より新鮮なユーザー体験が実現できるかもしれないと思いたち、いろいろ試してみました。

ShaderでできることですのでOpenGLを使ってももちろん実現できますが、サンプルのプロジェクトなども複数掲載しておきましたので、それらを通してMetalのコーディングのしやすさや楽しさなど知ってもらえれば幸いです。