まずはバッファを作成します。複数のバッファを作成することも可能で、DirectXのストリームのように複数のバッファを設定してもかまいません。 次にこのバッファに頂点情報を書き込みます。 glBindBuffer( GL_ARRAY_BUFFER, g_hVbo ); glBufferData( GL_ARRAY_BUFFER, size, pData, GL_STATIC_DRAW ); glBindBuffer( GL_ARRAY_BUFFER, 0 ); まず、作成したバッファをバインドします。これが1行目です。 2行目で情報を書き込みます。ターゲット、データサイズ、データの先頭アドレス、usage となります。 usage は通常、GL_STATIC_DRAW を選択します。これは基本的に変更しないデータを書き込む場合の設定です。 GL_DYNAMIC_DRAW を選択するのはデータ
前回、シェーダプログラムを設定するところまでやりました。 今回でやっと描画です。といっても、トライアングルを出すだけですが。 今回はDirectXで言うところのDrawPrimitiveUP()系の解説になるので注意してください。 DirectXの場合、シェーダプログラムを利用する時にVertexDeclarationを作成する必要がありました。 GLESの場合は作成の必要はありませんが、多分それが内部でやっていることと同じようなことをする必要があります。 すなわち、頂点データとシェーダプログラム内の変数を対応させなければならないわけです。 まず、頂点データを用意します。 前回解説した頂点シェーダの入力は座標のみなので、3次元ベクトル3つを配列で確保します。 GLfloat pfVertices[] = { -0.4f, -0.4f, 0.0f, +0.4f, -0.4f, 0.0f,
1日1HaloWars状態のMonshoです。 さすがに慣れてきたのでヒロイックでも余裕です。 そろそろいろいろ縛りプレーでもしようかな。 GLES2.0プログラムその02はシェーダコンパイルです。 なぜいきなりシェーダなのかというと、GLES2.0には固定シェーダがないからです。 単色トライアングルを出すだけでもシェーダを書かなければいけません。 GLES2.0のシェーダは頂点シェーダとフラグメントシェーダに分かれています。 頂点シェーダはそのままの意味で、フラグメントシェーダはピクセルシェーダのことです。 ピクセルシェーダといった方がわかりやすいかもしれませんが、ここではフラグメントシェーダと言うことにしましょう。 今回使用するシェーダプログラムは以下の通りです。 // 頂点シェーダコード attribute highp vec4 myVertex; uniform mediump m
大往生、2月か。侍道3とHaloWarsもあるというのに…。 とはいえ、大往生はすでにAmazonで予約済み。デススマイルズの限定版はすでに品切れ(泣。 さて、スティックをどうするか考えないと。 と言うわけでGLES2.0を使ってみようのコーナー、第1回。 前回はイントロダクション、って感じで。本格的に今回から。 本格的に、とか言っても今回は初期化のみ。別のサンプル作ってて時間がなくなったので。 GLESの初期化にはEGLライブラリを使用します。 EGLライブラリはネイティブ・プラットフォーム・グラフィクス・インターフェイス。つまり、OSやらハードウェアやらとの間を取り持ってくれるライブラリです。 基本的に、ウィンドウに関する処理はほぼこいつがやってくれます。実際、今回はこれだけです。 Windows用エミュレータでGLESを使用する場合、まずはウィンドウを作成します。これはDirectX
つい先日あったIGDAの新年会で知り合いがiPhoneで3Dオブジェクトを出しているのを見せてもらいました。 で、ちょっと面白そうだったので調べてみると、OpenGL ES 2.0のWindows用エミュレータがあるじゃないか。 …こいつはやるしかねぇな。 と言うわけで、短期集中(たぶん長期にはならないと思う)のOpenGL ES 2.0チュートリアルって感じで。 まずは0回目と言うことでインストール、サンプルプログラム動作まで。 なお、本格的にiPhoneでゲームを作りたい人はOpenGL ES 1.1を勉強しましょう。 2.0は次のiPhoneでは使えるという話ですが(確定というわけでもない?)、少なくとも今は1.1しか使えません。 私の場合、プログラマブルシェーダが使えないのがイヤなので2.0にしました。固定シェーダなんて今更やってられん。 さて、まずはWindows用エミュレータ、
2009/01/29 iPhone向けにC#で書かれたゲームが40本以上存在する――。2009年1月7日付けのブログ投稿で、こんなにわかに信じられない現象を伝えるのは、メキシコ出身のオープンソース開発者、ミゲル・デ・イカザ(Miguel de Icaz)氏だ。iPhoneアプリケーションの開発といえば、アップルが提供するSDKに含まれるObjective-Cを使うか、Webブラウザ上でのみ動作するJavaScriptで実装するかのいずれかだった。 C#のような実行時にランタイム(.NET Framework)を必要とするプログラミング言語は、iPhoneでは使えない。なぜなら、任意のコードを実行できるランタイムを配布パッケージに含めることを、セキュリティ上の理由からアップルが禁じているからだ。 ではなぜ、C#アプリケーションが審査に通るのか? この背後には、オープンソースプロジェクト「Mo
Not your computer? Use a private browsing window to sign in. Learn more about using Guest mode
サルにもできるiPhoneアプリ開発講座ぼちぼち環境が整ってきた感のあるiPhoneアプリ。 iTunesのApp StoreやiPhone SDKもあって開発者にとって非常に作りやすいと言われている中、「誰でも」「売れるiPhoneアプリ」は作れるのか、解説と実験をお届け。目指せ!誰でもボロ儲け!チャレンジブログ/エンジニア 携帯でもiボロ!目次目次 【サルにもできるiPhoneアプリ開発講座 目次】 ごあいさつまずはごあいさつを。このブログって何のブログ? はじめまして ブログタイトル変更しました iPhone&touch開発当ブログの本編です。「サルにもできる」必殺技を! iPhone Dev Centerに登録しよう その1 iPhone Dev Centerに登録しよう その2 iPhone Dev Centerに登録しよう その3 iPhone SDK簡単インストール講座
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く