I'm actually using Irrlicht to do a prototype of my project.
I compiled the latest version of Irrlicht on CodeBlocks with MinGW 64 (POSIX + SEH).
And use the same compiler for the project, I configured Irrlicht to use OpenGL.
Currently, I'm generating a terrain which is made of chunks of the same size (100 * 100 per chunk).
In each chunk there is 100 cells by side, each cell is scaled by 10.
I want to texture my terrain with this image :

Therefore regarding the Z value average of the four vertices of a cell, I use an offset for the UV coordinates of each vertices.
For example, I have a Z which represent the grass :
My offset will be : (2.0f / 3.0f, 0.0f)
Then I apply it to my computed UV : going from 0.0f to 1.0f (with a step of 50), I scale it down by 3.0f on U and 2.0f on V.
Problem is that when rendering, I can see a line of pixel on each side of a cell which is not from the grass texture :
left = sand
top = snow
right = water
bottom = snow

I try to shift the offset with a value like 1.0f / 768.0f (the image is 768px * 512px). But not conclusive...
Any idea why this problem occur and how to solve it ? Maybe by configuring the material with a setting I don't know about ?
Or would it be better to texture by using 6 materials each one using a texture...? But here again I don't know how I can tell the vertices which material to use to represent the texture I want.
Thanks in advance, you're help will be much appreciated !
EDIT:
After few messages, here a resume:
Using a texture atlas cause this problem and mipmap introduce this glitch.
Half-pixel correction might be a solution but I couldn't make it works, I think due to mipmap problem.
The solution I have found is to repeat your own texture with a padding (at least 40 pixels) and to adapt your UV to the texture in the square. No mipmap problem with an enough big padding.