Your SlideShare is downloading. ×
  • Like
OpenGL ES Introduction
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

OpenGL ES Introduction

  • 348 views
Published

個人勉強会用

個人勉強会用

Published in Technology , Art & Photos
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
348
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Open GL ES with Obj-C ∼Open GLを使って、! ! ! ! 三角形を書こう∼! ! Presented by @daiki63rpc 1
  • 2. Open GL ESとは? • • OpenGL for Embedded Systems! 主に携帯電話などの組み込みシス テムで使用されている3Dコン ピューターグラフィックス用 API である。(wikipedia)! • iOS, Android, PS3(一部)で使用 2
  • 3. どうすれば使える? • 次のFrameworkを追加する! • • OpenGLES.framework! GLKit.framework 3
  • 4. GLKViewController • 今回は、複雑なデリゲートやクラ ス拡張の手間を省くため、環境の 整ったGLKViewControllerを用いる 4
  • 5. 継承関係 5
  • 6. GLKViewController • UIViewControllerを継承してるか ら、今まで書いてたViewの設定も そのまま書ける ← やったぁ! 6
  • 7. GLKViewController • OpenGLを使った画面描画を行う のに必要な基本的な機能をあらか じめ備えているViewController! • 面倒な処理の実装を省略できる。 7
  • 8. さっそく実装しよう • New Project -> Single View App! フレームワークを追加! • OpenGLES.framework! • GLKit.framework! GLKViewControllerを追加! • デフォルトのViewControllerを削除 • • 8
  • 9. 実装しよう(Cont.) • 次のメソッドを追加! • • -­‐  (void)viewDidAppear:
 (BOOL)animated
 Viewが読み込まれる前に処理をする   -­‐  (void)glkView:(GLKView*)view
 drawInRect:(CGRect)rect
 Viewに関する情報を設定 9
  • 10. 実装しよう(Cont.) • 細部は実際にコードを見せる
 https://github.com/daiki63rpc/HelloOpenGL/blob/master/ HelloOpenGL/GLGLKViewController.m 10
  • 11. 覚えてほしいこと • なぜこんな複雑な命令ばっかり?! • 座標の取り方! • プリミティブの種類 11
  • 12. なぜこんな複雑な命令ばっかり? • バッファとかGL~の型とか! • 宣言することも多い! • GPUに対して命令を(間接的に)送 るコードを書いているから! • OpenGLはその橋渡し! • だから高速化が期待できる 12
  • 13. 座標の取り方 ・-1.0 ~ 1.0のスケール
  で指定する! ・奥行きがZ軸 13
  • 14. プリミティブの種類 14
  • 15. これからの実装 • タップした座標を検出して、図形 を描画したい
 →- (void)touchesBeganで検出
  - (void)updateで再描画! • 次に示す、参考文献にいろいろ載っ てるので調べてみてね 15
  • 16. 作ってみよう ・頂点の編集! ・色の変更! ・早さの調整 16
  • 17. 参考文献 • 詳解iOS5プログラミング
 http://www.amazon.co.jp/gp/product/4798032034   • iOS用OpenGL  ESプログラミングガイド
 https://developer.apple.com/jp/devcenter/ios/library/ documentation/OpenGLES_ProgrammingGuide.pdf   • Qiita:iOSでとりあえずOpenGLで三角 形を描くには
 http://qiita.com/weed/items/3992814597432fef3c95 17