次のようにAndroidのGLES20.glTexParameteri機能は、テクスチャ、構造関数のセットを表します。
public static native void glTexParameteri(
int target,
int pname,
int param
);
パラメータは次のとおりです。
-
ターゲット:ターゲットテクスチャアクティブテクスチャユニット、GLES20.GL_TEXTURE_2Dこのテクスチャを使用するには、Android OESテクスチャ、プレビューやビデオカメラに固有である、2Dテクスチャ、ならびにGLES11Ext.GL_TEXTURE_EXTERNAL_OESなどの他のテクスチャを表します。
-
PNAME:次のようにテクスチャパラメータ値のタグ名を設定できます。GL_TEXTURE_MIN_FILTER、GL_TEXTURE_MAG_FILTER、GL_TEXTURE_WRAP_SまたはGL_TEXTURE_WRAP_T。
-
PARAM:値セット。
GL_TEXTURE_WRAP_S和GL_TEXTURE_WRAP_T
テクスチャ座標系ST座標系と呼ばれ、X-Y座標系において、xにyに対応するTに対応し、したがってGL_TEXTURE_WRAP_S GL_TEXTURE_WRAP_Tテクスチャ実施形態が範囲外を示すS、として次のように値が設定されてもよい:GL_CLAMP_TO_EDGE、GL_REPEAT、GL_MIRRORED_REPEAT。
テクスチャは、以下のように値が設定限界値、テクスチャ座標を超えて座標
var texBuffer = GLTools.array2Buffer(
floatArrayOf(
0.0f, 0.0f,
0.0f, 1.0f,
2.0f, 1.0f,
2.0f, 0.0f
)
)
-
GL_CLAMP_TO_EDGE:テクスチャサンプリングエッジ、すなわち、テクスチャのカラー値の残りの部分の縁近く表示されます。結果は以下の通りであります:
ピクセルの最終的なテクスチャカラー値の後部。
-
GL_REPEAT:テクスチャを繰り返します。結果は以下の通りであります:
-
GL_MIRRORED_REPEAT:ミラーリピート効果は次のとおりです。
そしてGL_TEXTURE_WRAP_TとしてGL_TEXTURE_WRAP_S、Tのy軸を表します。
GL_TEXTURE_MIN_FILTER和GL_TEXTURE_MAG_FILTER
ときに、2つの条件場合は、テクスチャのサイズとレンダリング画面の大きさは、一貫性のない表示されます。
-
第一の場合:画面より大きいレンダリングテクスチャ、GL_TEXTURE_MIN_FILTERに対応し、画面上のピクセルの一部に存在しマッピングされないであろう。
-
第二种情况:纹理小于渲染屏幕,没有足够的像素映射到屏幕上,GL_TEXTURE_MAG_FILTER。
可设置的值为GL_NEAREST 、GL_LINEAR。
-
GL_NEAREST:使用纹理中坐标最接近的一个像素的颜色作为需要绘制的像素颜色。
-
GL_LINEAR:使用纹理中坐标最接近的若干个颜色,通过加权平均算法得到需要绘制的像素颜色,与GL_NEAREST比较速度较慢。
视觉效果如下图:
左面的图为GL_LINEAR的效果,是放大模糊的效果。右面的图是GL_NEAREST的效果,锯齿比较明显,但没有模糊。