強火で進め

このブログではプログラム関連の記事を中心に書いてます。

iPhone3Dプログラミング講座

縮退三角形(Degenerate triangle)による最適化

OpenGLやOpenGL ESの最適化の手法として「縮退三角形(Degenerate triangle)」を使うというものが有ります。シンプルに考えた場合、以下の様に ポリゴンが離れれている場合に GL_TRIANGLE_STRIP を使うとすると glDrawArrays などの描画命令を2回実行する様に…

(iPhone)テクスチャを使う

(※当初、掲載していたプログラムは一部ミスが有ったの修正しました) 今回はiPhoneでテクスチャ(アルファ付き、無しの両方)を使用する方法を解説します。iPhoneのプログラムのglDrawArrays()を使ったものとglDrawElements()を使ったサンプルを準備しました。…

(Mac・iPhone)プリミティブについて

今回はプリミティブについて解説です。OpenGLでプリミティブと言えば点やライン、三角形、四角形、多角形などのことを表します。OpenGLで使用できるプリミティブには以下のものがあります。 GL_POINTS GL_LINES GL_LINE_STRIP GL_LINE_LOOP GL_TRIANGLES GL_…

(Mac・iPhone)glArrayElement() と glDrawElements() について

glArrayElement() と glDrawElements() を使った描画方法について解説します(OpenGLは描画方法が多すぎだと思います。こんなにいるのかなぁ?(^_^;))今回のサンプルコードはこちらにMac版、iPhone版がありますのでダウンロードして下さい。ここでは以下の4つ…

(Mac・iPhone)頂点配列を使った色付き三角形の描画

前回解説したこちらの「頂点配列を使った三角形の描画」では色が設定されていません(デフォルトの白のまま)でした。 (Mac・iPhone)頂点配列を使った三角形の描画 - 強火で進め http://d.hatena.ne.jp/nakamura001/20081221/1229857148 今回はこちらの三角形…

(Mac・iPhone)頂点配列を使った三角形の描画

OpenGLでは前回行った様な glBegin() 〜 glEnd() での描画方法の他に頂点配列を使った描画方法があります。なお、iPhone(OpenGL ES)では glBegin() 〜 glEnd() 形式の描画は対応していません、今回紹介する頂点配列で描画する必要が有ります。 Macで頂点配列…

(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…