iPhone3Dプログラミング講座
OpenGLやOpenGL ESの最適化の手法として「縮退三角形(Degenerate triangle)」を使うというものが有ります。シンプルに考えた場合、以下の様に ポリゴンが離れれている場合に GL_TRIANGLE_STRIP を使うとすると glDrawArrays などの描画命令を2回実行する様に…
(※当初、掲載していたプログラムは一部ミスが有ったの修正しました) 今回はiPhoneでテクスチャ(アルファ付き、無しの両方)を使用する方法を解説します。iPhoneのプログラムのglDrawArrays()を使ったものとglDrawElements()を使ったサンプルを準備しました。…
今回はプリミティブについて解説です。OpenGLでプリミティブと言えば点やライン、三角形、四角形、多角形などのことを表します。OpenGLで使用できるプリミティブには以下のものがあります。 GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLES GL_…
glArrayElement() と glDrawElements() を使った描画方法について解説します(OpenGLは描画方法が多すぎだと思います。こんなにいるのかなぁ?(^_^;))今回のサンプルコードはこちらにMac版、iPhone版がありますのでダウンロードして下さい。ここでは以下の4つ…
前回解説したこちらの「頂点配列を使った三角形の描画」では色が設定されていません(デフォルトの白のまま)でした。 (Mac・iPhone)頂点配列を使った三角形の描画 - 強火で進め http://d.hatena.ne.jp/nakamura001/20081221/1229857148 今回はこちらの三角形…
OpenGLでは前回行った様な glBegin() 〜 glEnd() での描画方法の他に頂点配列を使った描画方法があります。なお、iPhone(OpenGL ES)では glBegin() 〜 glEnd() 形式の描画は対応していません、今回紹介する頂点配列で描画する必要が有ります。 Macで頂点配列…
MacでOpenGLを使って三角形の描画を行います。 最終的にレンダリングされる画像はこの様なものになります。 プロジェクトの作成 Xcodeのプロジェクトを作成します。ここではMacプログラムでよく使用される「Cocoa Application」テンプレートではなく「Standa…
3DCGをやったことが無い人には初めて聞く用語だと思いますが「法線」というものがあります。 こちらはこのような特徴を持っています。 面と垂直な線 面の向きを表す。法線の向きが面の表 主にライティングの計算時に利用される この白い線が法線です。もちろ…
OpenGLでは主に3DCGでよく使われる 直交座標系(デカルト座標系) を使います。 直交座標系とは 3次元を表すX、Y、Zそれぞれの軸が互いに 90度で交わっている座標系です。直交座標系には以下の2つのものが有ります。 右手系 左手系 右手座標系 主にOpenGLで使…
これからiPhone向けの3Dプログラミング講座を書いて行く予定です。 内容としては3DCG入門からiPhoneで「はちゅね」が表示できるまでを解説して行こうと思います。主な内容としては以下のものになります。 3D CGの基礎知識 Mac向けのOpenGLプログラミング iPh…