I suggest to you use a texture instead and just apply the texture to a quad.
1st, allocate the texture
glGenTextures(1, &textureID);
glBindTexture(GL_TEXTURE_2D, textureID);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_BGRA, GL_UNSIGNED_BYTE, NULL);
notice the NULL for glTexImage2D. It will just allocate memory for the texture in VRAM.
2nd
update the texture with glTexSubImage2D.
Also, since you will be using a non power of 2 texture, make sure GL 2.0 is supported.
Don’t forget, if you flip the quad’s coordinates, the texture will get flipped also. So you can either flip by providing ‘flipped’ texture coordinates to your vertices, or you can flip the vertex coordinates themselves.