*第1回目 CocoaでOpenGL[#jcef6cf1]
 CocoaでOpenGLを使ってウインドウに1ポリゴン表示するプログラムを作ります。
 XCodeのバージョンは3.0、対応OSはMacOSX10.5前後だと思われます。
#author("2018-06-18T16:19:19+09:00","default:kuran","kuran")

**プロジェクトの作成 [#f6959d79]
 まずXcodeを起動する。
#ref(cocoa_opengl1.png,,,100%)
 メニューの「ファイル」-「新規プロジェクト」を選択する。
#ref(cocoa_opengl2.png,,,100%)
 Cocoa Applicationを選んで「次へ」ボタンを押す。
#ref(cocoa_opengl3.png,,,100%)
 プロジェクト名を決めて「完了」ボタンを押す。
 今回はOpenGLSampleというプロジェクト名にした。
**フレームワーク登録 [#c63eb950]
#ref(cocoa_opengl4.png,,,100%)
 ファイルとグループのOpenGLSampleを右クリックしてメニューを出し「追加」-「既存のフレームワーク」を選ぶ。
#ref(cocoa_opengl5.png,,,100%)
 フレームワーク一覧が表示されるのでOpenGL.frameworkを選んで「追加」ボタンを押す。
#ref(cocoa_opengl6.png,,,100%)
 設定は変更せず「追加ボタン」を押す
**プログラム作成 [#m5322a0a]
 以下のプログラムを入力する。
***MyOpenGLView.h [#a9b71592]
 #import <Cocoa/Cocoa.h>
 #import <OpenGL/OpenGL.h>
 #import <OpenGL/gl.h>
 #import <OpenGL/glu.h>
 
 @interface MyOpenGLView : NSOpenGLView
 {
 }
 @end

***MyOpenGLView.m [#hcc73dcf]
 #import "MyOpenGLView.h"
 
 @implementation MyOpenGLView
 
 - (id) initWithFrame : (NSRect) frameRect {
 
 	self = [ super initWithFrame : frameRect
                      pixelFormat : [ NSOpenGLView defaultPixelFormat ] ];
 
 	[ [ self openGLContext ] makeCurrentContext ];
 
 	glDisable(GL_CULL_FACE);
 	glPolygonMode(GL_FRONT, GL_FILL);
 	glPolygonMode(GL_BACK, GL_LINE);
 	return( self );
 }
 
 - (void) drawRect : (NSRect) rect {
 	glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
 	glClear(GL_COLOR_BUFFER_BIT);
 
 	glBegin(GL_TRIANGLES);
 	glColor3d(1.0f, 1.0f, 1.0f);
 	glVertex3f(0.0f, 0.5f, 0.0f);
 	glVertex3f(-0.5f, -0.5f, 0.0f);
 	glVertex3f(0.5f, -0.5f, 0.0f);
 	glEnd();
 	glFlush();
 
 	[ [ self openGLContext ] flushBuffer ];
 }
 
 @end

#ref(cocoa_opengl7.png,,,100%)
 ファイルとグループのOpenGLSampleを右クリックしてメニューを出し「追加」-「既存のファイル」を選ぶ。
#ref(cocoa_opengl8.png,,,100%)
 MyOpenGLView.hとMyOpenGLView.mを選んで「追加」ボタンを押す。
**Interface Builderでの作業 [#rf646519]
#ref(cocoa_opengl9.png,,,100%)
 XcodeのファイルとグループにあるMainMenu.nibをダブルクリックする。
 するとInterface Builderが起動する。
#ref(cocoa_opengl10.png,,,100%)
 ライブラリウインドウのViews & CellsにあるCustom Viewを選ぶ。
#ref(cocoa_opengl11.png,,,100%)
 作成中のWindowに上記で選んだCustom Viewをドラッグアンドドロップする。
 またCustom Viewの大きさを調整する。
#ref(cocoa_opengl12.png,,,100%)
 Class identityを先ほど作成したMyOpenGLViewに変更する。
#ref(cocoa_opengl13.png,,,100%)
 上記の設定を保存する。
 以上で作業は終了。
**実行結果 [#q156c08a]
#ref(cocoa_opengl14.png,,,100%)
 ビルド、実行してウインドウに白い三角形が出れば成功です。

[[前に戻る>プログラミング]]


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS