LoginSignup
8
8

More than 5 years have passed since last update.

tvOSでOpenGLを使ってみる

Last updated at Posted at 2015-10-28

はじめに

Xcode7.1でtvOSアプリケーションを作れるようになったのだが、なぜか新規プロジェクト作成時にGameを選ぶと、SceneKitとSpriteKitとMetalは選べるのにOpenGLは選べない。

tvOSはOpenGL ESもサポートしているようなので、使えないわけではなさそうだ。
そもそもMetalだとSimulatorで動作確認できないのが辛い。

そんなわけで無理矢理、OpenGLを使ってみた。

準備

まず、iOS用のOpenGLプロジェクトを用意します。ここでは新規でGame->OpenGL ESで作成されるサンプルソースを使います。おそらくすでにOpenGLアプリがあるのならそのソースを使ってもビルド出来るのではないかと思います(責任は持たない)。

次に、tvOS用のMetalプロジェクトを用意します。

手順

基本的に、iOS用プロジェクトの中身をtvOS用プロジェクトに流用して使います。

1.iOS用プロジェクトからShader.fsh,Shader.vshをtvOS用プロジェクトに持ってきます。新規でファイルを作成して中身だけコピペも良いでしょうし、ファイルごとコピペでも良いでしょう。

2.iOS用プロジェクトのGameViewController.swiftの中身を、tvOS用プロジェクトのGameViewController.swiftにまるごとコピペします。

3.tvOS用プロジェクトのShaders.metalファイルは要らないので削除します。

4.tvOS用プロジェクトのMain.storyboardのViewがMetal用のMTKViewになっているので、GLKViewに変更します。

スクリーンショット 2015-10-28 14.11.21.png

余談ですが、tvOSではiOSとは違い、frameworkをプロジェクトに含めたりする必要がなさそうな気がします。
実際、OpenGLもframeworkとか気にしないで動きました。

ビルド

スクリーンショット 2015-10-28 14.13.51.png

あとはApple TV Simulatorを選んで実行すればシミュレーター上でOpenGLアプリが動きます。

スクリーンショット 2015-10-28 14.26.09.png

以上。

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8