知識がないと理解できないみたいなことが多いです。勉強をそろそろ始めてみようかなと思い少しづつ日記的にまとめていこうと思います。ついて勉強していくことにしました。参考図書として購入した本はこちらです。新しく出た本ってのと解説がものすごくわかりやすかったので選びました。基本的なところから画面を色で塗りつぶすまで解説します。冗長な機能を取り除いた簡略版です。バージョン1.1基本的な固定機能グラフィックスパイプラインを提供する2.0プログラマブルシェイダを使用することができる。互換性はない3.0iOS7以降で使用することができる。マルチレンダーターゲット機能やマルチサンプルアンチエイリアス(MSAA)を標準サポート。バージョン2.0と互換性があり本当は3.0の勉強をしようと思っていたのですが、3.0について解説している日本語の本が現状(2015/8現在)ないのと、2.0を学んでおけば3.0にも活かせるとこができる、というわけで2.0で進めます。描画できる図形は点、線、三角形の3つです。四角形以上の図形は三角形の組み合わせで描画します。使ったグラフィックの描画処理はゲームループの中で行います。ゲームループとは、ある一定時間ごとに呼び出される関数(またはメソッド)です。一般的なゲームでは1秒間に60回、関数が呼び出されます。Second)といいます。Patterns)の第9章が参考になると思います。ダブルバッファリングという手法を使って描画処理を行います。ダブルバッファリングとは表示されている描画領域(表示領域)に直接描画処理を行うのではなく、表示領域と同じサイズのバッファを用意してそこで描画処理を行う手法です。バッファとはピクセルの情報を保存するメモリ空間のことを指します。一般的には表示領域をフロントバッファ、描画処理を行う領域をバックバッファと呼んでいます。ゲームループの処理の中で描画処理をバックバッファで行い、描画処理が終わったらバックバッファとフロントバッファと入れ替えてグラフィックを表示しています。描画処理を行うバックバッファのことをフレームバッファ、描画処理結果を表示するフロントバッファのことをレンダーバッファといいます。グラフィックが表示されている空間のことをサーフィス(Surface)と呼びます。図にすると以下のようになります。Patterns)の第8章が参考になると思います。フレームバッファ描画処理を行うフレームバッファは役割により以下の3つのバッファに分かれています。Buffer物体の重ね合わせなどにより描画しなくてもよい領域を判定するための特殊なバッファ図にすると以下のようになります。プログラムを書くための下準備をします。ごとに実装を用意する必要があります。実装するのであればどうなるかを紹介します。使わない前提でプログラムします。だいたい同じになると思います)。クラスを継承したビューを作成してその中で行います。クラスの宣言部分は以下のようになります。セットアップ処理を実装部分に書いていきます。コマンド単位で描画処理を行います。ステートマシンで描画処理の状態を管理しています。コマンド実行後の状態はコンテキスト(Context)という名前のオブジェクトによって管理されます。以下のようになります。initWithAPI:kEAGLRenderingAPIOpenGLES2];またコンテキストオブジェクトはスレッドごとに1つ生成する必要があります。色を塗りつぶすプログラム下準備がおわったので、画面全体を塗りつぶすプログラム書いてみましょう。描画処理はゲームループから呼び出されるメソッドの中に書いていきます。メソッドに描画処理を実装します。塗りつぶす色を指定してカラーバッファに塗りつぶしを行います。プログラムにすると以下のようになります。関数を呼んでコンテキストオブジェクトに色の情報を保存します。関数を呼んでコンテキストオブジェクトに保存されている色情報を使って引数で指定されたバッファの色を塗りつぶします。最後にフレームバッファの内容をレンダーバッファに渡して(バックバッファの内容をフロントバッファに置き換え)描画を行います。rgba[3]);実行結果ここまでのプログラムを実行すると以下のようになります。サンプルプログラム今回作成したサンプルプログラムをこちらに置いておきます。Yellow-Submarine/ES2.0/Sample1次回は第1回はここまでにします。最後までお付き合いいただきありがとうございました。次回は三角形を描画するプログラムを書いてみます。三角形を描くにはシェーダの設定が必要になるので、シェーダの基本的な説明ができればと考えています。-描画の仕組みとバッファ-の続きです。今...2015-07-18オフスクリーンレンダリングを使って画像を動的にアトラス化するオフスクリーンレンダリングという手法があります。この手法を...2015-02-27Cocos2d-xのゲームの構造がどのようになっているか紐解いてみるCocos2d-xでゲームの開発を始めてそろそろ5ヶ月たちます。(7)はてなブログをはじめよう!glass-_-onionさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。