OpenGLを使用してテクスチャを描画しています。OpenGLスケーリングテクスチャ
glClear(GL_COLOR_BUFFER_BIT);
float w = 128;
float h = 128;
w *= scale;
h *= scale;
GLfloat vertices[] = {
w, 0,
w, h,
0, 0,
0, h
};
float u1 = 0;
float u2 = 1;
float v1 = 0;
float v2 = 1;
GLfloat texCoords[] = {
u2, v1,
u2, v2,
u1, v1,
u1, v2
};
glVertexPointer(2, GL_FLOAT, 0, vertices);
glEnableClientState(GL_VERTEX_ARRAY);
glTexCoordPointer(2, GL_FLOAT, 0, texCoords);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
私の問題を説明するのは簡単な例です。私は三角形の頂点にのみ影響するスケール変数を変更し、テクスチャ座標を変更すべきではありません。スケールが1のとき、私はこの絵を持っている:
one http://dl.dropbox.com/u/21467/opengl/1.png
私は150にスケールを変更すると、私はこの絵を持っている:
two http://dl.dropbox.com/u/21467/opengl/3.png
あなたは慎重に見ると、あなたが少しストライプに気付きますテクスチャの上部。それはなぜそこにあり、どうすればそれを避けることができますか?
私の実際のゲームではタイルを描いています。スケールを変えた場合、私のタイルはそのストライプを持ち始めます。その結果、私はゲームでこの厄介な縞模様を得ました。誰が知っている、何が間違っていますか?テクスチャバッファを作成するときに
Googleのキーワード:ピクセル完璧なレンダリング – Kos