ТекстурыTextures

Текстуры — это очень мощное средство для обеспечения реалистичности созданных на компьютере трехмерных изображений.Textures are a powerful tool in creating realism in computer-generated 3D images. Direct3D поддерживает широкий набор функций для работы с текстурами, предоставляя разработчикам удобный доступ к дополнительным методам обработки текстур.Direct3D supports an extensive texturing feature set, providing developers with easy access to advanced texturing techniques.

Для повышения производительности рассмотрите возможность использования динамических текстур.For improved performance, consider using dynamic textures. Динамические текстуры можно блокировать, производить в них запись и разблокировать для каждого кадра.A dynamic texture can be locked, written to, and unlocked each frame.

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

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

Введение в текстурыIntroduction to textures

Текстурный ресурс — это структура данных для хранения текселей, представляющих собой наименьшие элементы текстуры, которые можно использовать для чтения или записи.A texture resource is a data structure to store texels, which are the smallest unit of a texture that can be read or written to. При чтении текстуры шейдером ее можно фильтровать по дискретизаторам текстур.When the texture is read by a shader, it can be filtered by texture samplers.

Основные понятия текстурBasic texturing concepts

Ранние созданные на компьютере трехмерные изображения, как правило, имели глянцевый, "пластиковый" вид, несмотря на то что были достаточно продвинутыми для своего времени.Early computer-generated 3D images, although generally advanced for their time, tended to have a shiny plastic look. В них отсутствовали разнообразные типы маркировки, такие как царапины, трещины, отпечатки пальцев и пятна, придающие трехмерным объектам реалистичную визуальную сложность.They lacked the types of markings-such as scuffs, cracks, fingerprints, and smudges-that give 3D objects realistic visual complexity. Текстуры стали популярным способом повышения реалистичности создаваемых на компьютере трехмерных изображений.Textures have become popular for enhancing the realism of computer-generated 3D images.

Способы адресации текстурыTexture addressing modes

Приложение Direct3D может назначать координаты текстуры любым вершинам любого примитива.Your Direct3D application can assign texture coordinates to any vertex of any primitive. Как правило U- и V-координаты текстур, назначаемых вершине, находятся в диапазоне от 0,0 до 1,0 включительно.Typically, the u- and v-texture coordinates that you assign to a vertex are in the range of 0.0 to 1.0 inclusive. Однако назначая координаты текстуры вне этого диапазона, можно создавать некоторые специальные эффекты текстурирования.However, by assigning texture coordinates outside that range, you can create certain special texturing effects.

Фильтрация текстур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.

Текстурными ресурсамиTexture resources

Текстуры — это тип ресурса, используемого для отрисовки.Textures are a type of resource used for rendering.

Перенос текстурыTexture wrapping

Обтекание текстур меняет базовый способ, которым Direct3D растеризует текстурированные многоугольники с помощью координат текстуры, указанных для каждой вершины.Texture wrapping changes the basic way that Direct3D rasterizes textured polygons using the texture coordinates specified for each vertex. Во время растеризации многоугольника система выполняет интерполяцию между координатами текстуры в каждой вершине многоугольника для определения текселя, который должен использоваться для каждого пикселя многоугольника.While rasterizing a polygon, the system interpolates between the texture coordinates at each of the polygon's vertices to determine the texels that should be used for every pixel of the polygon.

Наложения текстурыTexture blending

Direct3D может накладывать на примитивы до восьми текстур за один проход.Direct3D can blend as many as eight textures onto primitives in a single pass. Использование множественного наложения текстур способно значительно увеличить частоту кадров приложения Direct3D.The use of multiple texture blending can profoundly increase the frame rate of a Direct3D application. Приложения используют множественное наложение текстур для нанесения текстур, теней, зеркального освещения, рассеянного освещения и других специальных эффектов за один проход.An application employs multiple texture blending to apply textures, shadows, specular lighting, diffuse lighting, and other special effects in a single pass.

Сопоставление света с текстурамиLight mapping with textures

Сопоставление освещения — это текстура или группа текстур, содержащая сведения об освещении в трехмерной сцене.A light map is a texture or group of textures that contains information about lighting in a 3D scene. Сопоставления освещения размечают области света и тени на примитивах.Light maps map areas of light and shadow onto primitives. Многопроходные и множественные наложения текстур позволяют приложению прорисовывать сцены более реалистично, чем методы с использованием заливки.Multipass and multiple texture blending enable your application to render scenes with a more realistic appearance than shading techniques.

Сжатые текстурными ресурсамиCompressed texture resources

Карты текстуры — это цифровые изображения, нарисованные на трехмерных фигурах для визуальной детализации.Texture maps are digitized images drawn on three-dimensional shapes to add visual detail. Они сопоставляются с этими фигурами на этапе растеризации, и этот процесс может потреблять большие объемы системной шины и памяти.They are mapped into these shapes during rasterization, and the process can consume large amounts of both the system bus and memory. Чтобы уменьшить объем памяти, потребляемый текстурами, Direct3D поддерживает сжатие поверхностей текстуры.To reduce the amount of memory consumed by textures, Direct3D supports the compression of texture surfaces. Некоторые устройства Direct3D поддерживают сжатые поверхности текстур по умолчанию.Some Direct3D devices support compressed texture surfaces natively.

 

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

Руководство по обучения графики Direct3DDirect3D Graphics Learning Guide