Hey.
I set up a simple VBO to render a tilemap array, everything renders as it's supposed to render but for some reason there is weird grid rendered at 0,0,0. I noticed this after changing from 2D to 3D perspective. Using C++, OpenGL and SFML
I marked the weirdness with red circle.

Here's a zoomed in image of it

which looks like a 16x16 grid.
Here is the relevant code:
#define TILES_X 64
#define TILES_Y 128
#define TILE_SIZE_W 16
#define TILE_SIZE_H 16
GLuint vboId;
std::vector<GLfloat> verts;
...
int Tiles[TILES_X * TILES_Y]; Init:
for(int i=0;i!=TILES_X;++i)
for(int k=0;k!=TILES_Y;++k)
{
int t = k * TILES_X + i;
int tex = Map.GetTile(t);
if(tex > -1)
{
int x = i * TILE_SIZE_W;
int y = k * TILE_SIZE_H;
// vertices
verts.push_back(x);
verts.push_back(y);
verts.push_back(x + TILE_SIZE_W);
verts.push_back(y);
verts.push_back(x + TILE_SIZE_W);
verts.push_back(y + TILE_SIZE_H);
verts.push_back(x);
verts.push_back(y + TILE_SIZE_H);
GLfloat offset = ((tex * 16.0f) * 1.0f) / (TILE_MAX * 16.0f);
GLfloat zsize = (TILE_MAX * 16.0f) / TILE_MAX / 16.0f / TILE_MAX;
// texture coords
verts.push_back(0);
verts.push_back(offset);
verts.push_back(1);
verts.push_back(offset);
verts.push_back(1);
verts.push_back(offset+zsize);
verts.push_back(0);
verts.push_back(offset+zsize);
}
}
glGenBuffers(1, &vboId);
glBindBuffer(GL_ARRAY_BUFFER, vboId);
glBufferData(GL_ARRAY_BUFFER, verts.size() * sizeof(GLfloat), verts.data(), GL_STATIC_DRAW);
Render:
glPushMatrix();
glBindBuffer(GL_ARRAY_BUFFER,vboId);
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D,Tile_Texture.Texture);
glRotatef(180.0f,1.0f,0.0f,0.0f);
glTranslatef(-Camera.x,-Camera.y,0);
glTexCoordPointer(2,GL_FLOAT,0,(void*)(sizeof(GLfloat)*8));
glVertexPointer(2,GL_FLOAT,0,0);
glEnableClientState(GL_TEXTURE_COORD_ARRAY);
glEnableClientState(GL_VERTEX_ARRAY);
glDrawArrays(GL_QUADS, 0, verts.size());
glDisableClientState(GL_VERTEX_ARRAY);
glDisableClientState(GL_TEXTURE_COORD_ARRAY);
glPopMatrix();
Someone see what's wrong with the code (except deprecated OpenGL functions, unless they cause it)?