#### イメージ保存領域
イメージの保存領域 = イメージの高さ * イメージの幅 * 1ピクセルあたりのバイト数 #### テクスチャファイル
- OpenGL: TGA
- OpenGL ES、iOS: PNG ## 機能認識 #### ピクセルの保存方法の変更
glPixelStorei(<#GLenum pname#>, <#GLint param#>)
#### リカバリーピクセルの保存方法
glPixelStoref(<#GLenum pname#>, <#GLfloat param#>)
glPixelStorei(GL_UNPACK_ALIGNMENT,1)例: , GL_UNPACK_ALIGNMENTは、メモリ上の各ピクセル行の開始のアライメント要求を指し、1(バイトアライメント)、2(偶数バイトの行のアライメント)、4(ワードWordのアライメント)、8(ダブルバイト境界から始まる行)の設定が可能 ####は、ピクセルマップとしてカラーバッファの内容から直接読み込みます。
glReadPixels(<#GLint x#>, <#GLint y#>, <#GLsizei width#>, <#GLsizei height#>, <#GLenum format#>, <#GLenum type#>, <#GLvoid *pixels#>)
| x | 矩形の左下隅のウィンドウ座標 |
| y | 矩形の右下隅のウィンドウ座標 |
| width | 矩形の幅(ピクセル単位 |
| height | 矩形の高さ(ピクセル単位 |
| フォーマット | OpenGLピクセル・フォーマットGLenum列挙値 |
| type | ピクセルデータのデータ型 |
| pixels | グラフィックデータへのポインタ |
#### テクスチャ読み込み機能
glTexImage1D(<#GLenum target#>, <#GLint level#>, <#GLint internalformat#>, <#GLsizei width#>, <#GLint border#>, <#GLenum format#>, <#GLenum type#>, <#const GLvoid *pixels#>)
glTexImage2D(<#GLenum target#>, <#GLint target#>, <#GLint internalformat#>, <#GLsizei width#>, <#GLsizei height#>, <#GLint border#>, <#GLenum format#>, <#GLenum type#>, <#const GLvoid *pixels#>)
| target | 質感の次元 |
| target | ロードされたMIPマップのレベルを指定します(通常は0に設定)。 |
| インターナルフォーマット | 各テクスチャセルに格納されている色成分の数 |
| width height depth |
テクスチャの幅、高さ、深さ |
| target | テクスチャマップの境界幅を指定できるようにします。 |
| 残りのパラメータ | 上記と同じ |
#### テクスチャの更新
glTexSubImage1D(<#GLenum target#>, <#GLint level#>, <#GLint xoffset#>, <#GLsizei width#>, <#GLenum format#>, <#GLenum type#>, <#const GLvoid *pixels#>)
glTexSubImage2D(<#GLenum target#>, <#GLint level#>, <#GLint xoffset#>, <#GLint yoffset#>, <#GLsizei width#>, <#GLsizei height#>, <#GLenum format#>, <#GLenum type#>, <#const GLvoid *pixels#>)
#### テクスチャの交換
glTexSubImage2D(<#GLenum target#>, <#GLint level#>, <#GLint xoffset#>, <#GLint yoffset#>, <#GLsizei width#>, <#GLsizei height#>, <#GLenum format#>, <#GLenum type#>, <#const GLvoid *pixels#>)
glTexSubImage1D(<#GLenum target#>, <#GLint level#>, <#GLint xoffset#>, <#GLint yoffset#>, <#GLsizei width#>, <#GLsizei height#>, <#GLenum format#>, <#GLenum type#>, <#const GLvoid *pixels#>)
#### を使用して新しいテクスチャを形成するデータをロードするために、カラーバッファを使用します。
glCopyTexImage1D(<#GLenum target#>, <#GLint level#>, <#GLenum internalFormat#>, <#GLint x#>, <#GLint y#>, <#GLsizei width#>, <#GLint border#>)
glCopyTexImage2D(<#GLenum target#>, <#GLint level#>, <#GLenum internalFormat#>, <#GLint x#>, <#GLint y#>, <#GLsizei width#>, <#GLsizei height#>, <#GLint border#>)
- カラーバッファのx,yは、粒子データの読み込みを開始する場所を指定します。バッファ内のデータは、glReadBufferを介してバッファによって設定されます。#### テクスチャオブジェクト
- テクスチャオブジェクトを割り当てるには、この関数を使用します。テクスチャオブジェクトの数とポインタを指定します。
glGenTextures(<#GLsizei n#>, <#GLuint *textures#>)
- バウンドテクスチャの状態
glBindTexture(<#GLenum target#>, <#GLuint texture#>)
- バインドされたテクスチャオブジェクトの削除
glDeleteTextures(<#GLsizei n#>, <#const GLuint *textures#>)
- テクスチャオブジェクトの有効性をテストします。
glIsTexture(<#GLuint texture#>)
#### テクスチャのパラメータを設定します。
glTexParameterf(<#GLenum target#>, <#GLenum pname#>, <#GLfloat param#>)
glTexParameteri(<#GLenum target#>, <#GLenum pname#>, <#GLint param#>)
glTexParameterfv(<#GLenum target#>, <#GLenum pname#>, <#const GLfloat *params#>)
glTexParameteriv(<#GLenum target#>, <#GLenum pname#>, <#const GLint *params#>)
| target | テクスチャモードの指定 |
| pname | 設定するテクスチャパラメータを指定します。 |
| パラメータ | 指定されたテクスチャパラメータの値を設定します。 |
#### フィルタリングの設定
- 近傍フィルタリング
- リニアフィルター
例glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR) - 折り返し方法の設定
glTexParameteri(<#GLenum target#>, <#GLenum pname#>, <#GLint param#>)
例glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE)
| target | GL_TEXTURE_2D GL_TEXTURE_1D GL_TEXTURE_3D |
| GL_REPEAT GL_CLAMP GL_CLAMP_TO_EDGE GL_CLAMP_TO_BORDER |
GL_REPEAT:テクスチャ座標が1.0を超える方向に繰り返します。 GL_CLAMP: 必要なテクスチャセルは、テクスチャ境界またはTEXTURE_BORDER_COLORから取得されます。 GL_CLAMP_TO_EDGE:サラウンドモードでは、範囲外のテクスチャ座標は、法的なテクスチャセルの最後の行または列に沿ってサンプリングされます。 GL_CLAMP_TO_BORDER: テクスチャ座標が 0.0 から 1.0 の範囲外の場合、境界テクスチャ セルのみが使用されます。境界テクスチャセルは、ベースイメージの周りの余分な行や列として使用され、ベーステクスチャと一緒にロードされます。 |
上記4種類のラップアラウンドの図解





