glDrawArrayとGL_TRIANGLE_STRIPを使ってテクスチャのグリッドをレンダリングしようとしていますが、描画時にアーティファクトがありますが、画面全体に不均一に分散しています。glDrawArrayアーティファクト
このコードは、私が使用している:
void draw() {
glDisableClientState(GL_COLOR_ARRAY);
glBindTexture(GL_TEXTURE_2D, tex.name);
glPushMatrix();
glScalef(cell_size, cell_size, 1);
GLfloat vertices[w*8];
{ // populate only once and translate
int i = 0;
for (int x=0; x<w; x++) {
vertices[i++] = x; vertices[i++] = 0;
vertices[i++] = x; vertices[i++] = 1;
vertices[i++] = x+1; vertices[i++] = 0;
vertices[i++] = x+1; vertices[i++] = 1;
}
}
GLfloat texCoords[w*8];
const float off = 1.00f/16.0f;
for (int y=0; y<h; y++) {
int i = 0;
for (int x=0; x<w; x++) {
const int v = tiles[x+y*w];
const float boff = v*off;
texCoords[i++] = boff; texCoords[i++] = 0;
texCoords[i++] = boff; texCoords[i++] = 1;
texCoords[i++] = boff+off; texCoords[i++] = 0;
texCoords[i++] = boff+off; texCoords[i++] = 1;
}
glTexCoordPointer(2, GL_FLOAT, 0, texCoords);
glVertexPointer(2, GL_FLOAT, 0, vertices);
glDrawArrays(GL_TRIANGLE_STRIP, 0, w*4);
glTranslatef(0, 1, 0);
}
glPopMatrix();
}
問題が何であるか任意のアイデア?
ここでは、投影とモデルビューのマトリックスを設定しますか? – genpfault