- 追加された行はこの色です。
- 削除された行はこの色です。
*第1回目 CocoaでOpenGL[#jcef6cf1]
CocoaでOpenGLを使ってウインドウに1ポリゴン表示するプログラムを作ります。
XCodeのバージョンは3.0、対応OSはMacOSX10.5前後だと思われます。
**プロジェクトの作成 [#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%)
ビルド、実行してウインドウに白い三角形が出れば成功です。
[[前に戻る>プログラミング]]