GLSL~8.7 テクスチャ参照関数

2012. 02. 04
8.7 テクスチャ参照関数

テクスチャ参照関数は頂点とフラグメントシェーダの両方で使用できます。

ただし、詳細レベルは頂点シェーダ用に固定機能で計算されず、テクスチャを参照する頂点とフラグメント間の操作にはいくつかの相違点があります。

下表の関数はサンプラを介してテクスチャへのアクセスを提供するもので、OpenGL ES APIを介して設定されます。

サイズやピクセルフォーマット、次元数、フィルタリング方法、ミッピマップのレベル数、深度比較などのテクスチャのプロパティはOpenGL ES APIの呼び出しによって定義されます。

このようなプロパティは、以下の定義された組み込み関数を介してテクスチャにアクセスすると考慮されます。

バイアスパラメータを含む関数はフラグメントシェーダのみで使用することができます。

バイアスが存在する場合、テクスチャへのアクセス操作を実行する前に、計算された詳細レベルに追加されます。

バイアスパラメータが提供されていない場合、実装は自動的に詳細レベルを選択します。
(ミップマップでないテクスチャの場合は、そのテクスチャが直接使用されます。)

ミップマップがフラグメントシェーダで実行される場合は、実装によるLOD(Level Of Detail)計算はテクスチャ参照を行う為に使用されます。

ミップマップが頂点シェーダで実行される場合は、基本のテクスチャが使用されます。

接尾辞『Lod』のある組み込み関数は、頂点シェーダでのみ許可されています。

Lod』関数のlodは詳細レベルとして直接使用されます。

構文説明
vec4 texture2D (sampler2D sampler,
vec2 coord )

vec4 texture2D (sampler2D sampler,
vec2 coord, float bias)

vec4 texture2DProj (sampler2D sampler,
vec3 coord )

vec4 texture2DProj (sampler2D sampler,
vec3 coord, float bias)

vec4 texture2DProj (sampler2D sampler,
vec4 coord)

vec4 texture2DProj (sampler2D sampler,
vec4 coord, float bias)

vec4 texture2DLod (sampler2D sampler,
vec2 coord, float lod)

vec4 texture2DProjLod (sampler2D sampler,
vec3 coord, float lod)

vec4 texture2DProjLod (sampler2D sampler,
vec4 coord, float lod)
現在samplerサンプラにバインドされている2Dテクスチャ
のテクスチャ参照を行うには、テクスチャ座標coord
使用してください。

投影(『Proj』)バージョンでは、テクスチャ座標
coord.scoord.t)はcoordの最後の要素で除算され
ます。

座標の三要素は、異なるvec4座標では無視されます。
vec4 textureCube (samplerCube sampler,
vec3 coord )

vec4 textureCube (samplerCube sampler,
vec3 coord, float bias )

vec4 textureCubeLod (samplerCube sampler,
vec3 coord, float lod)
現在samplerにバインドされているキューブマップ
テクスチャのテクスチャ参照を行うには、テクスチャ
座標coordを使用してください。

coordの方向は『OpenGL ES Specification Version 2.0
の『項3.7.5 Cube Map Texture Selection』で説明して
いるように、二次元のテクスチャ参照を行う為の面の
選択に使用されます。



参考文献

The OpenGL ES Shading Language 1.0.17

GLSL~8.1 角度と三角関数

2012. 02. 03
8.1 角度と三角関数

角度として指定された関数のパラメータは、ラジアン単位であると仮定されます。

どんな場合でも、これらの関数の0除算の結果はエラーになります。

比の除数が0の場合、結果は未定義となります。

これらは全て要素単位で演算します。

要素ごとの説明を下記に示します。

構文説明
genType radians (genType degrees)度からラジアンへの変換。すなわち(π / 180)・degrees。
genType degrees (genType radians)ラジアンから度への変換。すなわち(180 / π)・radians。
genType sin (genType angle)標準的な三角関数の正弦関数。
genType cos (genType angle)標準的な三角関数の余弦関数。
genType tan (genType angle)標準的な三角関数の正接関数。
genType asin (genType x)逆正弦関数。正弦xの場合の角度を返します。
この関数によって返される値の範囲は
[(-π / 2), (π / 2)]です。
| x | > 1の場合の結果は未定義です。
genType acos (genType x)逆余弦関数。余弦xの場合の角度を返します。
この関数によって返される値の範囲は[0, π]です。
| x | > 1の場合の結果は未定義です。
genType atan (genType y, genType x)逆正接関数。正接がy / xの場合の角度を返します。
xとyの符号は、角度がどの象限に入っているかの
決定に使用されます。
この関数によって返される値の範囲は[-π, π]です。
xとyが両方とも0の場合の結果は未定義です。
genType atan (genType y_over_x)逆正接関数。正接がy_over_xの場合の角度を返します。
この関数によって返される値の範囲は
[(-π / 2), (π / 2)]です。



参考文献

The OpenGL ES Shading Language 1.0.17

GLSL~5.5 ベクトル要素

2012. 02. 02
5.5 ベクトル要素

ベクトルの要素名は一文字で示されます。

表記上の利便性のため、いくつかの文字は位置、色、またはテクスチャ座標のベクトルの一般的な用法に基づいて、各要素が関連付けされています。

ベクトルの個々の要素は、変数名の後ろにピリオド『.』を打ち、要素名を指定することで選択することができます。

サポートされる要素名を以下に示します。

{x, y, z, w}座標点や法線を表すベクトルにアクセスする場合に使用
{r, g, b, a}色を表すベクトルにアクセスする場合に使用
{s, t, p, q}テクスチャ座標を表すベクトルにアクセスする場合に使用

例えば要素名x、r、sは、ベクトルの同じ(最初の)要素を示す同義語です。

テクスチャの第三要素はOpenGL ESではrになりますが、色のr(red)との混同を避けるためpに改名していることに注意してください。

ベクトル型に対して宣言された要素数を超えてアクセスするとエラーになります。

vec2 pos;
pos.x    // 有効
pos.z// 不正

要素選択の構文は、ピリオド(.)の後に(同じ名前のセットからの)名前を追加することによって複数の要素を選択することができます。

vec4 v4;
v4.rgba;    // v4をvec4として使用した場合と同じ
v4.rgb;// vec3と同様
v4.b;// floatと同様
v4.xy;// vec2と同様
v4.xgba;// 不正(同じセットからの要素名ではない)

4要素より多く選択することはできません。

vec4 v4;
v4.xyzw;    // vec4
v4.xyzwxy;// 6つの要素を持っているので不正
(v4.xyzwxy).xy;// 中間値が6つの要素を持っているので不正
 
vec2 v2;
v2.xyxy;// 有効。vec4に評価されます

要素の順序は様々な並べ替えや繰り返しをすることができます。

vec4 pos = vec4(1.0, 2.0, 3.0, 4.0);
vec4 swiz= pos.wzyx;    // swiz = (4.0, 3.0, 2.0, 1.0)
vec4 dup = pos.xxyy;// dup = (1.0, 1.0, 2.0, 2.0)

この表記法はコンストラクタ構文よりも簡単です。

右辺値を作る為に、ベクトルの右辺値の結果を式に適用することができます。

要素グループの表記は、式の左辺で起こすことができます。

vec4 pos = vec4(1.0, 2.0, 3.0, 4.0);
pos.xw = vec2(5.0, 6.0);    // pos = (5.0, 2.0, 3.0, 6.0)
pos.wx = vec2(7.0, 8.0);// pos = (8.0, 2.0, 3.0, 7.0)
pos.xx = vec2(3.0, 4.0);// 不正。xが2回使用されている
pos.xy = vec3(1.0, 2.0, 3.0);// 不正。vec2とvec3間で不整合

左辺値を作る為に、並べ替えはベクトル型の左辺値に適用し、重複する要素が含まれない必要があり、そしてスカラーまたはベクトル型の左辺値の結果は指定された要素数に依存します。

配列の添字構文は、数値インデックスを提供する為にベクトルに適用することができます。

vec4    pos;

pos[2]はposの第三要素を指し、pos.zに相当します。

これはベクトルに変数インデックスを付けるだけでなく、要素へのアクセスの汎用的な方法が可能になります。

任意の整数式を添字として使用することができます。

最初の要素はインデックス0になります。

ベクトルからの読み込みやベクトルへの書き込みに使用する定数整数式の値が、負またはベクトルのサイズ以上の場合は不正になります。

非定数式でインデックスを作成する際、インデックスが負またはベクトルのサイズ以上の場合、動作は未定義です。

スカラーは単一要素のベクトルとはみなされないため、スカラーに対して要素選択を使用することは不正になることに注意してください。



参考文献

The OpenGL ES Shading Language 1.0.17

辞書にない英語 - livedoor Wiki(ウィキ)/swizzle

GLSL~7 組み込み変数

2012. 02. 01
7 組み込み変数

いくつかのOpenGL ES操作は、頂点プロセッサとフラグメントプロセッサ間で、固定機能で動作し続けます。

他のOpenGL ES操作は、フラグメントプロセッサの後に固定機能で動作し続けます。

シェーダは組み込み変数を使用して、OpenGL ESの固定機能を介して通信します。

OpenGL ESでは、頂点シェーダからの出力の一部、フラグメントシェーダへの入力とフラグメントシェーダからの出力の一部から、特殊な変数が組み込まれています。

ユーザ定義の様々な変数とは異なり、組み込み特殊変数は頂点言語とフラグメント言語間で厳密に一対一で対応していません。

代わりに二つが組になり、各言語に一つずつ提供されています。


7.1 頂点シェーダ特殊変数

変数gl_Positionは頂点言語でのみ使用でき、同次頂点位置の書き込みを意図しています。

均整の取れた頂点シェーダの全ての実行は、この変数に値を書き込む必要があります。

これはシェーダ実行中のいつでも書き込むことができます。

また、書き込み後にシェーダから読み戻しされる場合もあります。

この値はプリミティブの組み立て、クリッピング、カリング、そして頂点処理が発生した後にプリミティブを操作する他の固定機能操作で使用されます。

コンパイラは全ての場合を検出できる訳ではありませんが、gl_Positionへの書き込みの失敗、または書き込む前の読み込みを検出した場合、診断メッセージを生成します。

gl_Positionの値は、頂点シェーダが実行され、gl_Positionが書き込まれていない場合は未定義です。

変数gl_PointSizeは頂点言語でのみ使用でき、頂点シェーダのためにラスタライズされる点のサイズの書き込みを意図しています。

これはピクセル単位で示します。

これらの組み込み頂点シェーダ変数と固定機能との通信は、以下の型で固有の宣言がされます。

highp vec4 gl_Position;    // 書き込む必要があります
mediump float gl_PointSize;// 書き込むことができます

これらの変数は書き込まれていない場合、値は未定義です。

書き込まれた内容を取得するため、書き込み後にシェーダによって読み戻すことができます。

書き込み前に読み込んだ場合、結果には未定義の値が返されます。

複数回書き込まれた場合は、後続の操作によって消費され、最後に書き込まれた値になります。

これらの組み込み変数はグローバルスコープを持ちます。


7.2 フラグメントシェーダ特殊変数

フラグメントシェーダの出力は、OpenGL ESパイプラインの最終工程で、固定機能操作によって処理されます。

OpenGL ESパイプラインへのフラグメントシェーダの出力値は、破棄キーワードが実行されていない限り、組み込み変数gl_FragColorとgl_FragDataが使用されます。

gl_FragColorまたはgl_FragDataのどちらかへの書き込みはフラグメントシェーダの要件ではありません。

シャドウボリュームなど、色値が書き込まれないレンダリングパスを含むような多くのアルゴリズムがあります。

これらの変数は、フラグメントシェーダ内で複数回書き込まれる場合があります。

その場合、割り当てられた最後の値が後続の固定機能パイプラインで使用されます。

これらの変数に書き込まれた値は、書き込み後に読み戻される場合があります。

書き込み前にこれらの変数から読み込むと、結果は未定義です。

指定されたフラグメント色をgl_FragColorに書き込むと、後続の固定機能パイプラインによって使用されます。

後続の固定機能がフラグメント色を消費し、フラグメントシェーダの実行でgl_FragColorへ値の書き込みがされなかった場合、消費されたフラグメント色は未定義です。

変数gl_FragDataは配列です。

gl_FragData[n]への書き込みはフラグメントデータを指定するもので、データnは後続の固定機能パイプラインによって使用されます。

後続の固定機能がフラグメントデータを消費し、フラグメントシェーダの実行で値が書き込まれなかった場合、消費されたフラグメントデータは未定義です。

シェーダがgl_FragColorへ静的に値を割り当てた場合、gl_FragDataの要素に値を割り当てることはできません。

シェーダがgl_FragDataの要素に静的に値を書き込んだ場合、gl_FragColorに値を割り当てることはできません。

つまり、シェーダはgl_FragColorまたはgl_FragDataのどちらかに値を割り当てますが、両方ではありません。
(シェーダが変数xへの静的割り当てを含む場合、シェーダにはxに書き込む文が含まれており、前処理後に制御フローで必ず実行時に文が実行されます。)

シェーダが破棄キーワードを実行する場合、フラグメントは破棄され、gl_FragColorとgl_FragDataの値は不適切なものになります。

変数gl_FragCoordはフラグメントシェーダ内から読み込みのみの変数として使用でき、フラグメント用のウィンドウ相対座標x、y、z、そして1 / w値を保持します。

この値は、頂点処理後のフラグメントの生成で、プリミティブを補間する固定機能の結果です。

z要素は、フラグメントの深度で使用される深度値です。

フラグメントシェーダは、フラグメントが前面にある場合にtrueの値を持つ、読み込みのみの組み込み変数gl_FrontFacingへのアクセスを持ちます。

これは頂点シェーダによって計算された2色の内の一つを選択することによって、2つの面のライティングのエミュレートに使用します。

フラグメントシェーダは、読み込みのみの組み込み変数gl_PointCoordへのアクセスを持ちます。

gl_PointCoordの値は、点プリミティブ内での現在のフラグメントの位置を示す二次元座標です。

範囲は点を中心に0.0から1.0になります。

これについては、点スプライトについて論じている、『OpenGL specification version 2.0』の『3.3.1 Basic Point Rasterization』(※『OpenGL ES Common Profile Specification Version 2.0.25』では『3.3 Points』に相当)に詳細が記述されています。

現在のプリミティブが点でない場合、gl_PointCoordから読み込まれる値は未定義です。

フラグメントシェーダからアクセス可能な組み込み変数は、以下のように固有の型が与えられます。

mediump vec4    gl_FragCoord;
  boolgl_FrontFacing;
mediump vec4gl_FragColor;
mediump vec4gl_FragData[gl_MaxDrawBuffers];
mediump vec2gl_PointCoord;

ただし、これらはストレージ修飾子を持たない変数のように動作せず、上述のように動作します。

これらの組み込み変数はグローバルスコープを持ちます。


7.3 頂点シェーダの組み込み属性

OpenGL ESに組み込み属性名はありません。


7.4 組み込み定数

以下の組み込み定数は、頂点とフラグメントのシェーダに提供されています。

//
// 実装依存の定数。
// 以下の例での値は、これらの最大値に許容される最小値です。
//

const mediump int gl_MaxVertexAttribs = 8;
const mediump int gl_MaxVertexUniformVectors = 128;
const mediump int gl_MaxVaryingVectors = 8;
const mediump int gl_MaxVertexTextureImageUnits = 0;
const mediump int gl_MaxCombinedTextureImageUnits = 8;
const mediump int gl_MaxTextureImageUnits = 8;
const mediump int gl_MaxFragmentUniformVectors = 16;
const mediump int gl_MaxDrawBuffers = 1;


7.5 組み込みuniform状態

OpenGL ESの処理状態へのアクセスの補助として、以下のuniform変数がOpenGL ESシェーディング言語に組み込まれています。

全ての表記は、2.0仕様への参照です。

実装がフラグメント言語のhighp精度をサポートせず、状態がhighpとしてリストされている場合、その状態はフラグメント言語のmediumpとしてのみ利用できます。

//
// ウィンドウ座標での深度範囲
//
struct gl_DepthRangeParameters {
    highp float near;    // n
highp float far;// f
highp float diff;// f - n
};
uniform gl_DepthRangeParameters gl_DepthRange;



参考文献

The OpenGL ES Shading Language 1.0.17

GLSL~4.5.2 精度修飾子

2012. 01. 31
4.5.2 精度修飾子

浮動小数点や整数の宣言は、型の前に精度修飾子を一つ持つことができます。

修飾子意味
highp上記で述べた頂点言語の最小要件を満たします。
オプションでフラグメント言語を入れられます。
mediump上記のフラグメント言語の最小要件を満たしています。
範囲と精度は、lowpで提供された以上でhighpで提供された以下になります。
lowpmediump未満の範囲と精度ですが、全てのカラーチャンネルの全ての色値を
表現できるように意図しています。

例:

lowp float color;
varying mediump vec2 Coord;
lowp ivec2 foo(lowp mat3);
highp mat4 m;

精度修飾子は、基盤となる実装で変数を格納する時に使用する必要がある、最小範囲と精度を宣言します。

実装では要求よりも大きな範囲と精度が使用されますが、変わりありません。

特定の精度修飾子の実装に使用される増加の範囲と精度の量は、変数、および変数に関する操作と、他の実装依存の詳細に依存することができます。

精度修飾子に必要な最小範囲と精度は、

修飾子浮動小数点の範囲浮動小数点の大きさの範囲浮動小数点の精度整数の範囲
highp(-262, 262)(2-62, 262)相対: 2-16(-216, 216)
mediump(-214, 214)(2-14, 214)相対: 2-10(-210, 210)
lowp(-2, 2)(2-8, 2)絶対: 2-8(-28, 28)

ここで浮動小数点の大きさの範囲とは、ゼロ以外の値の大きさの範囲です。

浮動小数点の精度の場合は、全てのゼロ以外の値のため、任意の値からその値へ相対的に比較した相対精度を意味します。

全ての精度レベルで、ゼロを正確に表現する必要があります。

整数型の場合は、指定された範囲内の全ての整数値を表す必要があります。

実装がコンパイルユニット内の変数のストレージのために宣言された精度を提供できない場合、結果をコンパイルまたはリンクエラーにする必要があります。

高と中精度では、整数の範囲は同じ精度修飾子の浮動小数点値に対応することによって、正確に表現できるようにする必要があります。

つまりhighp inthighp floatで表すことができ、mediump intmediump floatで表すことができます。

ただし、lowp intlowp floatで表すことはできません。

頂点言語は、lowpmediump、そしてhighpのいずれを使用してコンパイルとリンクを行っても、エラー無しである必要があります。

フラグメント言語は、lowpmediumpを使用してコンパイルしてもエラー無しである必要があります。

highpのサポートはオプションです。

実装によって提供される実際の範囲と精度は、APIを介して照会することができます。

リテラル定数には精度修飾子はありません。

どちらもブール変数は実行しません。

コンストラクタの引数が精度修飾子を持っていない場合、浮動小数点値コンストラクタも整数コンストラクタも実行されません。

この項の場合、『演算』は演算子、組み込み関数、コンストラクタを含み、『オペランド』は関数の引数とコンストラクタの引数を含みます。

精度は内部的に数値を求める演算に使用され、その精度の能力はその後に続くその結果として生じる中間値に関連付けされるため、演算によって消費されるオペランドの能力は少なくとも最高精度と同じ高さにする必要があります。

精度が定義されていない定数式と部分式の場合、評価は実行時の、またはサポートされているターゲット(mediumpまたはhighpのどちらか)の精度の最高以上で実行されます。

定数式の評価は不変である必要があり、通常はコンパイル時に実行されます。

オペランドが適切な精度修飾子を持っていない場合、精度の能力は他のオペランドから取得します。

オペランドが精度修飾子を持っていない場合、式中の次に消費される演算のオペランドの精度の能力が使用されます。

このルールは精度修飾されたオペランドが見つかるまで、再帰的に適用されます。

必要に応じて、割り当てのためのl値や、イニシャライザのための宣言された変数、関数呼び出しの引数の仮パラメータ、または関数が返す関数の戻り値の型といった精度の能力が含まれます。

精度がこの方法によって決定することができない、すなわち式全体が精度修飾子を持たないオペランドのみで構成されている場合、結果は割り当てられない、または引数として渡されず、型のデフォルトの精度以上で評価されます。

フラグメントシェーダでこれが発生する場合、デフォルトの精度を定義する必要があります。

例えば、文を考えてみます。

uniform highp float h1;     
highp float h2 = 2.3 * 4.7;// 演算と結果がhighp精度
mediump float m; 
m = 3.7 * h1 * h2;// 全ての演算がhighp精度
h2 = m * h1;// 演算はhighp精度
m = h2 – h1;// 演算はhighp精度
h2 = m + m;// 加算と結果はmediump精度
void f(highp float p); 
f(3.3);// 3.3はhighp精度で渡されます

浮動小数点演算の結果が格納に必要な精度より大きい(小さい)場合、結果はその精度が表現できる最大値(最小値)、あるいは無限大(負の無限大)表現にすることができます。

それ結果は、動作のラッピングや、NaN(Not a Number:非数)の発生、または例外条件などになることができません。

同様に、結果が結果の精度を格納できるよりもゼロに近い場合、結果はゼロまたは(正確に符号を付けられた)無限小値の表現である必要があります。

整数がオーバーフローした結果は未定義の値です。

それはラップされる、またはラップされない可能性があります。

精度修飾子は他の修飾子と同様に、変数の基本型に影響しません。

特に、精度の変換にはコンストラクタは無く、コンストラクタは型のみを変換します。

また精度修飾子は他の修飾子と同様に、パラメータの型に基づく関数のオーバーロードに寄与しません。

次章で説明するように、関数の入力と出力はコピーを介して行われるので、修飾子が一致する必要はありません。



参考文献

The OpenGL ES Shading Language 1.0.17

Wikipedia/NaN






bose_soundlink_revolve
Calendar
03 | 2017/04 | 05
Sun Mon Tue Wed Thu Fri Sat
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
Recent Articles
iTunes


Swift
Categories
Tips
Profile

水月杏香

Author:水月杏香
永遠の初心者プログラマ。

Wish List
WACOM


ARC
Technical Q&A
情報プロパティリストキー
Start Developing iOS Apps Today
BOSE

bose_soundlink_revolve
Reference
NSApplicationDelegateプロトコル
NSArrayクラス
NSAutoreleasePoolクラス
NSBundleクラス
NSBundle UIKit追加分
NSCalendarクラス
NSCoderクラス
NSCodingプロトコル
NSCopyingプロトコル
NSDataクラス
NSDateクラス
NSDateFormatterクラス
NSDictionaryクラス
NSEntityDescriptionクラス
NSEnumeratorクラス
NSErrorクラス
NSExceptionクラス
NSFetchRequestクラス
NSFileHandleクラス
NSFileManagerクラス
NSIndexPathクラス
NSIndexPath UIKit追加分
NSKeyedArchiverクラス
NSKeyedUnarchiverクラス
NSKeyValueCodingプロトコル
NSLocaleクラス
NSManagedObjectクラス
NSManagedObjectContextクラス
NSManagedObjectModelクラス
NSMutableArrayクラス
NSMutableCopyingプロトコル
NSMutableDictionaryクラス
NSMutableSetクラス
NSNotificationクラス
NSNotificationCenterクラス
NSNullクラス
NSNumberクラス
NSObjectクラス
NSObject UIKit追加分
NSObjectプロトコル
NSPersistentStoreクラス
NSPersistentStoreCoordinatorクラス
NSPredicateクラス
NSPropertyListSerializationクラス
NSRunLoopクラス
NSSetクラス
NSStringクラス
NSString UIKit追加分
NSTimerクラス
NSTimeZoneクラス
NSURLクラス
NSURLProtectionSpaceクラス
NSURLRequestクラス
NSUserDefaultsクラス
NSValueクラス

UIActionSheetクラス
UIActionSheetDelegateプロトコル
UIActivityIndicatorViewクラス
UIAlertViewクラス
UIAlertViewDelegateプロトコル
UIApplicationクラス
UIApplicationDelegateプロトコル
UIBarButtonItemクラス
UIBarItemクラス
UIButtonクラス
UIColorクラス
UIControlクラス
UIDatePickerクラス
UIDeviceクラス
UIEventクラス
UIFontクラス
UIGestureRecognizerクラス
UIImageクラス
UIImageViewクラス
UIKit Function
UILabelクラス
UINavigationControllerクラス
UINavigationItemクラス
UIPickerViewクラス
UIPickerViewDataSourceプロトコル
UIPickerViewDelegateプロトコル
UIPinchGestureRecognizerクラス
UIResponderクラス
UIScreenクラス
UIScrollViewクラス
UISearchBarクラス
UISearchBarDelegateプロトコル
UISegmentedControlクラス
UISliderクラス
UISwipeGestureRecognizerクラス
UISwitchクラス
UITableViewクラス
UITableViewCellクラス
UITableViewControllerクラス
UITableViewDataSourceプロトコル
UITableViewDelegateプロトコル
UITapGestureRecognizerクラス
UITextFieldクラス
UITextFieldDelegateプロトコル
UITextInputTraitsプロトコル
UITextViewクラス
UITextViewDelegateプロトコル
UIToolbarクラス
UITouchクラス
UIViewクラス
UIViewControllerクラス
UIWebViewクラス
UIWebViewDelegateプロトコル
UIWindowクラス

AVAudioPlayerクラス
AVAudioPlayerDelegateプロトコル

CADisplayLinkクラス
CAEAGLLayerクラス
CALayerクラス

CGAffineTransform
CGBitmapContext
CGColor
CGColorSpace
CGContext
CGGeometry
CGImage
CGPath

EAGLContextクラス
EAGLDrawableプロトコル

Foundation Constants
Foundation Data Types
Foundation Functions

MPMediaItemクラス
MPMediaItemArtworkクラス
MPMediaPlaylistクラス
MPMediaPropertyPredicateクラス
MPMediaQueryクラス
MPMusicPlayerControllerクラス

Randomization Services

System Sound Services
Amazon


OpenGL ES
SQLite
Monthly Archives
Recent Comments
Recent TrackBacks
RSS Link
Visitors
QR Code
QR