Вам нужно почитать что такое текстурные координаты, MIP-текстурирование, фильтрация текстур.
Если очень упрощенно, то у каждой вершины треугольника есть пара текстурных координат
(u и v), это как x и y, только для текстуры. Они говорят о том, в каком месте картинки текстуры находится эта вершина. Эти координаты обычно между 0 и 1, где 0 это ноль на картинке, а 1 это ширина или высота картинки (в зависимости от того, u это или v).
Далее, при растеризации этого треугольника, для каждого отрисованного пикселя производится интерполяция этих координат. После интерполяции мы получаем координаты точки в картинке текстуры, которая соответствует данному месту на рендерящемся треугольнике.
Тут вступают в работу
mip-карты (это просто наша текстура с разными разрешениями), например, исходник текстуры 512x512, мип-карты для него будут 256x256, 128x128, 64x64, итд хоть до 1х1. Из какой мип-карты брать информацию определяется по расстоянию от камеры до данной точки треугольника. Чем дальше точка, тем меньшая по разрешению мип-карта берется, для оптимизации.
Когда выбрали точку, вступает в дело фильтрация текстур, тут
есть несколько разных алгоритмов. Их цель — сгладить переходы между пикселями текстуры (текселями), эти алгоритмы отвечают за то, какой цвет точки выбрать, если мы попали не точно по текселю, а между текселями (что происходит практически всегда). Самый простой — nearest, он просто берет цвет ближайшего текселя.