OpenGL ES 1.1

2011. 10. 22
INDEXABCDEFGHILMNOPRSTVegl

A

glActiveTexture
glAlphaFunc

B

glBindBuffer
glBindTexture
glBlendFunc
glBufferData
glBufferSubData

C

glClear
glClearColor
glClearDepth
glClearStencil
glClientActiveTexture
glClipPlane
glColor
glColorMask
glColorPointer
glCompressedTexImage2D
glCompressedTexSubImage2D
glCopyTexImage2D
glCopyTexSubImage2D
glCullFace

D

glDeleteBuffers
glDeleteTextures
glDepthFunc
glDepthMask
glDepthRange
glDisable
glDisableClientState
glDrawArrays
glDrawElements

E

glEnable
glEnableClientState

F

glFinish
glFlush
glFog
glFrontFace
glFrustum

G

glGenBuffers
glGenTextures
glGet
glGetBufferParameteriv
glGetClipPlane
glGetError
glGetLight
glGetMaterial
glGetPointerv
glGetString
glGetTexEnv
glGetTexParameter

H

glHint

I

glIsBuffer
glIsEnabled
glIsTexture

L

glLight
glLightModel
glLineWidth
glLoadIdentity
glLoadMatrix
glLogicOp

M

glMaterial
glMatrixMode
glMultMatrix
glMultiTexCoord

N

glNormal
glNormalPointer

O

glOrtho

P

glPixelStorei
glPointParameter
glPointSize
glPointSizePointerOES
glPolygonOffset
glPopMatrix
glPushMatrix

R

glReadPixels
glRotate

S

glSampleCoverage
glScale
glScissor
glShadeModel
glStencilFunc
glStencilMask
glStencilOp

T

glTexCoordPointer
glTexEnv
glTexImage2D
glTexParameter
glTexSubImage2D
glTranslate

V

glVertexPointer
glViewport

egl

eglBindTexImage
eglChooseConfig
eglCopyBuffers
eglCreateContext
eglCreatePbufferSurface
eglCreatePixmapSurface
eglCreateWindowSurface
eglDestroyContext
eglDestroySurface
eglGetConfigAttrib
eglGetConfigs
eglGetCurrentContext
eglGetCurrentDisplay
eglGetCurrentSurface
eglGetDisplay
eglGetError
eglGetProcAddress
eglInitialize
eglMakeCurrent
eglQueryContext
eglQueryString
eglQuerySurface
eglReleaseTexImage
eglSurfaceAttrib
eglSwapBuffers
eglSwapInterval
eglTerminate
eglWaitGL
eglWaitNative



●B

glBindTexture

void glBindTexture(GLenum target, GLuint texture);

テクスチャを貼るターゲットへ名付けられたテクスチャをバインドします。

glBindTextureは名付けられたテクスチャを生成または使用することができます。

targetをGL_TEXTURE_2Dに設定してglBindTextureを呼び出し、新しいテクスチャの名前をtextureに設定し、ターゲットへテクスチャ名をバインドします。

ターゲットにテクスチャがバインドされていた場合、そのターゲットの以前のバインディングは自動的に破棄されます。

テクスチャ名は符号無し整数です。

値0は、各テクスチャのターゲットのデフォルトのテクスチャを表現するために予約されています。

テクスチャ名と対応するテクスチャのコンテンツは、現在のGLレンダリングコンテキストの共有テクスチャオブジェクト空間(eglCreateContext参照)に対してローカルです。

新しいテクスチャ名の設定を生成するには、glGenTexturesを使用してください。

テクスチャがバインドされている間、バインドされているターゲット上のGLの操作はバインドされているテクスチャに影響を与えます。

テクスチャがバインドされているターゲットの次元のテクスチャマッピングがアクティブな場合、バインドされているテクスチャが使用されます。

実際には、現在バインドされているテクスチャのエイリアスがテクスチャのターゲットとなり、初期化時にテクスチャ名0がバインドされたデフォルトテクスチャを参照します。

glBindTextureで生成されたテクスチャのバインディングは、異なるテクスチャが同じターゲットにバインドされる、またはバインドされているテクスチャがglDeleteTexturesによって削除されるまでアクティブを保持します。

一度生成されると、名付けられたテクスチャは必要に応じて一致する次元のターゲットに再バインドさせることができます。

通常、glTexImage2Dを使用してテクスチャ画像を再読み込みするよりも、テクスチャターゲットの1つに既存の名付けられたテクスチャをglBindTextureを使用してバインドした方が遥かに高速です。

targetが有効な値の1つでない場合、GL_INVALID_ENUMが発生します。

target:テクスチャがバインドされているターゲットを指定します。
GL_TEXTURE_2Dである必要があります。

texture:テクスチャの名前を指定します。

△ Back to INDEX

glBlendFunc


void glBlendFunc(GLenum sfactor, GLenum dfactor);

ピクセル演算を指定します。

ピクセルは、元となる値とカラーバッファ(の対象となる値)内にある既存の値をブレンドする関数を使用して描画することができます。

ブレンディングを有効/無効にするには、引数GL_BLENDでglEnableglDisableを使用してください。

ブレンディングの初期状態は無効になっています。

glBlendFuncは、有効になっている時のブレンディング操作を定義しています。

sfactorは、元となる色成分の比率を11のメソッドを使用して指定します。

dfactorは、対象となる色成分の比率を10のメソッドを使用して指定します。

11の有効なメソッドは以下に表で表します。

各メソッドは、赤、緑、青、そしてアルファの4つの比率要素で定義されています。

表とその後の方程式において、元と対象の色成分は(Rs, Gs, Bs, As)と(Rd, Gd, Bd, Ad)として表されています。

これらは0から(kR, kG, kB, kA)間の整数値を持つとすると、

kc = 2mc - 1

と表され、(mR, mG, mB, mA)は、赤、緑、青、そしてアルファのビットプレーン数を示します。

元と対象の比率要素は、(sR, sG, sB, sA)と(dR, dG, dB, dA)として参照されます。

比率要素は表では(fR, fG, fB, fA)と示しており、元または対象の要素を表します。

全ての比率要素の範囲は[0, 1]です。

Parameter (fR, fG, fB, fA)
GL_ZERO (0, 0, 0, 0)
GL_ONE (1, 1, 1, 1)
GL_SRC_COLOR (R/ kR, G/ kG, B/ kB, A/ kA)
GL_ONE_MINUS_SRC_COLOR (1, 1, 1, 1) - (R/ kR, G/ kG, B/ kB, A/ kA)
GL_DST_COLOR (R/ kR, G/ kG, B/ kB, A/ kA)
GL_ONE_MINUS_DST_COLOR (1, 1, 1, 1) - (R/ kR, G/ kG, B/ kB, A/ kA)
GL_SRC_ALPHA (A/ kA, A/ kA, A/ kA, A/ kA)
GL_ONE_MINUS_SRC_ALPHA (1, 1, 1, 1) - (A/ kA, A/ kA, A/ kA, A/ kA)
GL_DST_ALPHA (A/ kA, A/ kA, A/ kA, A/ kA)
GL_ONE_MINUS_DST_ALPHA (1, 1, 1, 1) - (A/ kA, A/ kA, A/ kA, A/ kA)
GL_SRC_ALPHA_SATURATE (i, i, i, 1)

表において、

i = min(As, kA - Ad) / kA

ピクセルのブレンド値の決定に、システムは以下の方程式を使用します。

Rd = min(kR, RssR + RddR)

Gd = min(kG, GssG + GddG)

Bd = min(kB, BssB + BddB)

Ad = min(kA, AssA + AddA)

ブレンディングは不正確な整数のカラー値で計算するため、上記の方程式の精密な見た目にも関わらず、ブレンディングの計算は正確ではありません。

しかし1に等しくなる必要があるブレンド要素は、その被乗数を変更しないことが保証されており、0に等しいブレンド要素は被乗数を0へ減少させます。

例えばsfactorがGL_SRC_ALPHAで、dfactorがGL_ONE_MINUS_SRC_ALPHA、AskAが等しい場合、方程式は単純なものに置換できます。

Rd = Rs

Gd = Gs

Bd = Bs

Ad = As

全てのピクセル書き込み操作上でのglBlendFuncの操作は、ポイント、ライン、そしてポリゴンの走査変換を含みます。

glBlendFuncはglClearの影響を受けません。

一例として、透明度は最奥から最前にソートされたプリミティブを、glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)を使用して、最も頻繁に実装されます。

この透明度の計算は、カラーバッファのアルファビットプレーンの存在を必要としないことに注意してください。

glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)はまた、アンチエイリアシングをしたポイントとラインのレンダリングに便利です。

sfactorまたはdfactorが有効な値でない場合、GL_INVALID_ENUMが発生します。

sfactor:元となる赤、緑、青、そしてアルファのブレンディング要素をどのように計算するかを指定します。
GL_ZERO、GL_ONE、GL_DST_COLOR、GL_ONE_MINUS_DST_COLOR、GL_SRC_ALPHA、GL_ONE_MINUS_SRC_ALPHA、GL_DST_ALPHA、GL_ONE_MINUS_DST_ALPHA、そしてGL_SRC_ALPHA_SATURATEのシンボリック定数を指定できます。
初期値はGL_ONEです。

dfactor:対象となる赤、緑、青、そしてアルファのブレンディング要素をどのように計算するかを指定します。

GL_ZERO、GL_ONE、GL_SRC_COLOR、GL_ONE_MINUS_SRC_COLOR、GL_SRC_ALPHA、GL_ONE_MINUS_SRC_ALPHA、GL_DST_ALPHA、そしてGL_ONE_MINUS_DST_ALPHAの8つのシンボリック定数を指定できます。
初期値はGL_ZEROです。

△ Back to INDEX



●C

glClear


void glClear(GLbitfield mask);

プリセット値にバッファをクリアします。

glClearは、glClearColor、glClearDepthf、そしてglClearStencilによって予め選択された値に、ウィンドウのビットプレーン空間を設定します。

ピクセル所有権テスト、シザーテスト、ディザリング、そしてバッファのホワイトマスクは、glClearの操作に影響を与えます。

シザーボックスはクリアされた領域を制限します。

アルファ関数、ブレンド関数、論理操作、ステンシル、テクスチャマッピング、そして深度バッファリングは、glClearによって無視されます。

glClearは、バッファをクリアすることを示すいくつかの値から、ORのビットマスクを1つ引数として選択します。

ビットマスクの値は以下の通りです。

GL_COLOR_BUFFER_BIT
カラーバッファを示します。

GL_DEPTH_BUFFER_BIT
深度バッファを示します。

GL_STENCIL_BUFFER_BIT
ステンシルバッファを示します。

各バッファがクリアされた時の値は、そのバッファのクリア値の設定に依存します。

バッファが存在しない場合、glClearはバッファに対して何も影響を与えません。

定義済の3つのビットマスク以外のビットマスクがmaskに設定された場合、GL_INVALID_VALUEが発生します。

mask:バッファをクリアすることを示す、ORのビットマスクを指定します。
有効なマスクはGL_COLOR_BUFFER_BIT、GL_DEPTH_BUFFER_BIT、そしてGL_STENCIL_BUFFER_BITです。

△ Back to INDEX

glClearColor


void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);

void glClearColorx(GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);

カラーバッファのクリア値を指定します。

glClearColorは、glClearでカラーバッファをクリアする際に使用する、赤、緑、青、そしてアルファ値を指定します。

glClearColorが指定できる値は、[0, 1]の範囲に限定されています。

redgreenbluealpha:カラーバッファをクリアする時に使用する、赤、緑、青、そしてアルファ値を指定します。
初期値は全て0です。

△ Back to INDEX

glColor

void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);

void glColor4x(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);

void glColor4ub(GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);

現在の色を設定します。

glColorは、新しい4つの値で現在のRGBA色を設定します。

現在の色の値は、固定小数点または浮動小数点で格納されています。

浮動小数点で格納されている場合、仮数部と指数部のサイズは不定です。

固定小数点も浮動小数点値も、現在の色が更新される以前は、範囲[0, 1]にクランプされていません。

ただし、色要素はカラーバッファに補間あるいは書き込まれる前に、この範囲にクランプされます。

glColor4ubで指定された符号無しbyteの色要素は、0は0.0(ゼロ輝度)に、255は1.0(最大輝度)として、浮動小数点値をリニアにマッピングします。

現在の色の初期値は(1, 1, 1, 1)です。

red
greenbluealpha:現在の色に新しい赤、緑、青、アルファ値を指定します。

△ Back to INDEX

glColorPointer

色の配列を定義します。

void glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);

glColorPointerは、レンダリング時に使用する色要素の配列の場所とデータを指定します。

sizeは色ごとの要素数を指定し、4である必要があります。

typeは各色要素のデータ型を指定し、strideはある色から次の属性へのバイトストライドを指定しており、頂点と属性を単一の配列内にまとめたり、別々の配列に格納することができます。
(単一の配列ストレージは、いくつかの実装でより効率的な場合があります)

色配列が指定されている場合、sizetypestride、そしてpointerはクライアント側の状態として保存されます。

色配列が有効な場合、glDrawArraysまたはglDrawElementsが呼び出された時に使用されます。

色配列の有効/無効は、glEnableClientStateglDisableClientStateを引数GL_COLOR_ARRAYで呼び出します。

色配列は初期状態が無効で、glDrawArraysやglDrawElementsを呼び出した時にアクセスすることはできません。

予め指定された頂点と頂点属性配列から(全てが同型の)プリミティブのシーケンスを構築するには、glDrawArraysを使用してください。

インデックスされた頂点と頂点属性でプリミティブのシーケンスを構築する場合は、glDrawElementsを使用してください。

glColorPointerは、通常クライアント側で実装します。

sizeが4でない場合、GL_INVALID_VALUEが発生します。

typeが有効な値でない場合、GL_INVALID_ENUMが発生します。

strideが負の場合、GL_INVALID_VALUEが発生します。

size
:色ごとの要素数を指定します。
4である必要があります。
初期値は4です。

type
:配列内の各色要素のデータ型を指定します。
シンボリック定数はGL_UNSIGNED_BYTEとGL_FIXEDが有効です。
ただし初期値はGL_FLOATです。
一般的なプロファイルは、シンボリック定数GL_FLOATも受け付けます。

stride
:連続した色間のバイトオフセットを指定します。
strideが0の場合、色は配列内で隙間無く格納されていると解釈されます。
初期値は0です。

pointer
:配列内の最初の色成分の最初の要素へのポインタを指定します。

△ Back to INDEX



●D

glDeleteTextures

void glDeleteTextures(GLsizei n, const GLuint * textures);

名付けられたテクスチャを削除します。

glDeleteTexturesは、配列texturesの要素によって名付けられたn個のテクスチャを削除します。

テクスチャが削除された後、コンテンツまたは大きさを持っていない場合、名前は(glGenTexturesなどで)再利用するために解放されます。

現在バインドされているテクスチャが削除された場合、バインディングは(デフォルトテクスチャの)0に戻ります。

glDeleteTexturesは暗黙的に、0と既存のテクスチャに対応していない名前は無視します。

nが負の場合、GL_INVALID_VALUEが発生します。

n:削除するテクスチャの数を指定します。

textures:削除するテクスチャの配列を指定します。

△ Back to INDEX

glDrawArrays

void glDrawArrays(GLenum mode, GLint first, GLsizei count);

配列データからプリミティブをレンダリングします。

glDrawArraysは、非常に少ないサブルーチンの呼び出しで、複数の幾何学的プリミティブを指定します。

事前に頂点、法線、色、そしてテクスチャ座標それぞれの配列を指定すると、単一のglDrawArraysを呼び出してそれらを使用してプリミティブのシーケンスを構築することができます。

glDrawArraysが呼び出されると、それぞれ有効な配列を要素firstから始まりcountを使用して順次要素を取り出し、幾何学的なプリミティブのシーケンスを構築します。

modeは、どのようにプリミティブは構築されているか、そしてどのように配列の要素はこれらのプリミティブを構築するかを指定します。

GL_VERTEX_ARRAYが有効でない場合、幾何学的なプリミティブは生成されません。

glDrawArraysによって変更される頂点属性はglDrawArraysが戻った後に指定されていない値を持ちます。

例えばGL_COLOR_ARRAYが有効な場合、現在の色の値はglDrawArrays実行後に未定義になります。

変更されていない属性は、定義された値を保持します。

modeが有効な値でない場合、GL_INVALID_ENUMが発生します。

countが負の場合、GL_INVALID_VALUEが発生します。

mode
:どのようにプリミティブをレンダリングするかを指定します。
シンボリック定数GL_POINTS、GL_LINE_STRIP、GL_LINE_LOOP、GL_LINES、GL_TRIANGLE_STRIP、GL_TRIANGLE_FAN、GL_TRIANGLESが有効です。

first
:有効な配列内での開始インデックスを指定します。

count
:レンダリングするインデックス数を指定します。

△ Back to INDEX



●E

glEnable

void glEnable(GLenum cap);

void glDisable(GLenum cap);

サーバ側のGLの機能を有効または無効にします。

glEnableとglDisableは、各種の機能を有効または無効にします。

任意の機能の現在の設定を取得するには、glIsEnabledまたはglGetを使用します。

GL_DITHERとGL_MULTISAMPLEを除き、各機能の初期値はGL_FALSEです。

GL_DITHERとGL_MULTISAMPLEの初期値はGL_TRUEです。

glEnableとglDisableの両方は、以下の値のいずれかを単一の引数capで受け取ります。

GL_ALPHA_TEST
有効にした場合、アルファテストを行います。
glAlphaFunc参照。

GL_BLEND
有効にした場合、カラーバッファ内の値で計算されたフラグメントの色の値をブレンドします。
glBlendFunc参照。

GL_COLOR_LOGIC_OP
有効にした場合、計算されたフラグメントの色とカラーバッファ値に、現在選択された論理操作を適用します。
glLogicOp参照。

GL_CLIP_PLANEi
有効にした場合、ユーザ定義のクリッピング面iに対して幾何形状をクリッピングします。

GL_COLOR_MATERIAL
有効にした場合、環境と拡散マテリアルパラメータは現在の色を追跡します。

GL_CULL_FACE
有効にした場合、ウィンドウ座標内にあるそれらのワインディングに基づいてポリゴンを間引きします。

GL_DEPTH_TEST
有効にした場合、深度の比較と深度バッファの更新を行います。
たとえ深度バッファが存在し、深度マスクが非ゼロであっても、深度テストが無効の場合は深度バッファは更新されないことに注意してください。
glDepthFuncとglDepthRange参照。

GL_DITHER
有効にした場合、カラーバッファへ書き込む前に色要素をディザリングします。

GL_FOG
有効にした場合、ポストテクスチャリングの色にフォグの色をブレンドします。
glFog参照。

GL_LIGHTi
有効にした場合、ライティング方程式の評価にライトiを含めます。
glLightModelとglLight参照。

GL_LIGHTING
有効にした場合、頂点色の計算に現在のライティングのパラメータを使用します。
それ以外の場合、単純に各頂点に現在の色を関連付けます。
glMaterial、glLightModel、そしてglLight参照。

GL_LINE_SMOOTH
有効にした場合、適切なフィルタリングでラインを描画します。
それ以外の場合、エイリアシングしたラインを描画します。
glLineWidth参照。

GL_MULTISAMPLE
有効にした場合、ピクセルの最終的な色の計算に複数のフラグメントのサンプルを使用します。
glSampleCoverage参照。

GL_NORMALIZE
有効にした場合、法線ベクトルは単位長に変換した後、ライティングの前に正規化されます。
このメソッドは、一般にGL_RESCALE_NORMALより効率的です。
glNormalとglNormalPointer参照。

GL_POINT_SMOOTH
有効にした場合、適切なフィルタリングで点を描画します。
それ以外の場合、エイリアシングした点を描画します。
glPointSize参照。

GL_POINT_SPRITE_OES
有効にした場合、ポイントスプライトが有効になります。
glPointSizeとglTexEnv参照。

GL_POLYGON_OFFSET_FILL
有効にした場合、深度の比較を実行する前にポリゴンのフラグメントの深度値にオフセットを追加します。
glPolygonOffset参照。

GL_RESCALE_NORMAL
有効にした場合、モデルビュー行列で計算された係数によって、ライティングの前に、法線ベクトルは変換後にスケーリングされます。
モデルビュー行列が空間に対して一律にスケーリングされる場合、単位長に変換された法線を戻す効果があります。
このメソッドは、一般的にGL_NORMALIZEより効率的です。
glNormalとglNormalPointer参照。

GL_SAMPLE_ALPHA_TO_COVERAGE
有効にした場合、各ビットが対応するサンプル位置でのアルファ値によって決定された、一時的な適用範囲値を計算します。
一時的な適用範囲値は、フラグメントの適用範囲値とANDが取られます。

GL_SAMPLE_ALPHA_TO_ONE
有効にした場合、各サンプルのアルファ値は表現可能な最大アルファ値によって置換されます。

GL_SAMPLE_COVERAGE
有効にした場合、フラグメントの適用範囲は一時的な適用範囲値とANDが取られます。
GL_SAMPLE_COVERAGE_INVERTがGL_TRUEに設定されている場合、適用範囲値は反転されます。
glSampleCoverage参照。

GL_SCISSOR_TEST
有効にした場合、シザー矩形の外側にあるフラグメントを破棄します。
glScissor参照。

GL_STENCIL_TEST
有効にした場合、ステンシルテストを実行し、ステンシルバッファを更新します。
glStencilFunc、glStencilMask、そしてglStencilOp参照。

GL_TEXTURE_2D
有効にした場合、二次元テクスチャリングはアクティブなテクスチャユニットに対し実行されます。
glActiveTexture、glTexImage2D、glCompressedTexImage2D、そしてglCopyTexImage2D参照。

GL_CLIP_PLANEiとGL_POINT_SPRITE_OESはGLバージョン1.1以降でのみサポートされています。

capが上記にリストされた値のいずれでもない場合、GL_INVALID_ENUMが発生します。

cap
:GLの機能を示すシンボリック定数を指定します。

△ Back to INDEX

glEnableClientState

void glEnableClientState(GLenum array);

void glDisableClientState(GLenum array);

クライアント側の機能を有効または無効にします。

glEnableClientStateとglDisableClientStateはクライアント側の機能を個々に有効または無効にします。

デフォルトでは全てのクライアント側の機能が無効になっています。

glEnableClientStateとglDisableClientStateの両方とも、以下の値のいずれか一つの配列を、単一の引数として取ることができます。

GL_COLOR_ARRAY
有効にした場合、カラー配列は書き込みが有効になり、glDrawArraysまたはglDrawElementsが呼び出された時に、レンダリングの間使用することができます。
glColorPointerを参照してください。

GL_NORMAL_ARRAY
有効にした場合、ノーマル配列は書き込みが有効になり、glDrawArraysまたはglDrawElementsが呼び出された時に、レンダリングの間使用することができます。
glNormalPointerを参照してください。

GL_POINT_SIZE_ARRAY_OES
有効にした場合、ポイントサイズ配列はポイントとポイントスプライトのレンダリングに使用するサイズを制御します。
この場合、glPointSizeによって定義されるポイントサイズは無視されます。
ポイントサイズ配列で供給されるポイントサイズは、ポイントとポイントスプライトの両方のレンダリングに使用されるサイズになります。
glPointSizeを参照してください。

GL_TEXTURE_COORD_ARRAY
有効にした場合、テクスチャ座標配列は書き込みが有効になり、glDrawArraysまたはglDrawElementsが呼び出された時に、レンダリングの間使用することができます。
glTexCoordPointerを参照してください。

GL_VERTEX_ARRAY
有効にした場合、頂点配列は書き込みが有効になり、glDrawArraysまたはglDrawElementsが呼び出された時に、レンダリングの間使用することができます。
glVertexPointerを参照してください。

GL_TEXTURE_COORD_ARRAYの有効および無効は、アクティブなクライアントのテクスチャユニットに影響を与えます。

アクティブなクライアントのテクスチャユニットは、glClientActiveTextureで制御されます。

配列が有効な値でない場合、GL_INVALID_ENUMが発生します。

array:有効または無効にする機能を指定します。
シンボリック定数は、GL_COLOR_ARRAY、GL_NORMAL_ARRAY、GL_POINT_SIZE_ARRAY_OES、GL_TEXTURE_COORD_ARRAY、そしてGL_VERTEX_ARRAYが指定できます。

△ Back to INDEX



●G

glGenTextures


void glGenTextures(GLsizei n, GLuint * textures);

テクスチャ名を生成します。

glGenTextureは、textures内のn個のテクスチャ名を返します。

名前は整数の連続したセットを形成することを保証するものではありません。

しかし、返された名前がglGenTexturesの呼び出しの直前に使用されていなかったことを保証します。

生成されたテクスチャは大きさを持っておらず、最初にバインドされたテクスチャのターゲットの大きさを想定しています。(glBindTexture参照)

glDeleteTexturesによって最初に削除されない限り、glGenTexturesの呼び出しによって返されるテクスチャ名は、後続の呼び出しによって返されません。

nが負の場合、GL_INVALID_VALUEが発生します。

n:生成されたテクスチャ名の個数を指定します。

texture:生成されたテクスチャ名が格納される配列を指定します。

△ Back to INDEX

glGet

void glGetBooleanv(GLenum pname, GLboolean * params);

void glGetFixedv(GLenum pname, GLfixed * params);

void glGetFloatv(GLenum pname, GLfloat * params);

void glGetIntegerv(GLenum pname, GLint * params);

値または選択されたパラメータの値を返します。

これらのコマンドは、GL内で静的な状態変数の値を返します。

pnameは返される静的な状態変数を示すシンボリック定数で、paramsは返されるデータが置かれる指定された型の配列へのポインタです。

Getコマンドは取得した値の型と返す値の型が異なる場合、型の変換を実行します。

GetBooleanvの呼び出しでは、浮動小数点または整数値はゼロの場合のみGL_FALSEに、それ以外の場合はGL_TRUEに変換されます。

GetIntegervの呼び出しでは、ブール値は1または0と解釈され、浮動小数点値はRGBAの色成分、DepthRange値、深度バッファのクリア値、または通常の座標値でない限り、最も近い整数に丸められます。

これらの場合、Getコマンドは表現可能な正の整数最大値を1.0、表現可能な負の整数最小値を-1.0とマップし、線形にマッピングを行います。

GetFloatvの呼び出しでは、ブール値は1.0または0.0と解釈され、整数は強制的に浮動小数点に変換されます。

要求された型で表現することができない非常に大きなの値は、要求された型で表現可能な最も近い値で返されます。

以下にpnameが受け取れるシンボリック定数を示します。

GL_ACTIVE_TEXTURE
paramsはアクティブなマルチテクスチャユニットを示す単一の値を返します。
初期値はGL_TEXTURE0です。
glActiveTexture参照。

GL_ALIASED_POINT_SIZE_RANGE
paramsはエイリアシングポイントのサポートされているサイズの、最小と最大の2つの値を返します。
範囲には1が含まれている必要があります。
glPointSize参照。

GL_ALIASED_LINE_WIDTH_RANGE
paramsはエイリアシングラインのサポートされている幅の、最小と最大の2つの値を返します。
範囲には1が含まれている必要があります。
glLineWidth参照。

GL_ALPHA_BITS
paramsはカラーバッファ内のアルファビットプレーン数を単一の値で返します。

GL_ALPHA_TEST
paramsはテストのフラグメントのアルファテストが有効になっているかを示す、単一のブール値を返します。
初期値はGL_FALSEです。
glAlphaFunc参照。

GL_ALPHA_TEST_FUNC
paramsはアルファテスト関数のシンボリック名を単一の値で返します。
glAlphaFunc参照。

GL_ALPHA_TEST_REF
paramsはアルファテストのための基準値を単一の値で返します。
整数値は要求された場合に、表現可能な正の整数最大値を1.0、表現可能な負の整数最小値を-1.0とマップし、内部の浮動小数点表現から線形にマッピングを行います。
glAlphaFunc参照。

GL_ARRAY_BUFFER_BINDING
paramsはターゲットGL_ARRAY_BUFFERに現在バインドされているバッファオブジェクトの名前を単一の値で返します。
このターゲットにバインドされているバッファオブジェクトが無い場合は0が返されます。
初期値は0です。
glBindBuffer参照。

GL_BLEND
paramsはフラグメントのブレンディングが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glBlendFuncとglLogicOp参照。

GL_BLEND_DST
paramsは対象のブレンド機能を識別するシンボリック定数を単一の値で返します。
glBlendFunc参照。

GL_BLEND_SRC
paramsは元のブレンド機能を識別するシンボリック定数を単一の値で返します。
glBlendFunc参照。

GL_BLUE_BITS
paramsはカラーバッファの青ビットプレーンの数を単一の値で返します。

GL_CLIENT_ACTIVE_TEXTURE
paramsは現在のクライアントのアクティブなマルチテクスチャユニットを示す単一の値を返します。
初期値はGL_TEXTURE0です。
glClientActiveTexture参照。

GL_CLIP_PLANEi
paramsi番目のユーザのクリッピングプレーンが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glClipPlane参照。

GL_COLOR_ARRAY
paramsは色配列が有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glColorPointer参照。

GL_COLOR_ARRAY_BUFFER_BINDING
paramsは色配列バッファのバインディングを単一の値で返します。
glColorPointer参照。

GL_COLOR_ARRAY_SIZE
paramsは色配列内の色ごとの要素数を単一の値で返します。
glColorPointer参照。

GL_COLOR_ARRAY_STRIDE
paramsは色配列内の連続した色の間のバイトオフセットを単一の値で返します。
glColorPointer参照。

GL_COLOR_ARRAY_TYPE
paramsは色配列内の各要素のデータ型を単一の値で返します。
glColorPointer参照。

GL_COLOR_CLEAR_VALUE
paramsはカラーバッファのクリアに使用する赤、緑、青、アルファの4つの値を返します。
glClearColor参照。

GL_COLOR_LOGIC_OP
paramsはカラー値上の論理演算が有効になっているかどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glLogicOp参照。

GL_COLOR_MATERIAL
paramsはカラーマテリアルのトラッキングが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glMaterial参照。

GL_COLOR_WRITEMASK
paramsはカラーバッファへの赤、緑、青、アルファの書き込みが有効かどうかを示す4つのブール値を返します。
glColorMask参照。

GL_COMPRESSED_TEXTURE_FORMATS
paramsはサポートされている圧縮テクスチャフォーマットをGL_NUM_COMPRESSED_TEXTURE_FORMATS値で返します。
glCompressedTexImage2DとglCompressedTexSubImage2D参照。

GL_CULL_FACE
paramsはポリゴンの間引きが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glCullFace参照。

GL_CULL_FACE_MODE
paramsはポリゴンのフェースが間引きされているかを示すシンボリック定数を1つ返します。
初期値はGL_BACKです。
glCullFace参照。

GL_CURRENT_COLOR
paramsは現在の色の赤、緑、青、アルファ値を示す4つの値を返します。
整数値が要求された場合は、表現可能な正の整数最大値を1.0、表現可能な負の整数最小値を-1.0とマップし、内部の浮動小数点の表現を線形にマッピングします。
初期値は(1, 1, 1, 1)です。
glColor参照。

GL_CURRENT_NORMAL
paramsは現在の法線を表すx、y、z値の3つの値を返します。
整数値が要求された場合は、表現可能な正の整数最大値を1.0、表現可能な負の整数最小値を-1.0とマップし、内部の浮動小数点の表現を線形にマッピングします。
初期値は(0, 0, 1)です。
glNormal参照。

GL_CURRENT_TEXTURE_COORDS
paramsは現在のテクスチャ座標を表すs、t、r、qの4つの値を返します。
初期値は(0, 0, 0, 1)です。
glMultiTexCoord参照。

GL_DEPTH_BITS
paramsは深度バッファ内のビットプレーン数を1つの値で返します。

GL_DEPTH_CLEAR_VALUE
paramsは深度バッファのクリアに使用される値を1つ返します。
glClearDepth参照。

GL_DEPTH_FUNC
paramsは深度比較関数のシンボリック名を1つ返します。
glDepthFunc参照。

GL_DEPTH_RANGE
paramsは深度バッファでマッピングできる手前と奥の限界値を2つの値で返します。
glDepthRange参照。

GL_DEPTH_TEST
paramsはフラグメントの深度テストが有効になっているかどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glDepthFuncとglDepthRange参照。

GL_DEPTH_WRITEMASK
paramsは深度バッファへの書き込みが有効かどうかを示す単一のブール値を返します。
glDepthMask参照。

GL_ELEMENT_ARRAY_BUFFER_BINDING
paramsは現在ターゲットGL_ELEMENT_ARRAY_BUFFERへバインドしているバッファオブジェクト名を単一の値で返します。
このターゲットにバインドしているバッファオブジェクトが無い場合は0が返されます。
初期値は0です。
glBindBuffer参照。

GL_FOG
paramsはフォグが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glFog参照。

GL_FOG_COLOR
paramsはフォグカラーの赤、緑、青、アルファ要素の4つの値を返します。
glFog参照。

GL_FOG_DENSITY
paramsはフォグの濃度パラメータを表す1つの値を返します。
glFog参照。

GL_FOG_END
paramsは線形フォグ方程式の終了要素を表す1つの値を返します。
glFog参照。

GL_FOG_HINT
paramsはフォグのヒントのモードを示すシンボリック定数を表す1つの値を返します。
glHint参照。

GL_FOG_MODE
paramsはフォグ方程式が選択されているかどうかを示すシンボリック定数を1つの値で返します。
glFog参照。

GL_FOG_START
paramsは線形フォグ方程式の開始要素を表す1つの値を返します。
glFog参照。

GL_FRONT_FACE
paramsは時計回りまたは反時計回りのポリゴンのワインディングの、どちらを表向きとして扱うかを示すシンボリック定数を1つの値で返します。
glFrontFace参照。

GL_GREEN_BITS
paramsはカラーバッファ内の緑のビットプレーン数を1つの値で返します。

GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES
paramsはピクセルの読み込みのために優先するフォーマットを1つの値で返します。
glReadPixels参照。

GL_IMPLEMENTATION_COLOR_READ_TYPE_OES
paramsはピクセルの読み込みのために優先する型を1つの値で返します。
glReadPixels参照。

GL_LIGHT_MODEL_AMBIENT
paramsはシーン全体の環境光の赤、緑、青、アルファ要素の4つの値を返します。
glLightModel参照。

GL_LIGHT_MODEL_TWO_SIDE
paramsはポリゴンの表と裏面のためのライティングに別々のマテリアルを使用するかどうかを示す単一のブール値を返します。
glLightModel参照。

GL_LIGHTi
paramsi番目のライトが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glLightとglLightModel参照。

GL_LIGHTING
paramsはライティングが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glLight、glLightModelとglMaterial参照。

GL_LINE_SMOOTH
paramsはラインのアンチエイリアシングが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glLineWidth参照。

GL_LINE_SMOOTH_HINT
paramsはラインのアンチエイリアシングのヒントのモードを示す、シンボリック定数を1つの値で返します。
glHint参照。

GL_LINE_WIDTH
paramsglLineWidthで指定された線幅を1つの値で返します。

GL_LOGIC_OP_MODE
paramsは選択された論理操作モードを示すシンボリック定数を1つの値で返します。
glLogicOp参照。

GL_MATRIX_MODE
paramsは行列スタックが現在全ての行列操作のターゲットかどうかを示すシンボリック定数を1つの値で返します。
glMatrixMode参照。

GL_MAX_CLIP_PLANES
paramsはアプリケーションが定義したクリッピングプレーンの最大数を1つの値で返します。
この値は少なくとも6である必要があります。
glClipPlane参照。

GL_MAX_LIGHTS
paramsはライトの最大数を1つの値で返します。
この値は少なくとも8である必要があります。
glLight参照。

GL_MAX_MODELVIEW_STACK_DEPTH
paramsはモデルビュー行列スタックでサポートされる最大深度を1つの値で返します。
この値は少なくとも16である必要があります。
glPushMatrix参照。

GL_MAX_PROJECTION_STACK_DEPTH
paramsは射影行列スタックでサポートされる最大深度を1つの値で返します。
この値は少なくとも2である必要があります。
glPushMatrix参照。

GL_MAX_TEXTURE_SIZE
paramsはGLが処理可能な最大のテクスチャの概算を1つの値で返します。
この値は少なくとも64である必要があります。
glTexImage2D、glCompressedTexImage2DとglCopyTexImage2D参照。

GL_MAX_TEXTURE_STACK_DEPTH
paramsはテクスチャ行列スタックでサポートされる最大深度を1つの値で返します。
この値は少なくとも2である必要があります。
glPushMatrix参照。

GL_MAX_TEXTURE_UNITS
paramsはサポートされているテクスチャユニット数を示す単一の値を返します。
この値は少なくとも1である必要があります。
glActiveTexture、glClientActiveTextureとglMultiTexCoord参照。

GL_MAX_VIEWPORT_DIMS
paramsはビューポートがサポートされている最大の幅と高さの2つの値を返します。
これらは少なくともレンダリングで表示される可視範囲と同じ大きさである必要があります。
glViewport参照。

GL_MODELVIEW_MATRIX
paramsはモデルビュー行列スタックの最上位にあるモデルビュー行列の16個の値を返します。
glPushMatrix参照。

GL_MODELVIEW_STACK_DEPTH
paramsはモデルビュー行列スタックの行列数を1つの値で返します。
glPushMatrix参照。

GL_MULTISAMPLE
paramsはマルチサンプリングが有効かどうかを示す単一のブール値を返します。
初期値はGL_TRUEです。

GL_NORMAL_ARRAY
paramsは法線配列が有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glNormalPointer参照。

GL_NORMAL_ARRAY_BUFFER_BINDING
paramsは法線配列バッファのバインディングを1つの値で返します。
glNormalPointer参照。

GL_NORMAL_ARRAY_STRIDE
paramsは法線配列内の連続した法線間のバイトオフセットを1つの値で返します。
glNormalPointer参照。

GL_NORMAL_ARRAY_TYPE
paramsは法線配列内の各法線のデータ型を1つの値で返します。
glNormalPointer参照。

GL_NORMALIZE
paramsは法線の正規化が有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glNormal参照。

GL_NUM_COMPRESSED_TEXTURE_FORMATS
paramsはサポートされている圧縮テクスチャフォーマット数を1つの値で返します。
この値は少なくとも10である必要があります。
glCompressedTexImage2DとglCompressedTexSubImage2D参照。

GL_PACK_ALIGNMENT
paramsはメモリにピクセルデータを書き込むために使用する、バイトアラインメントを1つの値で返します。
glPixelStorei参照。

GL_PERSPECTIVE_CORRECTION_HINT
paramsは透視変換補正のヒントのモードを示すシンボリック定数を1つの値で返します。
glHint参照。

GL_POINT_DISTANCE_ATTENUATION
paramsは間隔減衰関数の係数a、b、cの3つの値を返します。
初期値は(1, 0, 0)です。
glPointParameter参照。

GL_POINT_FADE_THRESHOLD_SIZE
paramsはポイントのフェードの閾値を一つの値で返します。
初期値は1です。
glPointParameter参照。

GL_POINT_SIZE
paramsはglPointSizeによって指定されたものとしてポイントサイズを1つの値で返します。

GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES
paramsはポイントサイズの配列バッファのバインディングを1つの値で返します。
glPointSizePointerOES参照。

GL_POINT_SIZE_ARRAY_OES
paramsはポイントサイズの配列が有効かどうかを示す単一のブール値を示します。
初期値はGL_FALSEです。
glPointSizePointerOES参照。

GL_POINT_SIZE_ARRAY_STRIDE_OES
paramsはポイントサイズ配列内の連続したポイントサイズ間のバイトオフセットを1つの値で返します。
glPointSizePointerOES参照。

GL_POINT_SIZE_ARRAY_TYPE_OES
paramsはポイント配列内の各ポイントサイズのデータ型を1つの値で返します。
glPointSizePointerOES参照。

GL_POINT_SIZE_MAX
paramsはクランプされたポイントサイズから取得した上限を1つの値で返します。
初期値はエイリアスとスムーズポイントサイズの実装に依存した最大値です。
glPointParameter参照。

GL_POINT_SIZE_MIN
paramsはクランプされたポイントサイズから取得した下限を1つの値で返します。
初期値は0です。
glPointParameter参照。

GL_POINT_SMOOTH
paramsはポイントのアンチエイリアシングが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glPointSize参照。

GL_POINT_SMOOTH_HINT
paramsはポイントのアンチエイリアシングのヒントのモードを示すシンボリック定数を1つの値で返します。
glHint参照。

GL_POINT_SPRITE_OES
paramsはポイントスプライトが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glTexEnv参照。

GL_POLYGON_OFFSET_FACTOR
paramsはポリゴンがラスタライズされた時に生成される、各フラグメント深度値に追加される変数のオフセットの決定に使用される、スケーリング要素を1つの値で返します。
glPolygonOffset参照。

GL_POLYGON_OFFSET_FILL
paramsは塗りつぶしモードのポリゴンで、ポリゴンのオフセットが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glPolygonOffset参照。

GL_POLYGON_OFFSET_UNITS
paramsはポリゴンがラスタライズされた時に生成される、各フラグメントの深度値に追加される、実装固有の値によって乗じる値を1つの値で返します。
glPolygonOffset参照。

GL_PROJECTION_MATRIX
paramsは投影行列スタックの最上位にある投影行列の16個の値を返します。
glPushMatrix参照。

GL_PROJECTION_STACK_DEPTH
paramsは投影行列スタックの行列数を1つの値で返します。
glPushMatrix参照。

GL_RED_BITS
paramsはカラーバッファ内の赤のビットプレーン数を1つの値で返します。

GL_RESCALE_NORMAL
paramsは法線の再スケーリングが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glNormal参照。

GL_SAMPLE_ALPHA_TO_COVERAGE
paramsはフラグメントのアルファ値に基づいて、フラグメントの適用範囲値に一時的な適用範囲値をAND演算する必要があるかどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glSampleCoverage参照。

GL_SAMPLE_ALPHA_TO_ONE
paramsは適用範囲決定後に、フラグメントのアルファ値を表現可能な最大のアルファ値によって置換するかどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glSampleCoverage参照。

GL_SAMPLE_BUFFERS

paramsは現在バインドされているフレームバッファに関連付けられているサンプルバッファ数を示す単一の整数値を返します。
glSampleCoverage参照。

GL_SAMPLE_COVERAGE

paramsは現在のサンプル適用範囲値に基づいて、フラグメントの適用範囲値に一時的な適用範囲値をAND演算する必要があるかどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glSampleCoverage参照。

GL_SAMPLE_COVERAGE_INVERT
paramsは一時的な適用範囲値を反転する必要があるかどうかを示す単一のブール値を返します。
glSampleCoverage参照。

GL_SAMPLE_COVERAGE_VALUE
paramsは現在のサンプル適用範囲値を示す単一の正の浮動小数点値を返します。
glSampleCoverage参照。

GL_SAMPLES

paramsは現在バインドされているフレームバッファの適用範囲のマスクサイズを示す単一の整数値を返します。
glSampleCoverage参照。

GL_SCISSOR_BOX
paramsはシザーボックスのウィンドウ座標のx、y、幅、高さの4つの値を返します。
glScissor参照。

GL_SCISSOR_TEST
paramsはシザーリングが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glScissor参照。

GL_SHADE_MODEL
paramsはシェーディングモードがフラットまたはスムーズであるかどうかを示すシンボリック定数を1つの値で返します。
glShadeModel参照。

GL_SMOOTH_LINE_WIDTH_RANGE
paramsはアンチエイリアスされたラインのサポートされている最小と最大の幅の2つの値を返します。
範囲には1が含まれている必要があります。
glLineWidth参照。

GL_SMOOTH_POINT_SIZE_RANGE

paramsはアンチエイリアスされたポイントのサポートされている最小と最大の幅の2つの値を返します。
範囲には1が含まれている必要があります。
glPointSize参照。

GL_STENCIL_BITS
paramsはステンシルバッファ内のビットプレーン数を1つの値で返します。

GL_STENCIL_CLEAR_VALUE
paramsはクリアされたステンシルのビットプレーンのインデックスを1つの値で返します。
glClearStencil参照。

GL_STENCIL_FAIL
paramsはステンシルテストが失敗した時に実行するアクションを示すシンボリック定数を1つの値で返します。
glStencilOp参照。

GL_STENCIL_FUNC
paramsはステンシルバッファ値とステンシル基準値の比較に使用する関数を示すシンボリック定数を1つの値で返します。
glStencilFunc参照。

GL_STENCIL_PASS_DEPTH_FAIL
paramsはステンシルテストが成功したが深度テストが失敗した時に実行するアクションを示すシンボリック定数を1つの値で返します。
glStencilOp参照。

GL_STENCIL_PASS_DEPTH_PASS

paramsはステンシルテストと深度テストが成功した時に実行するアクションを示すシンボリック定数を1つの値で返します。
glStencilOp参照。

GL_STENCIL_REF
paramsはステンシルバッファのコンテンツと比較する基準値を1つの値で返します。
glStencilFunc参照。

GL_STENCIL_TEST
paramsはフラグメントのステンシルテストが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glStencilFuncとglStencilOp参照。

GL_STENCIL_VALUE_MASK
paramsは比較する前にステンシルバッファ値とステンシル基準値の両方をマスクするために使用するマスクを1つの値で返します。
glStencilFunc参照。

GL_STENCIL_WRITEMASK
paramsはステンシルのビットプレーンの書き込みを制御するマスクを1つの値で返します。
glStencilMask参照。

GL_SUBPIXEL_BITS
paramsはウィンドウ座標内でラスタライズされたジオメトリの配置に使用する、サブピクセルの解像度のビット数の推定値を1つの値で返します。
この値は少なくとも4である必要があります。

GL_TEXTURE_2D
paramsは2Dテクスチャリングが有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glTexImage2D参照。

GL_TEXTURE_BINDING_2D
paramsはターゲットGL_TEXTURE_2Dに現在バインドされているテクスチャ名を1つの値で返します。
glBindTexture参照。

GL_TEXTURE_COORD_ARRAY
paramsはテクスチャ座標配列が有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glTexCoordPointer参照。

GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING
paramsはテクスチャ座標配列バッファのバインディングを1つの値で返します。
glTexCoordPointer参照。

GL_TEXTURE_COORD_ARRAY_SIZE

paramsはテクスチャ座標配列内の要素ごとの座標数を1つの値で返します。
glTexCoordPointer参照。

GL_TEXTURE_COORD_ARRAY_STRIDE
paramsはテクスチャ座標配列内の連続した要素間のバイトオフセットを1つの値で返します。
glTexCoordPointer参照。

GL_TEXTURE_COORD_ARRAY_TYPE
paramsはテクスチャ座標配列内の各座標のデータ型を1つの値で返します。
glTexCoordPointer参照。

GL_TEXTURE_MATRIX
paramsはテクスチャ行列スタックの最上位にあるテクスチャ行列の16個の値を返します。
glPushMatrix参照。

GL_TEXTURE_STACK_DEPTH
paramsはテクスチャ行列スタックの行列数を1つの値で返します。
glBindTexture参照。

GL_UNPACK_ALIGNMENT
paramsはメモリからピクセルデータを読み込むために使用するバイトアラインメントを1つの値で返します。
glPixelStorei参照。

GL_VIEWPORT
paramsはビューポートのウィンドウ座標のx、y、幅、高さの4つの値を返します。
glViewport参照。

GL_VERTEX_ARRAY
paramsは頂点配列が有効かどうかを示す単一のブール値を返します。
初期値はGL_FALSEです。
glVertexPointer参照。

GL_VERTEX_ARRAY_BUFFER_BINDING
paramsは頂点配列のバッファのバインディングを1つの値で返します。
glVertexPointer参照。

GL_VERTEX_ARRAY_SIZE
paramsは頂点配列内の頂点ごとの座標数を1つの値で返します。
glVertexPointer参照。

GL_VERTEX_ARRAY_STRIDE
paramsは頂点配列内の連続した頂点間のバイトオフセットを1つの値で返します。
glVertexPointer参照。

GL_VERTEX_ARRAY_TYPE

paramsは頂点配列内の各座標のデータ型を1つの値で返します。
glVertexPointer参照。

GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES、GL_POINT_SIZE_ARRAY_STRIDE_OES、そしてGL_POINT_SIZE_ARRAY_TYPE_OESはOpenGL ES 1.1以上でのみ受け取れます。

pnameが有効な値でない場合、GL_INVALID_ENUMが発生します。

pname:返されるパラメータの値を指定します。
上記リストのシンボリック定数が指定できます。

params:値または指定されたパラメータの値を返します。

△ Back to INDEX



●L

glLineWidth

void glLineWidth(GLfloat width);

void glLineWidthx(GLfixed width);

ラスタライズされるラインの幅を指定します。

glLineWidthは、エイリアスとアンチエイリアス両方のラインの、ラスタライズの幅を指定します。

1以外の線幅を使用するとアンチエイリアシングが有効かどうかに応じて異なる効果が得られます。

ラインのアンチエイリアシングを有効または無効にするには、引数GL_LINE_SMOOTHでglEnableまたはglDisableを呼び出します。

ラインのアンチエイリアシングは、初期状態で無効になっています。

ラインのアンチエイリアシングを無効にした場合、実際の幅は最も近い整数の幅に丸められることによって決定されます。
(丸められた結果の値が0の場合、線幅は1とされます。)

x| >= |Δy|の場合、丸められたwidthの値をiとすると、ラスタライズされた各列がiピクセルで埋められます。

それ以外の場合、ラスタライズされた各行がiピクセルで埋められます。

アンチエイリアシングを有効にした場合、ラインのラスタライズは、数学的な線分の中心に実際のラインの長さに等しい長さで、現在の線幅に等しい幅を持つ矩形内にある領域と交差する各ピクセル正方形のためのフラグメントを生成します。

各フラグメントの適用範囲値は、対応するピクセル正方形と矩形領域の交差するウィンドウ座標領域です。

この値は保存され、最終的なラスタライズの工程で使用されます。

ラインのアンチエイリアシングが有効になっている場合でも全ての幅がサポートされる訳ではありません。

サポートされていない幅が要求された場合、サポートされている最も近い幅が使用されます。

幅1のみサポートが保証されており、それ以外は実装に依存します。

また、エイリアシングされた線幅も同様です。

サポートされている幅の範囲を照会するには、引数GL_ALIASED_LINE_WIDTH_RANGEまたはGL_SMOOTH_LINE_WIDTH_RANGEでglGetを呼び出します。

アンチエイリアシングされていない線幅は、実装依存の最大値にクランプされる場合があります。

最大幅の決定には、GL_ALIASED_LINE_WIDTH_RANGEでglGetを呼び出してください。

widthが0以下の場合、GL_INVALID_VALUEが発生します。

width
:ラスタライズされるラインの幅を指定します。
初期値は1です。

△ Back to INDEX

glLoadIdentity


void glLoadIdentity(void);

現在の行列と単位行列を置換します。

glLoadIdentityは、現在の行列と単位行列を置換します。

これは単位行列でglLoadMatrixを呼び出したのと同義ですが、場合によってはより効率的です。

7541

△ Back to INDEX



●M

glMatrixMode


void glMatrixMode(GLenum mode);

現在の行列となる行列を指定します。

glMatrixModeは現在の行列モードを設定します。

modeは以下の値の内の一つを採ることができます。

GL_MODELVIEW
モデルビュー行列スタックに、後続の行列操作を適用します。

GL_PROJECTION
投影行列スタックに、後続の行列操作を適用します。

GL_TEXTURE
テクスチャ行列スタックに、後続の行列操作を適用します。

modeが有効な値でない場合、GL_INVALID_ENUMが発生します。

mode:行列スタックにその後の行列操作のためのターゲットを指定します。
GL_MODELVIEW、GL_PROJECTION、そしてGL_TEXTUREという値が使用できます。
初期値はGL_MODELVIEWです。

△ Back to INDEX



●O

glOrtho


void glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near, GLfloat far);

void glOrthox(GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed near, GLfixed far);

正射影行列を現在の行列に乗じます。

glOrtho正射影(平行投影)を生成する変換を記述します。

これはglMultMatrixを以下の行列を引数として呼び出したものと同様に、現在の行列(glMatrixMode参照)はこの行列によって乗じられ、その結果が現在の行列に置換されます。

7542

7543

通常、行列モードはGL_PROJECTIONで、視点が(0, 0, 0)に配置されていると仮定して、ウィンドウの左下と右上角にマッピングされるように、手前のクリッピング面上の点にそれぞれ(left, bottom, -near)と(right, top, -near)を指定します。

奥のクリッピング面の位置は、-farを指定します。

nearfarの双方とも、正や負になる場合があります。

現在の行列スタックの保存と復元には、glPushMatrixとglPopMatrixを使用してください。

left = right、またはbottom = top、あるいはnear = farの場合はGL_INVALID_VALUEが発生します。

leftright:垂直クリッピング面の左右の座標を指定します。

bottomtop:水平クリッピング面の上下の座標を指定します。

nearfar:深度クリッピング面の手前と奥の距離を指定します。

クリッピング面がビューアより後方になる場合は、値が負になります。

△ Back to INDEX



●R

glRotate

void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z);

void glRotatex(GLfixed angle, GLfixed x, GLfixed y, GLfixed z);

回転行列を現在の行列に乗じます。

glRotateはangle度で(x, y, z)方向への回転を生成します。

これはglMultMatrixを以下の行列を引数として呼び出したものと同様に、現在の行列(glMatrixMode参照)はこの行列によって乗じられ、その結果が現在の行列に置換されます。

7779

c = cos(angle)、s = sin(angle)、|| (x, y, z) || = 1(正規化されていない場合、GLはこのベクトルを正規化します)。

行列モードがGL_MODELVIEWまたはGL_PROJECTIONのどちらかの場合、glRotateが呼び出された後に描画された全てのオブジェクトが回転します。

回転前の座標系の保存と復元には、glPushMatrixとglPopMatrixを使用してください。

この回転は右手則に従い、ユーザに対してベクトル(x, y, z)は反時計回りに回転します。

angle:度で回転角度を指定します。

xyz:x、y、zそれぞれのベクトル座標を指定します。

△ Back to INDEX



●S

glScale

void glScalef(GLfloat x, GLfloat y, GLfloat z);

void glScalex(GLfixed x, GLfixed y, GLfixed z);

glScaleはx、y、z軸について不均一な拡大縮小を生成します。

3つのパラメータは、三軸それぞれについての目的とする拡大縮小要素を示します。

これはglMultMatrixを以下の行列を引数として呼び出したものと同様に、現在の行列(glMatrixMode参照)はこの行列によって乗じられ、その結果が現在の行列に置換されます。

7781

行列モードがGL_MODELVIEWまたはGL_PROJECTIONのどちらかの場合、glScaleが呼び出された後に描画された全てのオブジェクトが拡大縮小します。

拡大縮小前の座標系の保存と復元には、glPushMatrixとglPopMatrixを使用してください。

1以外の拡大縮小要素がモデルビュー行列に適用された場合、ライティングが有効であると、ライティングはしばしば間違って表示されます。

その場合、引数GL_NORMALIZEでglEnableを呼び出すことによって、法線の自動正規化を有効にしてください。

xyzxyz軸それぞれについてスケーリング要素を指定します。

△ Back to INDEX



●T

glTexCoordPointer

void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);

glTexCoordPointerはレンダリング時に使用するテクスチャ座標の配列の位置とデータを指定します。

sizeは要素ごとの座標数を指定し、2、3、または4である必要があります。

typeは各テクスチャ座標のデータ型を指定し、strideはある配列要素から次に与える頂点へのバイトストライドと、単一の配列または別々の配列内に格納する属性を指定します。
(単一の配列のストレージは、いくつかの実装でより効率的な場合があります。)

テクスチャ座標配列が指定されている場合、sizetypestride、そしてpointerはクライアント側の状態として保存されます。

テクスチャ座標配列が有効な場合、glDrawArraysまたはglDrawElementsが呼び出された時に使用されます。

クライアント側のアクティブなテクスチャユニットの、テクスチャ座標配列を有効または無効にするには、引数GL_TEXTURE_COORD_ARRAYでglEnableClientStateまたはglDisableClientStateを呼び出してください。

全てのクライアント側のアクティブなテクスチャユニットのテクスチャ座標配列の初期状態は無効で、glDrawArraysまたはglDrawElementsが呼び出された時にアクセスできません。

予め指定された頂点と頂点属性配列から(全て同じ型の)プリミティブのシーケンスを構築するにはglDrawArraysを使用してください。

インデックス化された頂点と頂点属性によってプリミティブのシーケンスを構築するにはglDrawElementsを使用してください。

glTexCoordPointerは、通常クライアント側に実装されています。

glTexCoordPointerはglClientActiveTextureを指定して、クライアント側のアクティブなテクスチャユニットのテクスチャ座標配列を更新します。

sizeが2、3、または4でない場合、GL_INVALID_VALUEが発生します。

typeが有効な値でない場合、GL_INVALID_ENUMが発生します。

strideが負の場合、GL_INVALID_VALUEが発生します。

size
:配列要素ごとの座標数を指定します。
2、3、または4である必要があります。
初期値は4です。

type
:各テクスチャ座標のデータ型を指定します。
シンボリック定数GL_BYTE、GL_SHORT、そしてGL_FIXEDが有効です。
ただし初期値はGL_FLOATです。
一般的なプロファイルでは、シンボリック定数GL_FLOATも有効です。

stride
:連続した配列要素間のバイトオフセットを指定します。
strideが0の場合、配列要素は隙間無く格納されていると解釈されます。
初期値は0です。

pointer
:配列内の最初の要素の最初の座標へのポインタを指定します。
初期値は0です。

△ Back to INDEX

glTexEnv


void glTexEnvf(GLenum target, GLenum pname, GLfloat param);

void glTexEnvi(GLenum target, GLenum pname, GLint param);

void glTexEnvx(GLenum target, GLenum pname, GLfixed param);

target

テクスチャ環境を指定します。
GL_TEXTURE_ENVまたはGL_POINT_SPRITE_OESになります。

pname

単一の値となるテクスチャ環境パラメータのシンボリック名を指定します。
GL_TEXTURE_ENV_MODE、GL_COMBINE_RGB、GL_COMBINE_ALPHA、GL_SRC0_RGB、GL_SRC1_RGB、GL_SRC2_RGB、GL_SRC0_ALPHA、GL_SRC1_ALPHA、GL_SRC2_ALPHA、GL_OPERAND0_RGB、GL_OPERAND1_RGB、GL_OPERAND2_RGB、GL_OPERAND0_ALPHA、GL_OPERAND1_ALPHA、GL_OPERAND2_ALPHA、GL_RGB_SCALE、GL_ALPHA_SCALE、GL_COORD_REPLACE_OESのいずれかになります。

param

単一のシンボリック定数を指定します。
GL_ADD、GL_ADD_SIGNED、GL_DOT3_RGB、GL_DOT3_RGBA、GL_INTERPOLATE、GL_MODULATE、GL_DECAL、GL_BLEND、GL_REPLACE、GL_SUBTRACT、GL_COMBINE、GL_TEXTURE、GL_CONSTANT、GL_PRIMARY_COLOR、GL_PREVIOUS、GL_SRC_COLOR、GL_ONE_MINUS_SRC_COLOR、GL_SRC_ALPHA、GL_ONE_MINUS_SRC_ALPHA、ポイントスプライトのテクスチャ座標の代わりとして単一のブール値、あるいはGL_RGB_SCALEまたはGL_ALPHA_SCALEが指定された時には1.0、2.0、4.0のいずれか一つになります。

void glTexEnvfv(GLenum target, GLenum pname, const GLfloat * params);

void glTexEnviv(GLenum target, GLenum pname, const GLint * params);

void glTexEnvxv(GLenum target, GLenum pname, const GLfixed * params);

target

テクスチャ環境を指定します。
GL_TEXTURE_ENVまたはGL_POINT_SPRITE_OESになります。

pname

単一の値となるテクスチャ環境パラメータのシンボリック名を指定します。
GL_TEXTURE_ENV_MODE、GL_TEXTURE_ENV_COLOR、GL_COMBINE_RGB、GL_COMBINE_ALPHA、GL_SRC0_RGB、GL_SRC1_RGB、GL_SRC2_RGB、GL_SRC0_ALPHA、GL_SRC1_ALPHA、GL_SRC2_ALPHA、GL_OPERAND0_RGB、GL_OPERAND1_RGB、GL_OPERAND2_RGB、GL_OPERAND0_ALPHA、GL_OPERAND1_ALPHA、GL_OPERAND2_ALPHA、GL_RGB_SCALE、GL_ALPHA_SCALE、GL_COORD_REPLACE_OESのいずれかになります。

params

RGBAカラーを含むパラメータ配列へのポインタか、単一のシンボリック定数を指定します。
GL_ADD、GL_ADD_SIGNED、GL_DOT3_RGB、GL_DOT3_RGBA、GL_INTERPOLATE、GL_MODULATE、GL_DECAL、GL_BLEND、GL_REPLACE、GL_SUBTRACT、GL_COMBINE、GL_TEXTURE、GL_CONSTANT、GL_PRIMARY_COLOR、GL_PREVIOUS、GL_SRC_COLOR、GL_ONE_MINUS_SRC_COLOR、GL_SRC_ALPHA、GL_ONE_MINUS_SRC_ALPHA、ポイントスプライトのテクスチャ座標の代わりとして単一のブール値、あるいはGL_RGB_SCALEまたはGL_ALPHA_SCALEが指定された時には1.0、2.0、4.0のいずれか一つになります。

テクスチャ環境のパラメータを設定します。

テクスチャ環境はフラグメントがテクスチャの時にテクスチャ値がどのように解釈されるかを指定します。

targetがGL_POINT_SPLITE_OESの時、pnameはGL_COORD_REPLACE_OESにする必要があります。

targetがGL_TEXTURE_ENVの時、pnameはGL_TEXTURE_ENV_MODE、GL_TEXTURE_ENV_COLOR、GL_COMBINE_RGB、GL_COMBINE_ALPHA、GL_RGB_SCALE、GL_ALPHA_SCALE、GL_OPERAND0_RGB、GL_OPERAND1_RGB、GL_OPERAND2_RGB、GL_OPERAND0_ALPHA、GL_OPERAND1_ALPHA、GL_OPERAND2_ALPHA、GL_SRC0_RGB、GL_SRC1_RGB、GL_SRC2_RGB、GL_SRC0_ALPHA、GL_SRC1_ALPHA、GL_SRC2_ALPHAのいずれかにすることができます。

pnameがGL_TEXTURE_ENV_MODEの時、paramsはテクスチャ関数のシンボリック名(またはポインタ)で、GL_ADD、GL_MODULATE、GL_DECAL、GL_BLEND、GL_REPLACE、GL_COMBINEの6つのテクスチャ関数のいずれかになります。

以下の表でテクスチャのソースコンポーネントへのフィルタリングされたテクスチャ値RtGtBtAtLtの対応を示します。

CsAsは、後述するテクスチャ関数によって使用されます。

Texture Base Internal FormatCsAs
GL_ALPHA(0, 0, 0)At
GL_LUMINANCE(Lt, Lt, Lt)1
GL_LUMINANCE_ALPHA(Lt, Lt, Lt)At
GL_RGB(Rt, Gt, Bt)1
GL_RGBA(Rt, Gt, Bt)At

テクスチャ関数は、フラグメントに適用するテクスチャ画像の値を使用して(glTexParameter参照)フラグメントのRGBAカラーを生成し、フラグメントのテクスチャを決定します。

以下の表は、最初に選択することができる5つのテクスチャ関数が、それぞれどのようにRGBAカラーを生成するかを示しています。

Cは3つのカラー値(RGB)で、Aは関連するアルファ値です。

テクスチャ画像から抽出されたRGBA値の範囲は[0, 1]です。

添字のpは以前のテクスチャステージ(またはテクスチャステージ0の処理の場合は受信フラグメント)から計算される色を、添字sはテクスチャの元の色を、添字cはテクスチャの環境色を、添字vはテクスチャ関数によって生成される値を示します。

Texture Base
Internal
Format
ValueGL_
REPLACE
Function
GL_
MODULATE
Function
GL_DECAL
Function
GL_BLEND
Function
GL_ADD
Function
GL_ALPHACv =CpCpundefinedCpCp
 Av =AsApAs Av = ApAsApAs
GL_LUMINANCECv =CsCpCsundefinedCp(1 - Cs) + CcCsCp + Cs
(or 1)Av =ApAp ApAp
GL_LUMINANCE
_ALPHA
Cv =CsCpCsundefinedCp(1 - Cs) + CcCsCp + Cs
(or 2)Av =AsApAs ApAsApAs
GL_RGBCv =CsCpCsCsCp(1 - Cs) + CcCsCp + Cs
(or 3)Av =ApApApApAp
GL_RGBACv =CsCpCsCp(1 - As) + CsAsCp(1 - Cs) + CcCsCp + Cs
(or 4)Av =AsApAsApApAsApAs

pnameがGL_TEXTURE_ENV_MODEで、paramsがGL_COMBINEの場合、テクスチャ関数の形式はGL_COMBINE_RGBとGL_COMBINE_ALPHAの値に依存します。

以下にGL_SRC0_RGB、GL_SRC1_RGB、GL_SRC2_RGB、GL_SRC0_ALPHA、GL_SRC1_ALPHA、そしてGL_SRC2_ALPHAによって指定されたテクスチャのソースが、どのように最終的なテクスチャ色を生成する際に結合されるかを説明します。

以下の表では、GL_SRC0_cをArg0、GL_SRC1_cをArg1、そしてGL_SRC2_cをArg2と表します。

GL_COMBINE_RGBは、GL_REPLACE、GL_MODULATE、GL_ADD、GL_ADD_SIGNED、GL_INTERPOLATE、GL_SUBTRACT、GL_DOT3_RGB、GL_DOT3_RGBAのいずれかになります。

GL_COMBINE_RGBTexture Function
GL_REPLACEArg0
GL_MODULATEArg0 × Arg1
GL_ADDArg0 + Arg1
GL_ADD_SIGNEDArg0 + Arg1 - 0.5
GL_INTERPOLATEArg0 × Arg2 + Arg1 × (1 - Arg2)
GL_SUBTRACTArg0 - Arg1
GL_DOT3_RGB
or
GL_DOT3_RGBA
4 × ((((Arg0r) - 0.5) × ((Arg1r) - 0.5)) + (((Arg0g) - 0.5) × 
((Arg1g) - 0.5)) + (((Arg0b) - 0.5) × ((Arg1b) - 0.5)))

GL_DOT3_RGBとGL_DOT3_RGBAのスカラ結果は、出力の3つ(RGB)または4つ(RGBA)の各要素に置かれます。

同様にGL_COMBINE_ALFAは、GL_REPLACE、GL_MODULATE、GL_ADD、GL_ADD_SIGNED、GL_INTERPOLATE、GL_SUBTRACTのいずれかになります。

以下の表では、どのようにアルファ値が結合されるかを説明します。

GL_COMBINE_ALPHATexture Function
GL_REPLACEArg0
GL_MODULATEArg0 × Arg1
GL_ADDArg0 + Arg1
GL_ADD_SIGNEDArg0 + Arg1 - 0.5
GL_INTERPOLATEArg0 × Arg2 + Arg1 × (1 - Arg2)
GL_SUBTRACTArg0 - Arg1

以下の表では、値Csは現在バインドされているテクスチャからサンプリングされた色を、Ccは定数のテクスチャ環境色を、Cfは受信フラグメントの元の色を、そしてCpは以前のテクスチャステージから計算された色、またはテクスチャステージ0の処理の場合はCfを表します。

同様に、AsAcAf、そしてApはそれぞれのアルファ値を表します。

以下の表では、RGBのソースとオペランドに基づいて、Arg0Arg1Arg2に割り当てられる値を説明します。

GL_SRCn_RGBGL_OPERANDn_RGBArgument Value
GL_TEXTUREGL_SRC_COLOR(Cs)
 GL_ONE_MINUS_SRC_COLOR1 - (Cs)
 GL_SRC_ALPHA(As)
 GL_ONE_MINUS_SRC_ALPHA1 - (As)
GL_TEXTUREnGL_SRC_COLOR(Cs)
 GL_ONE_MINUS_SRC_COLOR1 - (Cs)
 GL_SRC_ALPHA(As)
 GL_ONE_MINUS_SRC_ALPHA1 - (As)
GL_CONSTANTGL_SRC_COLOR(Cc)
 GL_ONE_MINUS_SRC_COLOR1 - (Cc)
 GL_SRC_ALPHA(Ac)
 GL_ONE_MINUS_SRC_ALPHA1 - (Ac)
GL_PRIMARY_COLORGL_SRC_COLOR(Cf)
 GL_ONE_MINUS_SRC_COLOR1 - (Cf)
 GL_SRC_ALPHA(Af)
 GL_ONE_MINUS_SRC_ALPHA1 - (Af)
GL_PREVIOUSGL_SRC_COLOR(Cp)
 GL_ONE_MINUS_SRC_COLOR1 - (Cp)
 GL_SRC_ALPHA(Ap)
 GL_ONE_MINUS_SRC_ALPHA1 - (Ap)

GL_TEXTUREnのソースの色とアルファはCsAsで表され、それぞれテクスチャステージnから生成されます。

以下の表では、アルファのソースとオペランドに基づいて、Arg0Arg1Arg2に割り当てられる値を説明します。

GL_SRCn_ALPHAGL_OPERANDn_ALPHAArgument Value
GL_TEXTUREGL_SRC_ALPHA(As)
 GL_ONE_MINUS_SRC_ALPHA1 - (As)
GL_TEXTUREnGL_SRC_ALPHA(As)
 GL_ONE_MINUS_SRC_ALPHA1 - (As)
GL_CONSTANTGL_SRC_ALPHA(Ac)
 GL_ONE_MINUS_SRC_ALPHA1 - (Ac)
GL_PRIMARY_COLORGL_SRC_ALPHA(Af)
 GL_ONE_MINUS_SRC_ALPHA1 - (Af)
GL_PREVIOUSGL_SRC_ALPHA(Ap)
 GL_ONE_MINUS_SRC_ALPHA1 - (Ap)

テクスチャ関数のRGBとアルファの結果は、GL_RGB_SCALEとGL_ALPHA_SCALE値によってそれぞれ増加し、[0, 1]の範囲にクランプされます。

pnameがGL_TEXTURE_ENV_COLORの場合、paramsは4つの値で構成されるRGBAカラーを保持する配列へのポインタです。

整数の色成分は、正の整数の最大値が1.0、負の整数の最小値が-1.0になるよう、線形にマップされます。

それらは指定された時に[0, 1]の範囲にクランプされます。

Ccはこれら4つの値をとります。

GL_TEXTURE_ENV_MODEはデフォルトでGLMODULATEに、GL_TEXTURE_ENV_COLORはデフォルトで(0, 0, 0, 0)になっています。

targetがGL_POINT_SPRITE_OESで、pnameがGL_COORD_REPLACE_OESの場合、指定されたブール値はポイントスプライトのテクスチャ座標の置換を有効または無効にするために使用されます。

デフォルト値はGL_FALSEです。

glTexEnvは、glActiveTextureで選択された現在のアクティブなテクスチャユニットのためのテクスチャ環境を制御します。

GL_POINT_SPRITE_OESとGL_COORD_REPLACE_OESは、OpenGL ESのバージョン1.1以降で使用することができます。

GL_INVALID_ENUMは、targetまたはpnameが定義されている有効な値でない場合、またはparamsが必要とする(pnameの値に基づく)定義された定数値を持たない場合に発生します。

GL_INVALID_VALUEは、GL_RGB_SCALEまたはGL_ALPHA_SCALEのためのparamsの値が1.0、2.0、4.0のいずれかでない場合に発生します。

△ Back to INDEX

glTexImage2D

void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid * pixels);

二次元テクスチャ画像を指定します。

テクスチャリングは、テクスチャリングが有効になっている各グラフィカルプリミティブ上に、指定されたテクスチャ画像の一部をマッピングします。

二次元のテクスチャリングを有効や無効にするには、引数GL_TEXTURE_2DでglEnableglDisableを呼び出します。

二次元のテクスチャリングの初期状態は無効になっています。

テクスチャ画像を定義するには、glTexImage2Dを呼び出します。

引数は、高さ、幅、境界線の幅、詳細レベル数(glTexParameter参照)、色要素数などのテクスチャ画像のパラメータを表します。

最後の3つの引数は、画像のメモリ内での表現について表します。

データはtypeに応じて符号無しbyteまたはshortのシーケンスとしてpixelsから読み込まれます。

これらの値はformatに応じて要素を形成するために、1つ、2つ、3つ、あるいは4つの値のセットにグループ化されます。

typeがGL_UNSIGNED_BYTEの場合、各byteはformatに応じて1つの色要素として解釈されます。

typeがGL_UNSIGNED_SHORT_5_6_5、GL_UNSIGNED_SHORT_4_4_4_4、GL_UNSIGNED_SHORT_5_5_5_1のいずれかの場合、各符号無し値は決められたフォーマットに従って、色要素は単一のピクセルの全ての要素を含むとして解釈されます。

最初の要素はテクスチャ画像の左下角に対応します。

以降の要素はテクスチャ画像の最下行内のテクセルを左から右へ進み、その後テクスチャ画像の上の行に続きます。

最後の要素はテクスチャ画像の右上角に対応します。

デフォルトでは、全ての幅のピクセルが読み込まれた後以外、読み込むポインタは次の4バイト先に進み、隣接するピクセルは隣接するメモリ位置から取得されます。

4バイト行のアライメントは引数GL_UNPACK_ALIGNMENTでglPixelStoreiによって指定され、1、2、4、8バイトに設定することができます。

formatはピクセル内の各要素の構成を決定します。

以下のシンボリック値のいずれかを設定できます。

GL_ALPHA
各要素は単一のアルファ成分です。
GLは浮動小数点に変換し、赤、緑、青用に0を付加することによってRGBA要素に組み込みます。

GL_RGB
各要素はRGBの3つです。
GLは固定小数点または浮動小数点に変換し、アルファ用に1を付加することによってRGBA要素に組み込みます。

GL_RGBA
各要素は4つ全ての成分が含まれます。
GLは固定小数点または浮動小数点に変換します。

GL_LUMINANCE
各要素は単一の輝度値です。
GLは固定小数点または浮動小数点に変換し、アルファ用に1を付加し、赤、緑、青用に3回輝度値を複製することによってRGBA要素に組み込みます。

GL_LUMINANCE_ALPHA
各要素は輝度/アルファのペアです。
GLは固定小数点または浮動小数点に変換し、赤、緑、青用に3回輝度値を複製することによってRGBA要素に組み込みます。

pixelsにはNULLを指定することができます。

この場合テクスチャメモリはwidth幅とheight高さのテクスチャを格納するために割り当てられます。

その後、このテクスチャメモリを初期化するサブテクスチャをダウンロードすることができます。

ユーザがプリミティブにテクスチャ画像の初期化されていない部分を適用しようとした場合、この画像は未定義です。

glTexImage2DはglBindTextureで指定された現在バインドされているテクスチャのための二次元テクスチャと、glActiveTextureで指定された現在のテクスチャユニットを指定します。

targetがGL_TEXTURE_2Dでない場合、GL_INVALID_ENUM が発生します。

formatが有効な定数でない場合、GL_INVALID_ENUMが発生します。

typeが有効な定数でない場合、GL_INVALID_ENUMが発生します。

levelが0より小さい場合、GL_INVALID_VALUEが発生します。

GL_MAX_TEXTURE_SIZEが返す値をmaxとした時に、levelがlog2maxより大きい場合、GL_INVALID_VALUEが発生します。

internalformatが有効な定数でない場合、GL_INVALID_VALUEが発生します。

widthまたはheightが0より小さい、あるいはGL_MAX_TEXTURE_SIZEより大きい、もしくは整数をkとした時に2k + 2borderで表すことができない場合、GL_INVALID_VALUEが発生します。

borderが0でない場合、GL_INVALID_VALUEが発生します。

internalformatformatが同じでない場合、GL_INVALID_OPERATIONが発生します。

typeがGL_UNSIGNED_SHORT_5_6_5で、formatがGL_RGBでない場合、GL_INVALID_OPERATIONが発生します。

typeがGL_UNSIGNED_SHORT_4_4_4_4の一つ、またはGL_UNSIGNED_SHORT_5_5_5_1でformatがGL_RGBAでない場合、GL_INVALID_OPERATIONが発生します。

target
:ターゲットテクスチャを指定します。
GL_TEXTURE_2Dである必要があります。

level
:詳細レベル番号を指定します。
レベル0は基準画像レベルです。
レベルnn番目のミップマップ縮小画像です。
この値は0以上である必要があります。

internalformat
:テクスチャの色要素を指定します。
formatと同じである必要があります。
GL_ALPHA、GL_RGB、GL_RGBA、GL_LUMINANCE、またはGL_LUMINANCE_ALPHAのシンボリック値が有効です。

width
:テクスチャ画像の幅を指定します。
整数をnとすると、2n + 2borderにする必要があります。
全ての実装で、少なくとも幅64テクセルのテクスチャ画像をサポートします。

height
:テクスチャ画像の高さを指定します。
整数をmとすると、2m + 2borderにする必要があります。
全ての実装で、少なくとも高さ64テクセルのテクスチャ画像をサポートします。

border
:境界線の幅を指定します。
この値は0にする必要があります。

format
:ピクセルデータのフォーマットを指定します。
この値はinternalformatと同じにする必要があります。
GL_ALPHA、GL_RGB、GL_RGBA、GL_LUMINANCE、そしてGL_LUMINANCE_ALPHAのシンボリック値が有効です。

type
:ピクセルデータのデータ型を指定します。
GL_UNSIGNED_BYTE、GL_UNSIGNED_SHORT_5_6_5、GL_UNSIGNED_SHORT_4_4_4_4、そしてGL_UNSIGNED_SHORT_5_5_5_1のシンボリック値が有効です。

pixels
:メモリ内の画像データへのポインタを指定します。

△ Back to INDEX

glTexParameter


void glTexParameterf(GLenum target, GLenum pname, GLfloat param);

void glTexParameteri(GLenum target, GLenum pname, GLint param);

void glTexParameterx(GLenum target, GLenum pname, GLfixed param);

target
:ターゲットのテクスチャを指定します。
GL_TEXTURE_2Dである必要があります。

pname
:単一の値のテクスチャパラメータのシンボリック名を指定します。
GL_TEXTURE_MIN_FILTER、GL_TEXTURE_MAG_FILTER、GL_TEXTURE_WRAP_S、GL_TEXTURE_WRAP_T、またはGL_GENERATE_MIPMAPのいずれかを指定することができます。

param
pnameの値を指定します。

void glTexParameterfv(GLenum target, GLenum pname, GLfloat * params);

void glTexParameteriv(GLenum target, GLenum pname, GLint * params);

void glTexParameterxv(GLenum target, GLenum pname, GLfixed * params);

target:ターゲットのテクスチャを指定します。
GL_TEXTURE_2Dである必要があります。

pname
:テクスチャパラメータのシンボリック名を指定します。
GL_TEXTURE_MIN_FILTER、GL_TEXTURE_MAG_FILTER、GL_TEXTURE_WRAP_S、GL_TEXTURE_WRAP_T、またはGL_GENERATE_MIPMAPのいずれかを指定することができます。

params
:格納されているpnameの値、または値が格納されている配列へのポインタを指定します。

テクスチャパラメータを設定します。

テクスチャマッピングは、オブジェクトの表面に画像をデカールまたはセロハン包装のように、オブジェクトの表面に画像を適用するテクニックです。

画像は(s, t)座標系のテクスチャ空間に生成されます。

テクスチャは一次元または二次元の画像と、どのようにサンプルを画像から得るかを決定するパラメータとのセットです。

glTexParameterはpnameとして指定されたテクスチャパラメータに、paramまたはparams内の値を割り当てます。

targetはターゲットテクスチャを定義し、GL_TEXTURE_2Dである必要があります。

以下に有効なpnameのシンボルを示します。

  • GL_TEXTURE_MIN_FILTER

    テクスチャ縮小関数は、一つのテクスチャ要素より大きい領域にテクスチャマッピングする度に使用されます。
    6つの縮小関数が定義されています。
    その内2つはテクスチャの値を計算するために、最も近い1つまたは4つのテクスチャ要素を使用します。
    残りの4つはミップマップを使用します。

    ミップマップは、同じ画像を徐々に低解像度で表した配列を順番に並べたセットです。
    テクスチャが2n × 2mの大きさの場合、max(n, m) + 1のミップマップを持ちます。
    最初のミップマップは元となるテクスチャで、2n × 2mの大きさです。
    以前のミップマップを2k × 2lとすると、k = 0またはl = 0のどちらかになるまで、以降の各ミップマップは2k-1 × 2l-1の大きさになります。
    その時点で、以降のミップマップは1 × 2l-1または2k-1 × 1の大きさになりますが、最終的にミップマップは1 × 1の大きさを持ちます。
    ミップマップを定義するには、ミップマップの順番を示すlevel引数でglTexImage2DまたはglCopyTexImage2Dを呼び出します。
    レベル0は元になるテクスチャです。
    レベルmax(n, m)は最終的に1 × 1のミップマップになります。

    paramは、以下のいずれかをテクスチャを縮小するための関数を提供します。

    • GL_NEAREST
      テクスチャが存在するピクセルの中央に(マンハッタン距離で)最も近いテクスチャ要素の値を返します。

    • GL_LINEAR
      テクスチャが存在するピクセルの中央に最も近い4つのテクスチャ要素の加重平均を返します。
      これらはGL_TEXTURE_WRAP_SとGL_TEXTURE_WRAP_Tの値に応じて正確なマッピングで、繰り返しまたはラッピングされた要素を含めることができます。

    • GL_NEAREST_MIPMAP_NEAREST
      テクスチャが存在するピクセルのサイズと一致する最も密接なミップマップを選択し、GL_NEARESTの基準(ピクセルの中央に最も近いテクスチャ要素)を使用して、テクスチャ値を生成します。

    • GL_LINEAR_MIPMAP_NEAREST
      テクスチャが存在するピクセルのサイズと一致する最も密接なミップマップを選択し、GL_LINEARの基準(ピクセルの中央に最も近い4つのテクスチャ要素の加重平均)を使用して、テクスチャ値を生成します。

    • GL_NEAREST_MIPMAP_LINEAR
      テクスチャが存在するピクセルのサイズと一致する最も密接な2つのミップマップを選択し、GL_NEARESTの基準(ピクセルの中央に最も近いテクスチャ要素)を使用して、各ミップマップからテクスチャ値を生成します。
      最終的なテクスチャ値は、これら2つの値の加重平均です。

    • GL_LINEAR_MIPMAP_LINEAR
      テクスチャが存在するピクセルのサイズ一致する最も密接な2つのミップマップを選択し、GL_LINEARの基準(ピクセルの中央に最も近い4つのテクスチャ要素の加重平均)を使用して、各ミップマップからテクスチャ値を生成します。
      最終的なテクスチャ値は、これら2つの値の加重平均です。

      縮小過程でより多くのテクスチャ要素がサンプリングされると、エイリアシングがより少なくなり結果がはっきり見えるようになります。
      縮小関数のGL_NEARESTとGL_LINEARは他の4つよりも高速ですが、レンダリングされるピクセルのテクスチャ値が1つまたは4つの要素のみのサンプリングで決定されるため、モアレパターンや不規則な遷移を生成することになります。

    GL_TEXTURE_MIN_FILTERの初期値はGL_NEAREST_MIPMAP_LINEARです。

  • GL_TEXTURE_MAG_FILTER

    テクスチャ拡大関数は、一つのテクスチャ要素と同じ、またはより小さい領域にテクスチャマッピングする時に使用されます。
    テクスチャ拡大関数は、後述するGL_NEARESTまたはGL_LINEARのどちらかに設定します。
    GL_NEARESTは一般的にGL_LINEARより高速ですが、テクスチャ要素間が滑らかではないので、急な境界を持つテクスチャ画像が生成されます。

    • GL_NEAREST
      テクスチャが存在するピクセルの中央に(マンハッタン距離で)最も近いテクスチャ要素の値を返します。

    • GL_LINEAR
      テクスチャが存在するピクセルの中央に最も近い4つのテクスチャ要素の加重平均を返します。
      これらはGL_TEXTURE_WRAP_SとGL_TEXTURE_WRAP_Tの値に応じて正確なマッピングで、繰り返しまたはラッピングされた要素を含めることができます。

    GL_TEXTURE_MAG_FILTERの初期値はGL_LINEARです。

  • GL_TEXTURE_WRAP_S

    テクスチャ座標sのラップパラメータを、GL_CLAMP_TO_EDGEまたはGL_REPEATのどちらかに設定します。

    • GL_CLAMP_TO_EDGE
      s座標範囲で[(1/2N), 1-(1/2N)]にクランプします。
      Nはクランプする方向にあるテクスチャのサイズです。

    • GL_REPEAT
      s座標の整数部分は無視され、GLは端数部分のみを使用して、繰り返しパターンを生成します。

    GL_TEXTURE_WRAP_Sの初期値はGL_REPEATです。

  • GL_TEXTURE_WRAP_T

    テクスチャ座標tのラップパラメータを、GL_CLAMP_TO_EDGEまたはGL_REPEATのどちらかに設定します。
    内容はGL_TEXTURE_WRAP_S以下の説明を参照してください。

    GL_TEXTURE_WRAP_Tの初期値はGL_REPEATです。

  • GL_GENERATE_MIPMAP

    ミップマップ生成のパラメータを自動的に設定します。
    GL_TRUEが設定されている場合、ミップマップのlevelbase配列の内部テクセルが変更されると、変更されたlevelbase配列から誘導されたミップ マップ配列の完全なセットを計算します。
    配列のレベルlevelbase + 1pは、以前のコンテンツに関係無く誘導された配列に置換されます。
    levelbase配列を含む他の全てのミップマップ配列は、この計算によって変更されません。

    GL_GENERATE_MIPMAPの初期値はGL_FALSEです。

プログラムは(引数GL_TEXTURE_2DでglEnableを呼び出すことによって)テクスチャを有効にしている場合、ミップマップを必要とする関数のいずれかにGL_TEXTURE_MIN_FILTERが設定されていると仮定します。

(事前のglTexImage2DまたはglCopyTexImage2Dの呼び出しで)現在定義されているテクスチャ画像の大きさが(前述の)ミップマップ用の適切な順序に従っていない、または必要数よりも定義されたテクスチャ画像が少ない、あるいはテクスチャ要素の番号がテクスチャ画像のセットと異なる場合、テクスチャマッピングは無効となります。

リニアフィルタリングは、4つの最も近いテクスチャ要素にアクセスします。

glTexParameterはアクティブなテクスチャユニット用のテクスチャパラメータを指定し、glActiveTextureを呼び出すことによって指定されます。

targetまたはpnameが定義された有効な値でない場合、GL_INVALID_ENUMが発生します。

pnameの値を基にして)定義された定数値である必要があるparamがそうでない場合、GL_INVALID_ENUMが発生します。

△ Back to INDEX

glTranslate

現在の行列に変換行列を乗じます。

void glTranslatef(GLfloat x, GLfloat y, GLfloat z);

void glTranslatex(GLfixed x, GLfixed y, GLfixed z);

glTranslateは、(x, y, z)によって変換を生成します。

現在の行列(glMatrixMode参照)はこの変換行列によって乗ぜられ、結果は現在の行列に置換されます。

glMultiMatrixを以下の行列を引数として呼び出すのと同様になります。

7747

行列モードがGL_MODELVIEWまたはGL_PROJECTIONのどちらかの場合、glTranslateを呼び出した後に描画される全てのオブジェクトが変換されます。

変換前の座標系の保存と復元には、glPushMatrixとglPopMatrixを使用してください。

x
yz:変換ベクトルのx、y、z座標を指定します。

△ Back to INDEX



●V

glVertexPointer

void glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid * pointer);

glVertexPointerは、レンダリング時に使用する頂点座標の配列の位置とデータを指定します。

sizeは頂点ごとの座標数を、typeは座標のデータ型を指定します。

strideはある頂点から次に与える頂点へのバイトストライドと、単一の配列または別々の配列内に格納する属性を指定します。
(単一の配列のストレージは、いくつかの実装上でより効率的な場合があります。)

頂点配列が指定されている場合、sizetypestridepointerはクライアント側の状態として保存されます。

頂点配列が有効な場合、glDrawArraysまたはglDrawElementsが呼び出された時に使用されます。

頂点配列を有効または無効にするには、引数GL_VERTEX_ARRAYでglEnableClientStateまたはglDisableClientStateを呼び出します。

頂点配列の初期状態は無効で、glDrawArraysまたはglDrawElementsが呼び出された時にアクセスできません。

予め指定された頂点と頂点属性配列から(全て同じ型の)プリミティブのシーケンスを構築するにはglDrawArraysを使用してください。

インデックス化された頂点と頂点属性によってプリミティブのシーケンスを構築するにはglDrawElementsを使用してください。

glVertexPointerは、通常クライアント側に実装されています。

sizeが2、3、または4でない場合、GL_INVALID_VALUEが発生します。

typeが有効な値でない場合、GL_INVALID_ENUMが発生します。

strideが負の場合、GL_INVALID_VALUEが発生します。

size
:頂点ごとの座標数を指定します。
2、3、または4である必要があります。
初期値は4です。

type
:配列内の各頂点座標のデータ型を指定します。
シンボリック定数GL_BYTE、GL_SHORT、そしてGL_FIXEDが有効です。
ただし初期値はGL_FLOATです。
一般的なプロファイルでは、シンボリック定数GL_FLOATも有効です。

stride
:連続する頂点間のバイトオフセットを指定します。
strideが0の場合、頂点は配列内に隙間無く格納されていると解釈されます。
初期値は0です。

pointer
:配列内の最初の頂点の最初の座標へのポインタを指定します。
初期値は0です。

△ Back to INDEX

glViewport


void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);

ビューポートを設定します。

glViewportは、正規化デバイス座標系からウィンドウ座標系へと、xyのアフィン変換を指定します。

(xnd, ynd)を正規化デバイス座標系とすると、ウィンドウ座標系(xw, yw)は以下のように計算されます。

xw = (xnd + 1) * (width / 2) + x

yw = (ynd + 1) * (height / 2) + y

ビューポートの幅と高さは、実装に依存する範囲に暗黙的に固定されます。

この範囲の照会には、引数GL_MAX_VIEWPORT_DIMSでglGetを呼び出してください。

widthまたはheightが負の場合、GL_INVALID_VALUEが発生します。

xy:ビューポート矩形の左下角をピクセル単位で指定します。
初期値は(0, 0)です。

widthheight:ビューポートの幅と高さを指定します。
GLコンテキストが最初にサーフェス(例えばウィンドウ)にアタッチされている場合、widthheightはそのサーフェスの寸法に設定されます。

△ Back to INDEX



参考文献

OpenGL ES 1.1 Reference Pages

Wikipedia/マンハッタン距離

X Window System リファレンス/jman/GLGET






QuietControl 30 wireless headphones
0 Comments
Leave a comment
管理者にだけ表示を許可する
Top
0 Trackbacks
Top
Calendar
10 | 2017/11 | 12
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

QuietControl 30 wireless headphones
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