Фильтрация текстурTexture filtering

Фильтрация текстур создает цвет для каждого пикселя двумерного отрисованного изображения примитива при отрисовке путем сопоставления трехмерного примитива двумерному экрану.Texture filtering produces a color for each pixel in the primitive's 2D rendered image when a primitive is rendered by mapping a 3D primitive onto a 2D screen.

Когда Direct3D отображает примитив, трехмерный примитив сопоставляется двумерному экрану.When Direct3D renders a primitive, it maps the 3D primitive onto a 2D screen. Если примитив имеет текстуру, Direct3D должен использовать эту текстуру для создания цвета для каждого пикселя обработанного двумерного изображения примитива.If the primitive has a texture, Direct3D must use that texture to produce a color for each pixel in the primitive's 2D rendered image. Для каждого пикселя изображения примитива на экране необходимо получить значение цвета из текстуры.For every pixel in the primitive's on-screen image, it must obtain a color value from the texture. Этот процесс называется фильтрация текстур.This process is called texture filtering.

При проведении операции фильтрации текстуры используемая текстура также обычно увеличивается или уменьшается.When a texture filter operation is performed, the texture being used is typically also being magnified or minified. Другими словами она сопоставляется изображению примитива, которое больше или меньше, чем она сама.In other words, it is being mapped into a primitive image that is larger or smaller than itself. Увеличение текстуры может привести к сопоставлению множества пикселей одному текселю.Magnification of a texture can result in many pixels being mapped to one texel. Результатом может быть грубый внешний вид.The result can be a chunky appearance. Уменьшение текстуры часто означает, что один пиксель сопоставляется множеству текселей.Minification of a texture often means that a single pixel is mapped to many texels. Полученное изображение может быть нечетким или «зубчатым».The resulting image can be blurry or aliased. Чтобы устранить эти проблемы, необходимо выполнить наложение цветов текселей для получения цвета пикселя.To resolve these problems, some blending of the texel colors must be performed to arrive at a color for the pixel.

Direct3D упрощает сложный процесс фильтрации текстур.Direct3D simplifies the complex process of texture filtering. Предоставляется три типа фильтрации текстур — линейная фильтрация, анизотропная фильтрации и фильтрация с использование MIP-карт.It provides you with three types of texture filtering - linear filtering, anisotropic filtering, and mipmap filtering. При отказе от фильтрации текстур Direct3D использует метод под названием выборка с ближайшей точки.If you select no texture filtering, Direct3D uses a technique called nearest-point sampling.

Каждый тип фильтрации текстур имеет как преимущества, так и недостатки.Each type of texture filtering has advantages and disadvantages. Например использование линейной фильтрации текстур может привести к неровным краями или грубому внешнему виду конечного изображения.For instance, linear texture filtering can produce jagged edges or a chunky appearance in the final image. Однако этот метод фильтрации текстур требует меньшего количества вычислений.However, it is a computationally low-overhead method of texture filtering. Фильтрация с помощью MIP-карт обычно обеспечивает оптимальные результаты, особенно в сочетании с анизотропной фильтрацией.Filtering with mipmaps usually produces the best results, especially when combined with anisotropic filtering. Однако она требует больше всего памяти среди всех методов, поддерживаемых Direct3D.However, it requires the most memory of the techniques that Direct3D supports.

Типы фильтрация текстурTypes of texture filtering

Direct3D поддерживает следующие подходы к фильтрации текстур.Direct3D supports the following texture filtering approaches.

В этом разделеIn this section

РазделTopic ОписаниеDescription

Ближайшая точка выборкиNearest-point sampling

От приложений не требуется использовать фильтрацию текстур.Applications are not required to use texture filtering. Интерфейс Direct3D можно настроить таким образом, чтобы он вычислял адрес текселя, который часто не является целым числом, и копировал цвет текселя с ближайшим целочисленным адресом.Direct3D can be set so that it computes the texel address, which often does not evaluate to integers, and copies the color of the texel with the closest integer address. Этот процесс называется выборкой с ближайшей точки.This process is called nearest-point sampling.

Билинейная фильтрация текстурBilinear texture filtering

Билинейная фильтрация вычисляет средневзвешенное значение 4 текселей, которые расположены ближе всего к точке выборки.Bilinear filtering calculates the weighted average of the 4 texels closest to the sampling point. Этот способ фильтрации является более точным и распространенным, чем фильтрация по ближайшим точкам.This filtering approach is more accurate and common than nearest-point filtering. Это эффективный способ, поскольку он реализован в современном графическом оборудовании.This approach is efficient because it is implemented in modern graphics hardware.

Анизотропная фильтрация текстурAnisotropic texture filtering

Анизотропия — это искажение, видимое в текселях трехмерного объекта, поверхность которого ориентирована под углом относительно плоскости экрана.Anisotropy is the distortion visible in the texels of a 3D object whose surface is oriented at an angle with respect to the plane of the screen. Если пиксель из анизотропного примитива сопоставляется текселям, его форма искажается.When a pixel from an anisotropic primitive is mapped to texels, its shape is distorted.

Фильтрация с использованием MIP-карты текстурыTexture filtering with mipmaps

MIP-карта — это последовательность текстур, каждая из которых представляет собой одно и то же изображение с последовательно снижающимся разрешением.A mipmap is a sequence of textures, each of which is a progressively lower resolution representation of the same image. Высота и ширина каждого изображения или уровня MIP-карты меньше вышестоящего уровня на число, соответствующее степени двух.The height and width of each image, or level, in the mipmap is a power-of-two smaller than the previous level.

 

Связанные разделыRelated topics

ТекстурыTextures