私は256 * 256のテクスチャを持っていますが、すべては問題ありませんが、全体のテクスチャ全体をマップしようとする部分は台無しです。
私のクワッドテクスチャは左から右に1/5しかなく、残りは黒く、テクスチャがないことを意味します。
テクスチャ部分は一般的には声のように働いています。
glFrontFaceはそのままである(デフォルト)を使用して作成
テクスチャ:
glTexParameteri(GL_TEXTURE_2D、GL_TEXTURE_WRAP_S、GL_REPEAT)。 glTexParameteri(GL_TEXTURE_2D、GL_TEXTURE_WRAP_T、GL_REPEAT);クワッド(三角形ストリップ)のテクスチャOpenGL ES 2.0
GLfloat quad_pos[] =
{
0.5, 0.5, 0.0,
-0.5, 0.5, 0.0,
0.5,-0.5, 0.0,
-0.5,-0.5, 0.0
};
//Maybe i need 5 and 6 verticles tex coords?
GLfloat quad_tex[]=
{
0.0, 1.0,
0.0, 0.0,
1.0, 1.0,
1.0, 0.0
};
GLfloat quad_col[]=
{
0.0, 1.0, 1.0, 1.0,
1.0, 0.0, 1.0, 1.0,
1.0, 1.0, 0.0, 1.0,
0.0, 0.0, 1.0, 1.0
};
//In draw_quad method()
//Binding texture and setting uniforms/attributes skipped
glDrawArrays(GL_TRIANGLE_STRIP、0、4);
バーテックスシェーダー
attribute vec4 av_col;
attribute vec4 av_pos;
attribute vec2 av_tex;
varying vec4 vv_col;
varying vec2 vv_tex;
uniform mat4 um_mvp;
void main()
{
vv_col = av_col;
vv_tex = av_tex;
gl_Position = um_mvp * av_pos;
}
フラグメントシェーダ
precision lowp float;
uniform sampler2D us_tex;
varying vec4 vv_col;
varying vec2 vv_tex;
void main()
{
gl_FragColor = (vv_col * texture2D(us_tex, vv_tex));
}
変更テックスCOORDS場合
GLfloat quad_tex[]=
{
0.0, 0.2,
0.0, 0.0,
0.2, 0.2,
0.2, 0.0
};
(クワッドが完全テクスチャ着色なりますが、テクスチャがオーバースケールするMinecraftの画素にスタイル)。