What is the difference between bilinear and trilinear filtering?

I’ve see these terms for many times, but i can’t understand the difference.
Can anybody explain that?

Bilinear only filters the current texture (or mipmap respectively), trilinear takes the other detail sets (mipmaps) in account too.

I think you won’t get these Multiple-mipmaps-on-a-single-surface-with-visible-artifacts problems.

When mipmapping, OpenGL determines a “lambda” value that roughly defines the number of texels spanned by this pixel. That number is a floating point value.

With bilinear filtering, the lambda value is rounded to the nearest integer, and that mipmap level is sampled by bilinear interpolation of the 4 surrounding texel samples. With trilinear filtering, the same calculation is performed for both floor(lambda) and ceil(lambda), and the results are linearly interpolated based on (lambda - floor(lambda)).

Hope this helps…