CocoaでOpenGLを使ってウインドウに1ポリゴン表示するプログラムを作ります。 XCodeのバージョンは3.0、対応OSはMacOSX10.5前後だと思われます。
まずXcodeを起動する。
#ref(): File not found: "cocoa_opengl1.png" at page "CocoaでOpenGL"
メニューの「ファイル」-「新規プロジェクト」を選択する。
#ref(): File not found: "cocoa_opengl2.png" at page "CocoaでOpenGL"
Cocoa Applicationを選んで「次へ」ボタンを押す。
#ref(): File not found: "cocoa_opengl3.png" at page "CocoaでOpenGL"
プロジェクト名を決めて「完了」ボタンを押す。 今回はOpenGLSampleというプロジェクト名にした。
#ref(): File not found: "cocoa_opengl4.png" at page "CocoaでOpenGL"
ファイルとグループのOpenGLSampleを右クリックしてメニューを出し「追加」-「既存のフレームワーク」を選ぶ。
#ref(): File not found: "cocoa_opengl5.png" at page "CocoaでOpenGL"
フレームワーク一覧が表示されるのでOpenGL.frameworkを選んで「追加」ボタンを押す。
#ref(): File not found: "cocoa_opengl6.png" at page "CocoaでOpenGL"
設定は変更せず「追加ボタン」を押す
以下のプログラムを入力する。
#import <Cocoa/Cocoa.h> #import <OpenGL/OpenGL.h> #import <OpenGL/gl.h> #import <OpenGL/glu.h> @interface MyOpenGLView : NSOpenGLView { } @end
#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(): File not found: "cocoa_opengl7.png" at page "CocoaでOpenGL"
ファイルとグループのOpenGLSampleを右クリックしてメニューを出し「追加」-「既存のファイル」を選ぶ。
#ref(): File not found: "cocoa_opengl8.png" at page "CocoaでOpenGL"
MyOpenGLView.hとMyOpenGLView.mを選んで「追加」ボタンを押す。
#ref(): File not found: "cocoa_opengl9.png" at page "CocoaでOpenGL"
XcodeのファイルとグループにあるMainMenu.nibをダブルクリックする。 するとInterface Builderが起動する。
#ref(): File not found: "cocoa_opengl10.png" at page "CocoaでOpenGL"
ライブラリウインドウのViews & CellsにあるCustom Viewを選ぶ。
#ref(): File not found: "cocoa_opengl11.png" at page "CocoaでOpenGL"
作成中のWindowに上記で選んだCustom Viewをドラッグアンドドロップする。 またCustom Viewの大きさを調整する。
#ref(): File not found: "cocoa_opengl12.png" at page "CocoaでOpenGL"
Class identityを先ほど作成したMyOpenGLViewに変更する。
#ref(): File not found: "cocoa_opengl13.png" at page "CocoaでOpenGL"
上記の設定を保存する。 以上で作業は終了。
#ref(): File not found: "cocoa_opengl14.png" at page "CocoaでOpenGL"
ビルド、実行してウインドウに白い三角形が出れば成功です。