MIP 맵핑의 기본 개념은 여러가지 크기의 밉맵(MIP MAP-동일한 그림의 다양한 사이즈의 그림) 을 만들어 놓고 맵핑하고자 하는 폴리곤에 가장 근사한 크기를 갖는 밉맵을 이용하여 텍스쳐맵핑을 수행하는 것을 MIP 맵핑이라한다.
더 자세히 표현하면, 텍스쳐를 일단 각기 다른 크기로 세 개 또는 그이상의 개수를 제작한다. 그리고 원하는 폴리곤의 크기와 가장 비슷한 크기의 텍스쳐를 우선적으로 이용하여 텍스쳐 맵핑을 하는 방식이며, 이때 가장 가까운 정도에 따라 가중치를 두며 이 값을 MIP Level이라고 한다.
그림이 확대 될 때에는 interpolation 기법이 이용되지만 축소에 의해서는 그림의 화질 저하가 심하게 이루어 지며 또한 세밀한 그림의 경우에 실시간 계산에 의한 처리는 그림 자체의 모양이 변해버리기 때문에 상당히 고민이 되는 부분이다.
실제로 이 방식을 이용할때는 별도의 하드웨어적 지원없이, 프로그램을 만드는 사람이 미리 고해상도용과 저해상도용으로 별도의 텍스쳐를 만들어 놓고 이 텍스쳐를 사이즈에 맞게 필요에 따라 이용하면 된다.
이렇게 하는 작업은 실시간으로 하지 않고 미리 해도 되는 작업이다. 대부분의 2D용 게임에서 보면 고해상도용과 저해상도용의 두가지의 스프라이트를 모두 가지고 있는 경우가 많다.
그럼 MIP-MAP을 왜 사용하느냐? 텍스쳐를 축소할때 기계식 축소의 화질변화 를 막기 위해여 만들어진 것이다. 즉, 확대시에는 Linear 필터링을 이용하여 적절히 처리할 수 있지만 축소는 적절한 방법이 마땅치가 않다. 따라서 의외로 MIP-MAP을 사용하는 주요 이유는 이미지의 '확대'에서 일어나는 문제보다는 '축소'에서 일어나는 문제 때문에 대두 되었다고 봐야한다.
그럼 일단 이러한 밉맵을 사용하고 위해서는 여러벌(?)의 밉맵이 준비되어야 한다.
보통 밉맵은 5~8가지 정도의 동일한 그림, 다른 사이즈의 밉맵을 준비하게 되는데 밉맵 레벌 0번의 크기가 1이라고 하면 밉맵레벨 1번의 경우는 0번의 1/4의 크기가 되며 밉맵레벌 2는 다시 1번의 1/4크기의 형식으로 한변이 1/2 크기씩 계속 감소하게 되는 방식으로 미리 밉맵을 제작하게 된다. 또한 MIP Mapping을 위해서는 일반 경우보다 1.5배 이상의 텍스쳐 메모리를 사용하게 된다. 허나 단순하게 밉맵의 크기를 최대 8개까지 준비한다고 해도 모든 크기의 오브젝트에 대응할 수는 없다.
실제로 게임중의 오브젝트는 관찰자의 거리에 따라 거의 연속적으로 변하며 8벌이 아니라 80벌이 되어도 일일히 미세하게 변화하는 오브젝트에 자신이 100% 원하는 텍스쳐를 입히는 것이 원리적으로 불가능하다. 따라서 적절한 크기의 밉맵을 준비하고 그 나머지 부분은 일종의 이미지 보간 작업을 수행하게 되는데 그것이 Filtering인 것이다. 사실 요즘에 와서는 filtering이 MIP MAPPING과 다소 혼동되어서 쓰이기는 한다.