Текстуры графика: Текстура (трёхмерная графика) — это… Что такое Текстура (трёхмерная графика)?

Содержание

Что такое материалы и текстуры в 3D-графике / Skillbox Media

Допустим, нам нужно визуализировать деревянный куб. Для этого мы можем создать простой куб и изменить его геометрию, чтобы придать ему вид дерева. Вместо этого лучше добавить карту цвета (англ. color map) — растровое изображение, которое будет наложено на полигоны. Именно её чаще всего имеют в виду, когда говорят о текстурах.

Пример цветовой карты — имитация деревянной поверхности

Изображение будет наложено на модель, но геометрия останется неизменной. Так мы создадим видимость рельефа, не тратя много ресурсов на моделирование и компьютерную отрисовку.

Визуализированный куб с наложенной текстурой

Готовая модель выглядит неплохо, но на ней нет микрорельефа — небольших трещин, впадин и выпуклостей, которые видны на текстуре. Особенно сильно это заметно, если взглянуть на углы — они абсолютно прямые.

Исправить это — придать рельефность — можно, добавив больше полигонов, но гораздо быстрее будет воспользоваться картой высот (англ. height map), которую также иногда называют картой рельефа. Это чёрно-белая текстура, которая позволяет сделать рельеф реалистичным.

Существует несколько видов карт высот, у каждой свои особенности:

  • Bump map (англ. bump — кочка, выпуклость) создаёт иллюзию рельефа, но не меняет геометрию объекта. Для этого на цветовую текстуру компьютер накладывает небольшие искажения, чтобы создать иллюзию неровностей.
  • Parallax map (параллакс — иллюзия движения объекта относительно фона, которая видна движущемуся наблюдателю) меняет положение отдельных участков текстуры при отрисовке. То есть при отрисовке parallax map меняется положение отдельных пикселей, а не вершин.
  • Displacement map (англ. displacement — смещение) меняет геометрию объекта.

Вот пример displacement map:

Светлые области — выпуклости, а тёмные — впадины

При отрисовке модели с такой текстурой добавляются новые вершины, которые смещаются относительно полигона — поднимаются или опускаются. И мы получаем следующий результат:

Куб с наложенной картой смещения

Количество полигонов исходной модели не меняется, но геометрия объекта всё же становится более сложной во время отрисовки, поэтому здесь виден реальный рельеф, а не его иллюзия.

Карта смещений — одна из самых реалистичных карт высот. Но она и более затратная, так как во время отрисовки добавляются новые вершины. По этой причине displacement map используют не всегда, по возможности заменяя её другими текстурами. Например, комбинацией bump map и карты нормалей (англ. normal map) или parallax map — в зависимости от того, какого эффекта нужно добиться.

2D текстуры — Графика в Unity 3D

Textures вселяют в ваши меши (Meshes), частицы (Particles) и интерфейсы жизнь! Это файлы изображений или видео, которые вы накладываете на объект или оборачиваете вокруг. Т.к. они очень важны, у них есть множество свойств.

Шейдеры, которые вы используете для ваших объектов, ставят некоторые требования, для которых вам нужны определённые текстуры, но основной принцип заключается в том, что вы можете поместить любое изображения в ваш проект. Если он соответствует требованиям к размеру (указан ниже), он будет импортирован и оптимизирован для использования. Это распространяется и на многослойные .psd или .tiff файлы — они будут объединены при импорте, чтобы не занимать слишком много места. Учтите, что это объединение происходит внутри Unity и может быть отключено, таким образом, вы можете продолжать сохранять и импортировать ваши PSD файлы с раздельными слоями. Объединение не затрагивает сам файл.

Свойства

Texture Inspector(инспектор текстур) выглядит несколько иначе, в отличие от большинства других:

Инспектор разделён на 2 раздела, Импортер текстур (Texture Importer и предварительный просмотр текстуры.

Texture Importer

Все текстуры исходят из файлов изображений в вашей папке проекта (Project Folder). То, как они импортируются, задаётся в импортере текстур(Texture Importer). Вы можете изменить текстуру выбрав нужный файл текстуры в оке Project View и изменивTexture Importer в инспекторе (Inspector).

Самым главным элементом инспектора является меню Texture Type, которое позволяет выбрать вам тип текстуры, которую вы хотите сделать из исходного файла изображения.

Свойство:Функция:
Texture TypeВыбор этого пункта устанавливает базовые параметры, в зависимости от предназначения вашей текстуры.
        TextureЭто самый распространённый вариант для обычных текстур.
        Normal MapВыберите это, чтобы обратить цветовые каналы в формат, подходящий для маппинга нормалей в реальном времени. См. раздел Детали в конце страницы.
        GUIИспользуйте этот вариант, если собираетесь использовать вашу текстуру для интерфейса.
        SpriteДолжен быть выбран этот вариант, если ваша текстура будет спрайтом (Sprite) в 2D игре.
        ReflectionТакже известные как Cubemaps, используются для создания отражений на текстурах. Для дополнительной информации см. Cubemap Textures.
        CookieЭтот вариант настроит вашу текстуру для использования в виде Cookie для источников освещения.
        AdvancedВыберите этот вариант, если хотите задать особые параметры для вашей текстуры и хотите получить полный контроль над текстурой.
Базовые настройки текстуры
Alpha From GrayscaleЕсли включено, то альфа-канал прозрачности будет генерироваться исходя из существующих значений света и темноты изображения.
Wrap ModeОтвечает за поведение текстуры при тайлинге:
        RepeatТекстура повторят (тайлит) саму себя
        ClampКрая текстуры растягиваются
Filter ModeОтвечает за то, как текстура фильтруется, если её растянуло при 3D трансформациях:
        PointВблизи текстура становится более пиксельной
        BilinearВблизи текстура становится более размытой
        TrilinearКак и Bilinear, но текстура также размывается и на разных мип уровнях
Aniso LevelУвеличивает качество текстуры, при обзоре под большим углом. Хорошо подходит для пола и текстур земли. См. раздел Детали в конце страницы.
Normal map настройки в импортере текстур
Create from GreyscaleЕсли включено, то опции рельефности и фильтрования будут показаны.
BumpinessКонтролирует значение рельефности.
FilteringОпределяет, как рассчитывается рельефность:
        SmoothГенерирует достаточно гладкие карты нормалей.
        SharpТакже известно как Sobel-фильтр. Он генерирует карты нормалей, которые более резкие, нежели стандартные.
Wrap ModeОтвечает за поведение текстуры при тайлинге:
        RepeatТекстура повторят (тайлит) саму себя
        ClampКрая текстуры растягиваются
Filter ModeОтвечает за то, как текстура фильтруется, если её растянуло при 3D трансформациях:
        PointВблизи текстура становится более пиксельной
        BilinearВблизи текстура становится более размытой
        TrilinearКак и Bilinear, но текстура также размывается и на разных мип уровнях
Aniso LevelУвеличивает качество текстуры, при обзоре под большим углом. Хорошо подходит для пола и текстур земли. См. раздел Детали в конце страницы.
Настройка GUI в импортере текстур
Filter ModeОтвечает за то, как текстура фильтруется, если её растянуло при 3D трансформациях:
        PointВблизи текстура становится более пиксельной
        BilinearВблизи текстура становится более размытой
        TrilinearКак и Bilinear, но текстура также размывается и на разных мип уровнях
Настройка спрайта для импортера текстур
Sprite modeОтвечает за то, как спрайтовая графика будет извлекаться из изображения.
        SingleСпрайтовое изображение будет использоваться как единое.
        MultipleНесколько раздельных спрайтов(например, кадры анимации или раздельные элементы спрайта, которые принадлежат одному игровому персонажу) будут храниться в одном и том же изображении.
Packing TagИмя опционального атласа спрайта в который эта текстура должна быть запакована.
Pixels To UnitsКоличество пикселей ширины/высоты в изображении спрайта, которые будут соответствовать одной единицы расстояния в мировом пространстве.
PivotТочка на изображении, где определяется центр местной системы координат спрайта (центр, сверху-слева и т.д.).
Filter ModeОтвечает за способ фильтрации текстуры, когда она растягивается при трансформациях:
        PointВблизи текстура становится более пиксельной
        BilinearВблизи текстура становится более размытой
        TrilinearКак и Bilinear, но текстура также размывается и на разных мип уровнях
Настройки курсора в импортере текстур
Wrap ModeОтвечает за поведение текстуры при тайлинге:
        RepeatТекстура повторят (тайлит) саму себя
        ClampКрая текстуры растягиваются
Filter ModeОтвечает за то, как текстура фильтруется, если её растянуло при 3D трансформациях:
        PointВблизи текстура становится более пиксельной
        BilinearВблизи текстура становится более размытой
        TrilinearКак и Bilinear, но текстура также размывается и на разных мип уровнях
Настройка Reflection в импортере текстур
MappingОпределяет, как текстура будет наноситься на cubemap.
        Sphere MappedНаносит текстуру на сферический cubemap.
        CylindricalНаносит текстуру на цилиндр, используйте его, когда хотите нанести отражения на объекты, подобные цилиндру.
        Simple SphereНаносит текстуру на простую сферу, деформируя отражения, в то время как вы её вращаете.
        Nice SphereНаносит текстуру на сферу, деформируя текстуру, когда вы вращаете сферу, но вы всё ещё сможете увидеть обёртку текстуры.
        6 Frames LayoutТекстура содержит 6 изображений собранных в один из стандартных раскладок для cubemap, крестом или последовательностью (+x -x +y -y +z -z) и изображения могут быть либо в горизонтальной, либо вертикальной ориентации.
Fixup edge seamsУдаляет визуальные артефакты на границах стыка изображений, которые будут видны с небольшим бликом.
Filter ModeОтвечает за то, как текстура фильтруется, если её растянуло при 3D трансформациях:
        PointВблизи текстура становится более пиксельной
        BilinearВблизи текстура становится более размытой
        TrilinearКак и Bilinear, но текстура также размывается и на разных мип уровнях
Aniso LevelУвеличивает качество текстуры, при обзоре под большим углом. Хорошо подходит для пола и текстур земли. См. раздел Детали в конце страницы.

Интересный способ добавить кучу визуальных деталей в ваши сцены, это использовать Cookies — черно-белые текстуры, которые вы можете использовать для придания освещению определённого вида. Это великолепно для создания движущихся облаков и создания впечатления густой листвы. Страница Свет содержит больше информации об этом, но главной частью этого является то, что для использования текстуры в роли куков, вам лишь надо установить Texture Type на Cookie.

Настройки Cookie в импортере текстур
Light TypeТип освещения, к которому будет применяться текстура (это могут быть Spotlight, Point или Directional). Для Directional света эта текстура будет тайлиться, так что, таким образом, в инспекторе текстур вы должны установить Edge Mode в Repeat; для SpotLights вы нужно сохранять края текстуры полностью чёрными, чтобы получить должный эффект. В импортере текстур установите Edge Mode в Clamp.
Mapping(Только для Point light) Опции для нанесения текстура на сферическую проекцию Point light источника.
        Sphere MappedНаносит текстуру на сферический cubemap.
        CylindricalНаносит текстуру на цилиндр, используйте его, когда хотите нанести отражения на объекты, подобные цилиндру.
        Simple SphereНаносит текстуру на простую сферу, деформируя отражения, в то время как вы её вращаете.
        Nice SphereНаносит текстуру на сферу, деформируя текстуру, когда вы вращаете сферу, но вы всё ещё сможете увидеть обёртку текстуры.
        6 Frames LayoutТекстура содержит 6 изображений собранных в один из стандартных раскладок для cubemap, крестом или последовательностью (+x -x +y -y +z -z) и изображения могут быть либо в горизонтальной, либо вертикальной ориентации.
Fixup edge seams(Только для Point light) Удалят визуальные артефакты на краях стыка изображений.
Alpha from GreyscaleЕсли включено, то альфа-канал прозрачности будет генерироваться исходя из существующих значений света и темноты изображения.
Настройки Lightmap в импортере текстур
Filter ModeОтвечает за то, как текстура фильтруется, если её растянуло при 3D трансформациях:
        PointВблизи текстура становится более пиксельной
        BilinearВблизи текстура становится более размытой
        TrilinearКак и Bilinear, но текстура также размывается и на разных мип уровнях
Aniso LevelУвеличивает качество текстуры, при обзоре под большим углом. Хорошо подходит для пола и текстур земли. См. раздел Детали в конце страницы.
Расширенные настройки текстуры в импортере
Non Power of 2Если размер текстуры не является степенью двойки, это будет определять поведение при масштабировании во время импорта. См. раздел “Детали” в конце страницы.
        NoneРазмер текстуры останется неизменным.
        To nearestВо время импорта текстура будет масштабирована в ближайший размер являющийся степенью двойки. Например, текстуры размером 257×511 станут 256×512. Учтите, что PVRTC форматы требуют квадратные текстуры (ширина равна высоте), таким образом финальный размер будет увеличен до 512×512.
        To largerВо время импорта текстура будет масштабирована в ближайший размер являющийся степенью двойки. Например, текстуры размером 257×511 станут 512×512.
        To smallerВо время импорта текстура будет масштабирована в ближайший размер являющийся степенью двойки. Например, текстуры размером 257×511 станут 256х256.
Generate Cube MapГенерирует cubemap из текстуры используя различные методы генерации.
        SpheremapНаносит текстуру на сферический cubemap.
        CylindricalНаносит текстуру на цилиндр, используйте его, когда хотите нанести отражения на объекты, подобные цилиндру.
        SimpleSpheremapНаносит текстуру на простую сферу, деформируя отражения, в то время как вы её вращаете.
        NiceSpheremapНаносит текстуру на сферу, деформируя текстуру, когда вы вращаете сферу, но вы всё ещё сможете увидеть обёртку текстуры.
        FacesVerticalТекстура, содержащая шесть граней куба, расставленные в вертикальную полосу в порядке +x -x +y -y +z -z.
        FacesHorizontalТекстура, содержащая шесть граней куба, расставленные в горизонтальную полосу в порядке +x -x +y -y +z -z.
        CrossVerticalТекстура, содержащая шесть граней куба, расставленные в вертикально ориентированный крест.
        CrossHorizontalТекстура, содержащая шесть граней куба, расставленные в горизонтально ориентированный крест.
Read/Write EnabledВключите это, чтобы получить доступ к данным текстуры из скриптов (GetPixels, SetPixels и другиеTexture2D функции). Учтите, что, копирование данных текстуры будет проведено, удваивая необходимое количество памяти для ассета текстуры. Используйте это только в случаях крайней необходимости. Это является вариантом только для DTX сжатых текстур, другие типы сжатых текстур не являются читаемыми. По умолчанию отключено.
Import TypeСпособ интерпретации данных изображения.
        DefaultСтандартная текстура.
        Normal MapТекстура, которая считается Normal map (включает дополнительные опции)
        LightmapТекстура, которая считается Lightmap (выключает дополнительные опции)
Alpha from grayscale(Только в стандартном режиме) Генерирует альфа канал из информации о яркости из изображения.
Create from grayscale(Только в режиме Normal map) Создаёт карту, основываясь на информации о яркости изображения.
Bypass sRGB sampling(Только в режиме Default) Использует определённые цветовые значения из изображения, вместо компенсации гаммы (полезно, когда текстуры используются для интерфейса, или используются для расшифровки не графических данных)
Generate Mip MapsВключите, чтобы активировать генерацию мип-мапов. Мап мапы — это уменьшенные версии текстуры, которые используются, когда на экране текстура представлена в очень маленьком размере. См. раздел “Детали” в конце страницы.
In Linear SpaceГенерирует мип-мапы в линейном цветовом пространстве.
Border Mip MapsВыберите, чтобы избежать просачивания цветов за пределы мипмапов низкого уровня. Используется для Light cookies (см. ниже).
Mip Map FilteringДля оптимизации качества изображения доступно 2 способа фильтрации мип-мапов:
        BoxСамый простой способ это затухание мипмапов — уровни мипов становятся глаже и глаже по мере уменьшения размера.
        KaiserАлгоритм резкости Кайзера работает на мип-мапах по мере их уменьшения размера. Если на расстоянии текстуры слишком размытые, то попробуйте эту опцию.
Fade Out MipmapsВключите, чтобы мип-мапы плавно становились черно-белыми по прогрессу мип уровней. Это используется для Detail карт. Самый левый мип, это самый первый уровень мипа на переходе в серые цвета. Самый правый определяет мип уровень, где текстура будет полностью выцветшей.
Wrap ModeОтвечает за поведение текстуры при тайлинге:
        RepeatТекстура повторят (тайлит) саму себя
        ClampКрая текстуры растягиваются
Filter ModeОтвечает за то, как текстура фильтруется, если её растянуло при 3D трансформациях:
        PointВблизи текстура становится более пиксельной
        BilinearВблизи текстура становится более размытой
        TrilinearКак и Bilinear, но текстура также размывается и на разных мип уровнях
Aniso LevelУвеличивает качество текстуры, при обзоре под большим углом. Хорошо подходит для пола и текстур земли. См. раздел Детали в конце страницы.

Переопределения для разных платформ

Когда вы собираете игру для разных платформ, вам следует подумать о разрешении текстур для целевой платформы, размере и качестве. Вы можете установить стандартные настройки и затем их изменить под определённую платформу.

Стандартные настройки для всех платформ.
Max Texture SizeМаксимальный размер импортированной текстуры. Художники, зачастую, предпочитают работать с огромными текстурами — уменьшите текстуру до подходящих размеров.
Texture FormatКакое внутреннее представление используется для текстуры. Это компромисс между размером и качеством. В примерах ниже мы покажем финальный размер внутриигровой текстуры размером 256х256:
        CompressedСжатая RGB текстура. Это наиболее часто встречающийся формат для Diffuse-текстур. 4 бита на пиксель (32 КБ для 256×256 текстуры).
        16 bitTruecolor низкого качества. Имеет 16 уровней красного, зелёного, синего и альфы.
        TruecolorTruecolor высшего качества. 256 КБ на 256×256 текстуру.

Если у вас в Texture Type указан Advanced, то тогда у меню Texture Format будут разные значения.

Texture FormatКакое внутреннее представление используется для текстуры. Это компромисс между размером и качеством. В примерах ниже мы покажем финальный размер внутриигровой текстуры размером 256х256:
        RGB Compressed DXT1Сжатая RGB текстура. Это наиболее часто встречающийся формат для Diffuse-текстур. 4 бита на пиксель (32 КБ для 256×256 текстуры).
        RGBA Compressed DXT5Сжатая RGB текстура. Это главный формат для Diffuse и Specular текстур. 1 byte/пиксель (64 КБ для 256×256 текстуры).
        RGB 16 bit65 тысяч цветов без альфа канала. Сжатые DXT форматы используют меньше памяти и обычно выглядят лучше (128 КБ для 256х256 текстуры).
        RGB 24 bitTruecolor, но без альфа канала (192 КБ для 256х256 текстуры).
        Alpha 8 bitАльфа канал высокого качества, но без цветов (64 КБ для 256х256 текстуры).
        RGBA 16 bitTruecolor низкого качества. Имеет 16 уровней красного, зелёного, синего и альфы. Сжатые DXT форматы используют меньше памяти и обычно выглядят лучше (128 КБ для 256х256 текстуры).
        RGBA 32 bitTruecolor с альфа каналом — это высшее качество. 256 КБ на 256х256 текстуру. Требует достаточно много места. Большую часть времени DXT5 предлагает приемлемое качество при маленьком размере файла. Главное его применение для Normal тексту, т.к. DXT сжатие зачастую несёт с собой заметную потерю качества.

ios

Texture FormatКакое внутреннее представление используется для текстуры. Это компромисс между размером и качеством. В примерах ниже мы покажем финальный размер внутриигровой текстуры размером 256х256:
        RGB Compressed PVRTC 4 bitsСжатая RGB текстура. Это наиболее распространённый формат для Diffuse текстур. 4 бита на пиксель (32 КБ для 256х256 текстуры).
        RGBA Compressed PVRTC 4 bitsСжатая RGBA текстура. Это основной формат используемый для Diffuse и Specular control текстур или Diffuse текстур с прозрачностью. 4 бита на пиксель (32 КБ для 256х256 текстуры).
        RGB Compressed PVRTC 2 bitsСжатая RGB текстура. Формат более низкого качества подходящий для Diffuse-текстур. 2 бита на пиксель (16 КБ для 256х256 текстуры).
        RGBA Compressed PVRTC 2 bitsСжатая RGBA текстура. Форматы более низкого качества подходят для diffuse и specular control текстур. 2 бита на пиксель (16 КБ для 256х256 текстуры).
        RGB Compressed DXT1Сжатая RGB текстура. Этот формат не поддерживается на iOS, но сохраняет обратную совместимость с проектами стационарных платформ.
        RGBA Compressed DXT5Сжатая RGBA текстура. Этот формат не поддерживается на iOS, но сохраняет обратную совместимость с проектами стационарных платформ.
        RGB 16 bit65 тысяч цветов без альфа канала. Использует больше памяти чем PVRTC форматы, но может быть подходящим для интерфейса или чётких текстур без градиентов. 128 КБ для 256х256 текстуры.
        RGB 24 bitTruecolor, но без альфа канала (192 КБ для 256х256 текстуры).
        Alpha 8 bitАльфа канал высокого качества, но без цветов (64 КБ для 256х256 текстуры).
        RGBA 16 bitTruecolor низкого качества. Имеет 16 уровней красного, зелёного, синего и альфы. Использует больше памяти чем PVRTC форматы, но может быть удобен, если вам нужен точный альфа канал. 128 КБ для 256х256 текстуры.
        RGBA 32 bitTruecolor с альфа каналом — это высшее качество. 256 КБ для 256х256 текстуры. Требует достаточно много места. Обычно PVRTC форматы предлагают приемлемое качество с весьма маленьким размером.
Compression qualityВыберите Fast для более высокой производительности, Best для лучше качества изображения и Normal для баланса.

Android

Texture FormatКакое внутреннее представление используется для текстуры. Это компромисс между размером и качеством. В примерах ниже мы покажем финальный размер внутриигровой текстуры размером 256х256:
        RGB Compressed DXT1Сжатая RGB текстура. Поддерживается Nvidia Tegra. 4 бита на пиксель (32 КБ для 256х256 текстуры).
        RGBA Compressed DXT5Сжатая RGBA текстура. Поддерживается Nvidia Tegra. 6 бит на пиксель (64 КБ для 256х256 текстуры).
        RGB Compressed ETC 4 bitsСжатая RGB текстура. Это стандартный формат текстуры для проектов на Android. ETC1 является частью OpenGL ES 2.0 и поддерживается всеми OpenGL ES 2.0 графическими процессорами. Не поддерживает альфа-каналы. 4 бита на пиксель (32 КБ для 256х256 текстуры).
        RGB Compressed PVRTC 2 bitsСжатая RGB текстура. Поддерживается графическими процессорами Imagination PowerVR. 2 бита на пиксель (16 КБ для 256х256 текстуры).
        RGBA Compressed PVRTC 2 bitsСжатая RGBA текстура. Поддерживается графическими процессорами Imagination PowerVR. 2 бита на пиксель (16 КБ для 256х256 текстуры).
        RGB Compressed PVRTC 4 bitsСжатая RGB текстура. Поддерживается графическими процессорами Imagination PowerVR. 4 бита на пиксель (32 КБ для 256х256 текстуры).
        RGBA Compressed PVRTC 4 bitsСжатая RGBA текстура. Поддерживается графическими процессорами Imagination PowerVR. 4 бита на пиксель (32 КБ для 256х256 текстуры).
        RGB Compressed ATC 4 bitsСжатая RGB текстура. Поддерживается графическими процессорами Qualcomm Snapdragon. 4 бита на пиксель (32 КБ для 256х256 текстуры).
        RGBA Compressed ATC 8 bitsСжатая RGBA текстура. Поддерживается графическими процессорами Qualcomm Snapdragon. 6 бита на пиксель (64 КБ для 256х256 текстуры).
        RGB 16 bit65 тысяч цветов без альфа канала. Использует больше памяти чем сжатые форматы, но может быть подходящим для интерфейса или чётких текстур без градиентов. 128 КБ для 256х256 текстуры.
        RGB 24 bitTruecolor, но без альфа канала (192 КБ для 256х256 текстуры).
        Alpha 8 bitАльфа канал высокого качества, но без цветов (64 КБ для 256х256 текстуры).
        RGBA 16 bitTruecolor низкого качества. Стандартный вид сжатия для текстур с альфа-каналом. 128 КБ для 256х256 текстуры.
        RGBA 32 bitTruecolor с альфа каналом — это высшее качество сжатия для текстур с альфа каналом (256 КБ для 256х256 текстуры).
Compression qualityВыберите Fast для более высокой производительности, Best для лучше качества изображения и Normal для баланса.

Пока вы не нацелены на определённое оборудование, вроде Tegra, мы рекомендуем использовать ETC1 сжатие. Если есть надобность, вы можете хранить внешний альфа канал и в то же время извлекать пользу из отпечатка текстуры поменьше. Если вы определённо намерены хранить альфа канал в текстуре, то RGBA 16-бит — вид сжатия поддерживаемый всеми производителями оборудования.

Текстуры можно импортировать из DDS файлов, но на данный момент поддерживается только DXT или несжатый пиксельный формат.

Если ваше приложение использует сжатие текстур, текстуры будут разжаты в RGBA 32 и храниться в памяти вместе со сжатыми. Таким образом, в данном случае вы теряете время на разжатие текстур и теряете память, храня из дважды. Также может быть негативное влияние на производительность рендеринга.

Flash

FormatФормат изображения
        RGB JPG CompressedДанные RGB изображения, сжатые в JPG формат.
        RGBA JPG CompressedДанные RGBA изображения(т.е. с альфа каналом), сжатые в JPG формат.
        RGB 24-bitНесжатые данные RGB изображения, 8 бит на канал
        RGBA 32-bitНесжатые данные RGBA изображения, 8 бит на канал

Детали

Поддерживаемые форматы

Unity может прочесть следующие форматы файла: PSD, TIFF, JPG, TGA, PNG, GIF, BMP, IFF, PICT. Стоит заметить, что Unity может без проблем импортировать многослойные PSD и TIFF файлы. При импорте они будут автоматически объединены, но это произойдёт в самих ассетах, таким образом, вы ничего не потеряете, если будете нативно использовать эти типы файлов. Это важно, т.к. это вам позволяет иметь по одной копии на текстуру, которую вы используете и в Photoshop, и в приложении для 3D моделирования, и в Unity.

Размеры текстур

В идеале размеры текстуры и в высоту, и в ширину должны быть степенью двойки. Вот эти размеры: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 и т.д. пикселей. Текстуры не обязаны быть квадратными, другими словами, ширина может не равняться высоте. Учтите, что каждая платформа может наложить своё ограничение на размер текстуры.

В Unity возможно использовать текстуры и других (не равных степени двойки — “NPOT”) размеров. Текстура NPOT-размера обычно использует немного больше памяти может медленнее читаться графическим процессором, так что для производительности лучше всего использовать размеры степеней двойки везде, где только можно. Если платформа или графический процессор не поддерживает текстуры NPOT размера, то тогда Unity изменит их размеры до ближайших, равных степени двойки, что потребует ещё больше памяти и сделает загрузку медленнее (на практике, это всегда случается при сборке под Flash и с некоторыми более старыми Android устройствами). Обычно надобность в использовании текстур NPOT размеров возникает только при создании интерфейса.

NPOT ассеты текстур могут быть отмасштабированы во время импорта используя опцию Non Power of 2, видимой, когда в Texture Type установлен Advanced.

UV Mapping

При нанесении(маппинге) 2D текстуры на 3D модель, проходит похожая на оборачивание операция. Это называется UV mapping и этот процесс производится в приложении для 3D моделирования. Внутри Unity вы можете изменить размер текстуры и передвинуть её используя материалы. Изменение размера Normal и Detail текстур особенно полезно.

Mip Maps

Mim Maps (мип-мипы) — список уменьшающихся по прогрессии версий изображения, используемые для оптимизации производительности в реальном времени при работе с 3D движками. Объекты, расположенные далеко от камеры, используют уменьшенные версии текстур. Использование мип мапов требует на 33% больше памяти, но если их не использовать, то тогда может быть сильное падение производительности. Вас всегда следует использовать мипмапы для внутриигровых текстур; единственные исключения — текстуры, которые никогда не будут маленькими на экране (например, GUI текстуры).

Normal Maps (карты нормалей)

Карты нормалей используются для шейдеров с их использованием, чтобы у низкополигональных моделей создать эффект, что они содержат больше деталей. Unity использует карты нормалей закодированными в виде RGB изображения. У вас также есть вариант генерации карты нормалей из черно-белой карты высот изображения.

Detail Maps (карты деталей)

Если вы хотите создать террейн, вы обычно используете главную текстуру, чтобы показать, где трава, гравий и т.п. Если вам террейн приличного размера, то всё это будет очень размытым. Detail текстуры скрывают этот факт добавлением мелких деталей к текстуре по мере приближения к ней.

При рисовании Detail текстур, нейтральный серый — невидимый, белый — делает текстуру в 2 раза ярче, а чёрный делает текстуру полностью чёрной.

Reflections (Cube Maps)

Если вы хотите использовать текстуры для карт отражения (например, использовать встроенные Reflective шейдеры), вам понадобится использовать Cubemap текстуры.

Anisotropic filtering (Анизотропная фильтрация)

Анизотропная фильтрация увеличивает качество текстуры видимой под высоким углом, немного увеличивая нагрузку рендеринга (нагрузка полностью идёт на видеокарту). Обычно увеличение уровня анизотропии является неплохой идеей для текстур земли и пола. В меню Quality Settings анизотропную фильтрацию можно применить ко всем текстурами или полностью отключить её.

Нет анизотропии (слева)/ Максимальная анизотропия (справа) применённая для текстуры земли

Основные принципы создания текстуры — UWP applications

  • Чтение занимает 2 мин

В этой статье

Ранние созданные на компьютере трехмерные изображения, как правило, имели глянцевый, «пластиковый» вид, несмотря на то что были достаточно продвинутыми для своего времени. В них отсутствовали разнообразные типы маркировки, такие как царапины, трещины, отпечатки пальцев и пятна, придающие трехмерным объектам реалистичную визуальную сложность. Текстуры стали популярным способом повышения реалистичности создаваемых на компьютере трехмерных изображений.

В повседневном использовании слово «текстура» используется для обозначения гладкости или шероховатости объекта. Однако в компьютерной графике текстура — это точечный рисунок пиксельных цветов, придающих объекту внешний вид текстуры.

Поскольку текстуры Direct3D — это точечные рисунки, к примитиву Direct3D может быть применен любой точечный рисунок. Например, приложения могут создавать объекты, которые выглядят, как будто имеют узор древесной структуры, и выполнять с ними различные операции. К набору трехмерных примитивов, образующих холм, можно добавить траву, грязь и камни. В результате мы получим выглядящий весьма реалистично склон холма. Кроме того, текстурирование можно использовать для создания эффектов, таких как знаки на обочине дороги, горные пласты в ущелье или мрамор на полу.

Кроме того, Direct3D поддерживает более сложные техники текстурирования, такие как наложение текстур с прозрачностью и без и сопоставление света. См. разделы Наложение текстур и Сопоставление света с текстурами.

Если ваше приложение создает устройство слоя абстрагирования оборудования (HAL) или программное устройство, оно может использовать 8-, 16-, 24-, 32-, 64- или 128-разрядные текстуры.

Текстуры

Бесплатные векторные текстуры

Сегодня мы собрали для вас бесплатные векторные текстуры. Растровых текстур на самые различные темы хоть отбавляй, однако иногда растр — не выход. Иногда бывает важно сохранить векторный формат от и до. Эта подборка поможет вам в таких случаях.

 

 


6 Abstract Vector Textures 


Textured wall 


Cardboard texture


FABRIC CANVAS TEXTURE


Grunge Overlay Texture — Vector


Grungy texture


Blue texture background with stains


Black and white grunge texture


Watercolor background


REPTILE SKIN LEATHER TEXTURE


NATURAL LEATHER TEXTURE


Old Wood Background Texture


Green Vector Paper Texture


Brick texture background 


Texture with blue paint


Vector texture


Watercolor illustration


WHITE BRICK WALL BACKGROUND


LIGHT WOOD TEXTURE


Concrete Vector Texture


Cracked Stone Vector Texture


Vector Paper Texture


LIGHT BLUE GRUNGE TEXTURE 

Автор подборки — Дежурка

Смотрите также:

  • Рисуем текстуру картона в Adobe Illustrator
  • Рисуем текстуру воды в Adobe Illustrator
  • Векторная текстура металла в Adobe Illustrator

Коментарии запрещены.

Режим «производительность» повышает частоту смены кадров в Fortnite

УСКОРЕННАЯ ЗАГРУЗКА. ПОВЫШЕННОЕ БЫСТРОДЕЙСТВИЕ. ПОЛЬЗОВАТЕЛЯМ БОЛЕЕ СТАРЫХ КОМПЬЮТЕРОВ ДОСТУПЕН НОВЫЙ ПАРАМЕТР ДЛЯ ИГРЫ В FORTNITE.

Теперь пользователям компьютеров, отвечающих минимальным требованиям Fortnite, доступна альфа-версия режима «производительность». Его можно включить во внутриигровом меню параметров. Режим «производительность» позволит значительно повысить быстродействие, а также снизить расход оперативной памяти и нагрузку на процессор и видеокарту за счёт ухудшения качества изображения. Благодаря этому режиму у пользователей, которые играют при низких значениях параметров или на менее мощных компьютерах, игра будет работать лучше, чем прежде, а смена кадров станет стабильней.

Режим «производительность» в «дополнительных настройках графики».

Режим «производительность» доступен большинству игроков и работает только в «Королевской битве» и творческом режиме. Режим «производительность» можно в любой момент включить или отключить во внутриигровом меню параметров, после чего потребуется перезапустить игру.

Примечание: на ПК при включённом режиме «производительность» кампания «Сражение с Бурей» недоступна.


Экономия места на жёстком диске

Игроки также могут отказаться от текстур в высоком разрешении. Это можно сделать на странице настроек установки в программе запуска Epic Games. Следуйте этим инструкциям:

1. Откройте программу запуска Epic Games.
2. Выберите пункт «Библиотека».
3. Щёлкните по трём точкам рядом с надписью Fortnite.

4. Выберите «Параметры».

5. Уберите галочку рядом с опцией «Текстуры высокого разрешения».

Из файлов игры будет удалено около 14 ГБ материалов в высоком разрешении, так что итоговый размер игры составит всего 18 ГБ без всех дополнительных компонентов. Пользователям, которые играют при низких значениях параметров или с низким разрешением, это позволит освободить много места на диске за счёт небольшого ухудшения качества изображения!


Рекомендуемая конфигурация системы

Улучшение заметят все игроки, которые воспользуются режимом «производительность», но при определённой конфигурации системы игра будет работать ещё стабильнее. На более старых компьютерах с оперативной памятью 6 ГБ и больше или с игрой, установленной на диске SSD, расход памяти будет меньше, а рывки и зависания станут случаться реже. Наличие дискретной видеокарты не обязательно, однако она также поможет сбалансировать нагрузку на систему и сделает игровой процесс более комфортным.


Чего стоит ожидать?

В режиме «производительность» качество изображения в игре снизится, а частота смены кадров — повысится. Так в Fortnite смогут комфортно играть владельцы компьютеров, конфигурация которых отвечает минимальным требованиям. Наряду с возможностью удалить текстуры в высоком разрешении игра будет загружаться быстрее, чем когда-либо, причём на игровой процесс это никак не повлияет.

Ниже приведены средние значения частоты смены кадров в обычном матче для отрядов в игре, запущенной на ноутбуках с низкими значениями параметров, в сравнении с таким же матчем, но при включённом режиме «производительность». В обоих случаях выбрано разрешение 720p.

Конфигурация №1:

Конфигурация №2:

ЦП: Intel i5-8265U (1,60 ГГц)

ЦП: AMD A10-5745M APU (2,1 ГГц)

Оперативная память: 8 ГБ

Оперативная память: 6 ГБ

Видеокарта: Intel UHD Graphics 620

Видеокарта: AMD Radeon(TM) HD 8610G

Частота смены кадров до: 24 кадра/с

Частота смены кадров до: 18 кадров/с

Частота смены кадров после: 61 кадров/с

Частота смены кадров после: 45 кадров/с

Режим «производительность» с разрешением 720p и отключёнными текстурами высочайшего качества.

ПОЗНАКОМЬТЕСЬ С FORTNITE В РЕЖИМЕ «ПРОИЗВОДИТЕЛЬНОСТЬ»!

Пиксельная графика: текстуры — CG Magazine

В этом уроке я попробую объяснить, как можно создать собственные текстуры для игры или, например, для заднего фона . Те текстуры, которые я выбрала, имеют размер 48х48пк, хотя это и необычно для текстур, но такой размер хорошо подходит для практики. Позже вы будете делать их размерами 16х16, 32х32 или 64х64 ну и т.д.

Текстура дерева

Для начала вам нужно знать, что большинство текстур вынуждены повторяться. Это означает, что вы будете размещать вашу текстуру рядом с другой такой же, но не нужно делать это слишком активно, они должны с легкостью соединяться между собой. Итак, я начала с простых линий, обозначающих, как будет выглядеть доски. Обратите внимание на то, что у досок одинаковая толщина.

Теперь необходимо добавить деталей, таких как гвозди или потрескавшееся дерево. Я также добавила глубины, позволив нескольким доскам выступать над поверхностью. Они искривлены больше, чем другие.

И не помешало бы проверить общую картину. «Повторение» изображения выглядит нормально? Вполне естественно? Если да – идем дальше, нет – исправляем, лучше сейчас, а не позже.

Добавив темного цвета на некоторые части линий, а так же наложив падающие тени, мы добьемся большей глубины в нашей текстуре. Просто добавьте размытые темные части под искривленными концами досок.

Еще одна важная часть работы – освещение нашей текстуры. В первую очередь я добавляю яркий цвет по краям досок. Больше всего цвета следует разместить там, где доски почти достигают вершины.

В конце я выделила цветом определенные места, дабы придать еще больше глубины, но делать так или нет — это на ваше усмотрение. Когда создаешь графику для игры, понимаешь что иногда лучше ослабить контраст.

Текстура выгляди вполне естественной, хотя вы можете увидеть здесь повторяющееся несколько раз изображение. Чтобы избавиться от этого чувства вы можете создать еще одну текстуру дерева и поместить их рядом друг с другом случайным образом.

Текстура камня

В этот раз может быть немного сложнее, потому что у вас нет реальной структуры, которой можно придерживаться. Существует множество способов изобразить камни и придать им форму.

Начнем с придания нашей поверхности необходимой структуры. Она состоит из эллипсов и «трещин» в них. Самое трудное здесь – позаботиться о том, чтобы один из камней, который начинается в правом углу, продолжался в левом. Следует все время сравнивать вашу текстуру, располагая рядом такую же чтобы не ошибиться.

После этого нужно определиться с глубиной каждого камня. В некоторых местах камни выше, чем остальные, а под ними есть тень, как вы можете увидеть.

Для проверки разместите вашу текстуру 4 раза рядом с самой собой. Если вы думаете, что все отлично – переходите к следующему шагу.

Теперь, так же как и в случае с текстурой дерева. Для усиления теней просто добавим более темный цвет в уже темные места, но не нужно смешивать их вместе.

Теперь самая трудная часть. Мы можем изобразить, насколько выступает какой-либо камень в отличие от других. Такой эффект достигается с помощью наложения более светлого цвета на края камней. Больше света – больше выступ. Чтобы улучшить работу я добавила еще и небольшие штрихи в тени.

В конце концов, добавляем еще один цвет, даже ярче чем раньше, чтобы придать определенным камням большую освещенность и соответственно они будут немного выше, чем другие камни.

Как вы можете видеть, для тех, кто не привык к такому, будет сложно разглядеть здесь повторяющиеся части текстуры.

Текстура травы

Трава всегда была сложным элементом для начинающих, но в качестве первой текстуры часто выбирают именно текстуру травы, хотя эта одна из самых сложных текстур без ясной структуры.

Что касается меня, мне нравится метод, который я использую. Он довольно простой и быстрый в исполнении.

Сначала мы располагаем листья, они светлее, чем поверхность под ними. Каждого лист должен быть немного «разорван» в середине, как на приближенном изображении. Листья нужно расположить случайным образом по всей поверхности, они должны быть разного размера и формы.

После этого мы добавляем травинки между листьями. Они должны быть меньше, чем сами листья. Вы можете увидеть некоторые варианты их формы в детальном изображении.

Теперь, нужно опять убедиться, что вся текстура с одинаковыми повторяющимися частями выглядит хорошо, если так оно и есть – переходим к следующему шагу.

И наконец, мы добавляем яркие оттенки на края листьев, которые мы нарисовали в начале. Обратите внимание, что нужно накладывать свет только на листья, а не на маленькие травинки вокруг них. Это важно для переедания глубины. Так же, следует ярко раскрасить кончики листьев.

Для лучшего результата, можно добавить цветов или камней, но это был бы уже другой урок.

Текстура воды

Наверное, одной из самых сложных текстур для начинающих является текстура воды. Я покажу вам один из способов её создания.

Начнем c рисования светлых линий на очень темном цвете, цвет этих линий должен быть намного ярче цвета поверхности. Попробуйте разные варианты размера этих «колец», попытайтесь изобразить очень маленькие и очень большие кольца, которые немного соединяются друг с другом.

Всегда следует проверять, как выглядит повторение такой текстуры, важно сделать так, чтобы не было видно повторения одного и того же изображения.

Когда с этим все будет в порядке, нужно будет сделать некоторые части колец толще. Я бы выбрала те части, где кольца соединяются между собой.

Далее мы придаем глубины, добавляя темный цвет. Мы накладываем его с небольшими интервалами вокруг наших колец, так мы изобразим маленькие волны. Вот вам совет: не следует использовать смешение, это было бы ошибкой затенения. И еще, я уже видела нечто подобное других работах, поэтому и говорю вам. У воды не грубая структура.

В качестве чего-то особенного можно добавить бликов на кольцах, как если бы это было отражение солнца, в основном на тех местах, где кольца сталкиваются друг с другом.

Если вы хотите изобразить место с большим количеством воды, вы можете создать еще текстур попозже. У воды, которая находится ближе к берегу, кольца будут больше, чем у воды, которая уходит дальше от берега.

Вот и все, надеюсь, вы узнали много нового сегодня.

Практики и вдохновения!

Лучшие моды для Valheim — графика, текстуры, вид от первого лица и не только

Valheim одна из тех игр, для которых моддеры создают модификации. Большинство из них, конечно, вряд ли кого-то заинтересует, но мы собрали для вас ТОП-10 лучших модов, которые могут обеспечить вам новые впечатления от игры.

HD Valheim (WIP) — улучшенная графика в Вальхейм

Вальхейм сложно назвать передовой игрой в плане картинки, но с помощью мода HD Valheim (WIP) графику можно улучшить. Если подробнее, то эта модификация добавляет в игру текстуры высокого разрешения, в результате чего картинка выглядит более детализировано и реалистично.

Автор мода с ником Aurelius отмечает, что улучшил качество текстур в четыре раза. При этом работа над модом все еще продолжается. В конце концов, заявляет моддер, он хочет довести графику в Valheim до уровня AAA-проекта. Что ж, пожелаем ему удачи!

Скачать мод HD Valheim (WIP) можно здесь.

Map Sharing Made Easy — улучшенная карта в Вальхейм

Моддер с ником yardik выпустил мод, который улучшает карту, а если точнее, добавляет в игру возможность делиться ею и метками на ней с другими игроками на сервере. Кроме того, мод поддерживает горячие клавиши. Чтобы поделиться картой, необходимо нажать M, после чего F9.

Игрок, с которым вы хотите поделиться картой, должен находиться рядом. После нажатия F9 он получит уведомление, в котором сможет принять или отклонить общий доступ к карте с помощью клавиш F7 и F8 соответственно. Обратите внимание, что для того, чтобы все работало, у вашего друга тоже должен быть установлен этот мод.

Скачать мод Map Sharing Made Easy можно здесь.

Custom Textures — забавные текстуры в Вальхейм

Если вам хочется придать свежести Вальхейм, мод Custom Textures реализован как раз для этого. С его помощью можно заменить обычные текстуры на пользовательские, которые изменят некоторые объекты, дополнив их новыми красками.

В частности, мод заменяет текстуры персонажа, доспехов, ландшафта, воды, окружения и внутриигровых объектов, а также значки предметов в инвентаре. В результате игра про суровых викингов на выживание превратится в нечто веселое и забавное.

Скачать мод Custom Textures можно здесь.

BetterUI — улучшенный пользовательский интерфейс в Вальхейм

Мод BetterUI вносит некоторые поправки в пользовательский интерфейс Вальхейм, делая его более удобным для понимания и взаимодействия. Моддер с ником Masa обещает поддерживать свою модификацию и выпускать улучшения.

В частности, мод улучшает отображение статистики персонажа, предметов в инвентаре, оставшегося времени создания вещей и роста растений, слотов, навыков и крафта. В некоторых иконках добавлены дополнительные цвета, чтобы в итоге было удобнее следить за состоянием того или иного предмета.

Скачать мод BetterUI скачать здесь.

Better Trader — улучшенный торговец в Вальхейм

Добавляет новое меню при взаимодействии с торговцем в Вальхейм. Кроме того, мод дополняет ассортимент товаров более 150 новыми предметами, включая лут эпического качества.

Также есть возможность изменять цены, добавлять и убирать лишние предметы в меню. Если вы все еще не нашли торговца в игре, в нашем гайде мы подробно рассказали, где он находится.

Скачать мод Better Trader можно здесь.

Faster Teleportation — быстрый телепорт в Вальхейм

Мод Faster Teleportation сокращает время, которое уходит на телепортацию из одной точки в другую. Таким образом, вы будете перемещаться по открытому миру еще быстрее.

Моддер с ником LVH-IT рекомендует использовать модификацию в одиночной игре. В мультиплееры возможны баги. Обратите внимание, что если вы не знаете, как совершить быстрое перемещение в Вальхейм, мы подробно рассказали об этом в нашем гайде.

Скачать мод Faster Teleportation можно здесь.

Clock — часы в Вальхейм

Clock —  незначительный, но очень полезный мод, поскольку добавляет в Вальхейм настраиваемый виджет часов на экран, показывающий время суток. Игроки могут кастомизировать часы по своему вкусу.

К примеру, можно изменить шрифт, положение на экране, цвет и прозрачность, размер шрифта, формат времени и т.д. Перетаскивать часы по дисплею можно с помощью курсора мыши.

Скачать мод Clock можно здесь.

First person view — вид от первого лица в Вальхейм

Мод First person view, как и следует из названия, добавляет в Вальхейм режим от первого лица. Таким образом, он позволяет глубже погрузиться в мир игры и подробнее изучить местность.

Как сообщил моддер с ником Kailen_, его модификация все еще находится в процессе доработки, но уже сейчас она вполне играбельна и полноценно функционирует.

Скачать мод First person view можно здесь.

Valheim Plus — улучшенный геймплей в Вальхейм

Мод включает в себя несколько функций, которые позволяют пользователям изменять характеристики персонажей, зданий и объектов. Кроме того, он предлагает игрокам возможность создавать и размещать объекты с очень высокой точностью с помощью специальной системы, а также настраивать и изменять уже размещенные объекты с одинаковой точностью.

Цель состоит в том, чтобы улучшить игровой опыт и впечатления от геймплея. В частности, модификация вносит корректировки в такие параметры, как карта, HUD-интерфейс, камера, сложность, баланс, инвентарь, крафт и строительство.

Скачать мод Valheim Plus можно здесь.

Use Equipment in Water — возможность использовать снаряжение в воде

Use Equipment in Water — очень полезный мод, поскольку позволяет использовать снаряжение (оборудование и инструменты) персонажа, даже если он находится в воде.

С помощью файла конфигурации можно указать, какие именно предметы вы хотите разрешить для использования во время плавания, а какие нет.

Скачать мод Use Equipment in Water можно здесь.


Рекомендуем вам также ознакомиться с другими нашими гайдами по Valheim, которые помогут вам больше узнать о прокачке, крафте, боссах, наградах и многом другом.

Краткий обзор текстуры в графическом дизайне

Текстура может относиться к реальной физической поверхности дизайна или к внешнему виду дизайна. В первом случае аудитория действительно может почувствовать текстуру, что делает ее уникальной среди других элементов дизайна. Выбор бумаги и материалов в дизайне упаковки может повлиять на фактическую текстуру. Во втором случае текстура подразумевается через стиль дизайна. Богатая многослойная графика может создать визуальную текстуру, которая отражает реальную текстуру.

Фактическая текстура

Хотя большинство элементов дизайна, таких как цвет и шрифт, просто видны аудитории, люди действительно могут почувствовать текстуру. Чаще всего это происходит с бумагой. Ощущение и вес бумаги могут существенно повлиять на восприятие дизайна, делая выбор дизайнера решающим. Визитные карточки или брошюры на плотной бумаге могут показаться более профессиональными, чем на более легком. Рекламный материал на газетной бумаге может стоить меньше, но он также вызывает желаемое ощущение массовой кампании.Здесь играет роль бюджет, поскольку высококачественная бумага может значительно увеличить стоимость проекта, поэтому важно найти баланс между стоимостью и изображением, которое вы пытаетесь достичь.

Текстура также является ключевым элементом упаковки. На ощупь и вес металла, пластика, стекла и других материалов, из которых состоит упаковка, влияет на мнение потребителя о продукте.

Визуальная текстура

Текстуру также можно смоделировать с помощью стиля дизайна.Слои текста, фигур и линий могут создавать ощущение текстуры на странице или на экране. Фотография, иллюстрация и изобразительное искусство в сочетании с графическими элементами также могут помочь добиться появления текстуры. Обычно фотографии реальной поверхности, например бумаги, используются в качестве фона в дизайне. Современное программное обеспечение для дизайна, такое как Adobe Photoshop, упрощает эксперименты со слоями и визуальной текстурой.

Спасибо, что сообщили нам!

Расскажите, почему!

Другой Недостаточно подробностей Трудно понять

текстур в графическом дизайне | Учиться.com

Вы можете себе представить, как эта стена будет ощущаться на ощупь.

Что может сделать для вас текстура

Текстура может быть мощным инструментом для привлечения внимания зрителя и вовлечения его многими подсознательными способами. Определенные типы текстуры могут вызывать тонкие эмоциональные реакции, в то время как другие возбуждают визуальные чувства. Текстуру можно использовать для создания баланса и усиления чувства серьезности или мягкости. Знание того, как правильно использовать текстуру, может означать разницу между хорошим графическим дизайном и отличным.

Фактическая / Физическая текстура

Текстура бывает двух основных форм: фактической и подразумеваемой. Однако у обоих есть несколько разных имен, в зависимости от того, кто об этом говорит. Вот почему мы включили несколько в заголовок. Фактическая текстура , или физическая текстура, относится к реальным тактильным свойствам дизайна. Это может включать в себя ощущение поверхности, например шероховатость или гладкость, то, как слова могут подниматься с поверхности или вдавливаться в нее, и даже физический вес предмета.

Вы можете определить фактическую текстуру бумаги по весу бумаги, рельефному цветочному узору и букве M, прикрепленной к бумаге.

Допустим, вы разрабатываете для кого-то свадебные приглашения. Вам нужно принять множество решений относительно фактической текстуры вашей работы. Во-первых, какую толщину бумаги вы будете использовать? Как вы думаете, обычная бумага для принтера создаст нужные ощущения, или вам следует использовать более плотную бумагу, например, картон? Далее, должна ли поверхность бумаги быть шероховатой или гладкой, блестящей или матовой? Должно ли письмо быть плоским, приподнятым или вдавленным? Должны ли быть какие-то украшения, например, блеск, который имеет и текстуру, и сверкание? Должны ли части вашего дизайна казаться бархатистыми? Есть много способов использовать фактическую текстуру в вашей дизайнерской работе.

Подразумеваемая / Визуальная / Виртуальная / Текстура

Другая форма текстовой информации имеет еще больше имен. Подразумеваемая текстура , также называемая визуальной или виртуальной текстурой, представляет собой иллюзию текстуры, созданную цветом, линиями, тенями и другими элементами в вашей дизайнерской композиции. Подумайте о фотографии старого корявого дерева. Вы можете сказать, что кора очень грубая на ощупь, но на фотографии совершенно плоская поверхность. То, как другие элементы дизайна включены в изображение, помогает передать информацию о том, что объект фотографии имеет определенную текстуру, даже если произведение искусства вообще не имеет такого качества.

Однако не все подразумеваемые или визуальные текстуры одинаковы, и два основных типа — текстура изображения и текстура узора — могут вызывать разные чувства.

Текстура изображения

Текстура изображения создается с использованием органических форм и цветов. Нет равномерного повторения текстурных аспектов, и это может казаться очень естественным, независимо от степени сложности. Хороший способ представить текстуру изображения — вспомнить предыдущий пример с корой дерева или представить пушистую собаку.Эти текстуры вызывают более эмоциональную реакцию, чем интеллектуальную или логическую.

Текстура дерева и прожилки листа являются текстурой изображения.

Текстура узора

С другой стороны, текстура узора стимулирует зрительные чувства и рассуждения посредством геометрических форм и повторяющихся упорядоченных элементов. Однородность текстуры узора, особенно на заднем плане, может создать баланс в композиции и чувство контроля.

Вы можете идентифицировать оба этих примера как узорчатую текстуру из-за геометрических форм и повторяемости.

Резюме урока

Текстура , то, как ощущается или кажется ощущается поверхность композиции, является важным элементом графического дизайна. Он может тонко вызывать эмоциональные реакции или стимулировать мысли. Текстура может быть представлена ​​в двух разных формах. Первая — это фактическая текстура , которая представляет собой реальное тактильное ощущение, которое вы получаете от прикосновения или удерживания чего-либо.Второй — это подразумеваемая текстура , которая создает иллюзию текстуры с использованием других элементов дизайна, таких как линия и цвет. Подразумеваемая текстура имеет два основных типа: текстура изображения и текстура узора. Текстура изображения выглядит органично или естественно, поскольку не содержит повторяющихся элементов или геометрических форм и может вызывать эмоциональные отклики. Текстура узора , однако, более структурирована, в ней используются повторяющиеся элементы и геометрические формы, а не органические формы, и она может вызывать вдумчивые или логические ответы.

Текстура как визуальный элемент в графическом дизайне

Графическая часть графического дизайна состоит из визуальных элементов, строительных блоков дизайна. Используя средства художественного выражения, мы выбираем эти визуальные элементы и размещаем их на поверхности в макете, чтобы передать идею.

Основные визуальные элементы, которые объединяются для создания графического дизайна, включают следующее: линия, цвет, форма, текстура, пространство, форма и типографика.

Какую бы работу вы ни создавали, будь то журнал, плакат, веб-сайт или реклама, эти визуальные элементы будут играть определенную роль в вашем дизайне.

Текстура

Текстура — это то, как поверхность ощущается или воспринимается на ощупь.

Текстура используется для создания визуального тона и может влиять на внешний вид графического дизайна. Он также используется для привлечения или отражения интереса к элементу в зависимости от приятности текстуры.

В дизайне существует два типа текстуры: текстура изображения и текстура узора.

Текстура изображения

Текстура изображения создается из сочетания органических или геометрических форм и цвета.Он может быть простым или сложным и обычно кажется случайным для создания определенного внешнего вида. Текстуры изображения, как правило, дразнят чувства, и поэтому глаза естественным образом привлекают текстуры изображения. Их можно сравнить с обонянием и осязанием, вы не можете увидеть в нем ничего конкретного, но в целом оно вызывает эмоции и ощущения прикосновения.

Текстуры изображений могут быть экологическими, биологическими или искусственными.

Текстуры окружающей среды: дерево, зерно, песок, вода до звезд в небе.

Биологические текстуры могут быть кожей, мехом, перьями и принтами животных.

Искусственными текстурами могут быть картины, иллюстрации, штампы, ткани, бумага, типографика, фотографические эффекты и т. Д.

Из-за абстрактной природы текстуры изображения, способной вызывать чувства, эмоции и возбуждать чувства, текстуры изображения могут использоваться для привлечения внимания и добавления отличительного визуального тона к графическому дизайну.

Узор Текстура

Текстура узора также создается из органических или геометрических форм и цвета, хотя текстура узора в основном изготавливается.Узоры могут быть простыми или сложными, но в отличие от текстуры изображения, которая обычно выглядит случайной, узоры выглядят более структурированными.

Повторение формирования формы и цвета приведет к текстуре узора, а повторение логотипа в формировании также приведет к текстуре узора.

Подобно текстуре изображения, текстура рисунка также дразнит чувства, но по-другому. Паттерны запускают наши визуальные ощущения, а не эмоциональные чувства, возможно, потому, что паттерн более структурирован и менее абстрактен.

Узор больше касается визуального распознавания благодаря повторяющимся формам, поэтому в дизайне используется текстура узора, которая хорошо работает в качестве украшения.

Хороший пример этого — брендинг. Узор создает очень индивидуальный внешний вид, и из-за его повторяющегося характера бренд может использовать этот элемент визуального дизайна как способ украсить и заставить вас запомнить свой бренд.

Другой пример — бумага для упаковки подарков. Вы когда-нибудь спрашивали себя, почему бумага для упаковки подарков — это в основном узоры, а не просто одно изображение? И почему люди тратят на это столько денег? Можно сделать вывод, что повторение ярких цветов и изображений возбуждает зрительные чувства.Часто подарок может некоторое время лежать в помещении, ожидая открытия, например, под рождественской елкой. Декоративный характер подарочной упаковки служит прелюдией к волнению при открытии подарка, поэтому подарочная упаковка может считаться не менее важной, чем сам подарок.

Источник: Гарет Дэвид

Анализ и синтез текстур

Текстурный анализ и синтез


Входной образец

синтезированный результат

Введение

Текстура — это повсеместный визуальный опыт.Он может описывать широкий спектр характеристик поверхности, таких как рельеф, растения, минералы, мех и кожа. Поскольку воспроизведение визуального реализма реального мира является основной целью компьютерной графики, текстуры обычно используются при рендеринге синтетических изображений. Эти текстуры могут быть получены из различных источников, таких как нарисованные от руки изображения или отсканированные фотографии. Рисованные от руки картинки могут быть эстетичными, но их сложно сделать фотореалистичными. Однако большинство отсканированных изображений имеют недостаточный размер и могут привести к видимым швам или повторам, если они напрямую используются для наложения текстуры.

Синтез текстур — альтернативный способ создания текстур. Поскольку синтетические текстуры могут быть любого размера, визуальное повторение отсутствует. Синтез текстуры также может создавать мозаичные изображения за счет правильной обработки граничных условий. Возможные применения синтеза текстур также широки; некоторые примеры — это уменьшение шума, заполнение окклюзии и сжатие.

Проблема синтеза текстуры может быть сформулирована следующим образом: по образцу текстуры синтезировать новую текстуру, которая при восприятии человеком-наблюдателем, кажется, генерируется тем же самым лежащим в основе стохастическим процессом.Пример показан на рисунке выше. Наша цель — разработать новый алгоритм синтеза текстур, который был бы эффективным, универсальным, удобным для пользователя и мог бы создавать текстуры высокого качества. Кроме того, мы хотели бы расширить горизонт синтеза текстур, изучив множество новых приложений, основанных на нашем алгоритме.

Люди

Ли-И Вэй
Марк Левой

Документы

    • «Синтез текстур из множества источников», Ли-И Вэй.В SIGGRAPH 2003 Applications and Sketches.
      [ резюме ]
    • «Не зависящий от порядка синтез текстур», Ли-И Вэй и Марк Левой. Отклонено из SIGGRAPH 2003.
      [ бумага ]
    • «Не зависящий от порядка синтез текстур», Ли-И Вэй и Марк Левой. Технический отчет TR-2002-01 факультета компьютерных наук Стэнфордского университета.
      [ бумага ]
    • «Синтез текстур путем поиска фиксированного окружения», Ли-И Вэй. Кандидат наук. Диссертация.
      [диссертация]
    • «Синтез текстуры на произвольных поверхностях многообразия» Ли-И Вэй и Марк Левой.В трудах SIGGRAPH 2001.
      [ бумага | говорить | изображений ]
    • «Быстрый синтез текстур с использованием векторного квантования с древовидной структурой», авторы Ли-И Вей и Марк Левой. В материалах SIGGRAPH 2000.
      [ бумага | говорить | крутые демки | исторические заметки ]
    • «Детерминированный анализ текстуры и синтез с использованием векторного квантования древовидной структуры», автор Ли-И Вэй. В трудах СИБГРАФИ 1999.
      [ бумага ]

Дополнительная информация

Примеры синтеза текстур!
Примечание: ваш браузер должен поддерживать JavaScript для просмотра большинства интересных демонстраций!
Список часто задаваемых вопросов.
Проверьте это, прежде чем отправлять нам свои вопросы, поскольку на них, возможно, уже был дан ответ.
Синтез случайного текста

Другие страницы исследования текстур

Анализ / синтез текстуры на основе пирамиды Дэвида Хигера
Страница синтеза текстур Джереми Де Бонета
Страница синтеза текстур Ээро Симончелли
Страница синтеза текстур Алеши Эфроса
Страница синтеза текстур Михаила Ашихмина
Домашняя страница «Смешивание текстур» и «Синтез текстурных фильмов» Дани Лищински
Мозаика Хаоса и синтез текстур на основе патчей от Microsoft Research
Синтез текстуры на поверхности Грега Тёрка

Некоторые онлайн-изображения текстур

Спиральная графика — бесплатные материалы с текстурой плитки

Наборы текстур Genetica
Дом > Продукты > Пакеты текстур > Обзор
Пакеты текстур Genetica отличаются высоким качеством коллекции бесшовных текстур без лицензионных отчислений.Текстуры предоставляется в процедурном формате, который можно полностью редактировать в мощная материальная студия Genetica, или рендеринг и преобразование в стандартные изображения с помощью бесплатного Genetica Viewer.

Подпишитесь, чтобы получить больше бесплатных текстур

Выпускаем бесплатные бесшовные текстуры 100 секунд за раз ! Подпишись на наши новости, и мы сообщим вам, когда выйдет следующий бесплатный пакет текстур выпущенный.

Загрузить

Чтобы скачать целые пакеты текстур на один раз щелкните здесь.

Обзор

Чтобы просмотреть отдельные текстуры, выберите одна из следующих категорий.

Новое в упаковке 7: Наборы рам!


Кирпич и блок

Здание, Церковь и Крепость


дом, коттедж

Кристалл, огранка

Кристалл грубый

Дверь средневековая

Напольные и настенные


Набор рам


Жидкость


Мрамор

Металл корродированный


Металл, прочный

Путь


Планета

Завод, кусты и деревья


Растение сухое и мертвое


Растение, Цветок


Растение почвопокровное


Снег и лед


Камень светлый


Камень приглушенный


Ландшафт, Цивилизация

Рельеф, пустыня и Бесплодный

Рельеф, Пышный

Рельеф, Скалистый

Рельеф, вулканический и Газообразный

Плитка


Окно средневековое


Проверяйте почаще.Еще больше категорий впереди!

Настроить

Найденные здесь текстуры можно редактировать с помощью впечатляющий набор инструментов. Учить больше здесь.


Текстура — документация Kivy 2.0.0

Изменено в версии 1.6.0: Добавлена ​​поддержка палитры текстуры в OES: «palette4_rgb8», «Palette4_rgba8», «palette4_r5_g6_b5», «palette4_rgba4», «palette4_rgb5_a1», «Palette8_rgb8», «palette8_rgba8», «palette8_r5_g6_b5», «palette8_rgba4» и «palette8_rgb5_a1».

Текстура — это класс, обрабатывающий текстуры OpenGL. В зависимости от аппаратное обеспечение, некоторые возможности OpenGL могут быть недоступны (поддержка BGRA, поддержка NPOT, и т. д.)

Вы не можете создать экземпляр этого класса самостоятельно. Вы должны использовать функцию Texture.create () для создания новой текстуры:

 текстура = Texture.create (size = (640, 480))
 

Когда вы создаете текстуру, вы должны знать цвет по умолчанию. и формат буфера:

  • формат цвет / пиксель ( Texture.colorfmt ), который может быть одним из «Rgb», «rgba», «luminance», «luminance_alpha», «bgr» или «bgra». Значение по умолчанию — «rgb»

  • .
  • формат буфера определяет, как компонент цвета сохраняется в памяти. Это может быть одно из «ubyte», «ushort», «uint», «byte», «short», «int» или ‘плавать’. Значение по умолчанию, наиболее часто используемое — «убайт».

Итак, если вы хотите создать текстуру RGBA:

 текстура = Texture.create (size = (640, 480), colorfmt = 'rgba')
 

Вы можете использовать вашу текстуру почти во всех инструкциях вершин с киви.Параметр graphics.VertexIntruction.texture . Если вы хотите использовать текстуру на языке кв, вы можете сохранить ее в ObjectProperty внутри вашего виджета.

Предупреждение

Использование текстуры до инициализации OpenGL приведет к сбою. Если вам нужно создать текстуры до запуска приложения, импортировать Сначала окно: из kivy.core.window Импорт окна

Копирование пользовательских данных

Вы можете создать свои собственные данные и преобразовать их в текстуру, используя Текстура.Вячеслав Шевченко () .

Например, чтобы преобразовать неизменяемые байтовые данные:

 # создать текстуру 64x64, по умолчанию rgba / ubyte
texture = Texture.create (size = (64, 64))

# создаем вкладку 64x64 rgb и заполняем значениями от 0 до 255
# у нас будет градиент от черного к белому
размер = 64 * 64 * 3
buf = [int (x * 255 / размер) для x в диапазоне (размер)]

# затем преобразуем массив в убайтную строку
buf = b ''. join (карта (chr, buf))

# затем скопируйте буфер
texture.blit_buffer (buf, colorfmt = 'rgb', bufferfmt = 'ubyte')

# это все ! теперь вы можете использовать его в своей графике :)
# если self - это виджет, вы можете сделать это
с собой.холст:
    Прямоугольник (текстура = текстура, pos = self.pos, size = (64, 64))
 

Начиная с версии 1.9.0, вы можете преобразовывать данные, хранящиеся в экземпляре, который реализует Python интерфейс буфера или его представление в памяти, например массивы numpy, python array.array , bytearray или массив cython. Это выгодно, если вы ожидайте повторения аналогичных данных, возможно, с небольшими изменениями в данных.

При использовании байтового представления данных для каждого изменения необходимо регенерировать экземпляр байтов, возможно, из списка, что очень неэффективно.При использовании буферного объекта вы можете просто редактировать части исходных данных. Точно так же, если не начинается с объекта байтов, преобразование в байты требует полная копия, однако при использовании экземпляра буфера никакая память не копируется, кроме чтобы загрузить его в графический процессор.

Продолжая пример выше:

 из массива импорта массива

размер = 64 * 64 * 3
buf = [int (x * 255 / размер) для x в диапазоне (размер)]
# инициализируем массив значениями буфера
arr = массив ('B', buf)
# теперь копируем массив
текстура.blit_buffer (arr, colorfmt = 'rgb', bufferfmt = 'убайт')

# теперь изменим некоторые элементы в исходном массиве
arr [24] = arr [50] = 99
# снова продублируем буфер
текстура.blit_buffer (arr, colorfmt = 'rgb', bufferfmt = 'ubyte')
 

Поддержка BGR / BGRA

При первой попытке создать текстуру BGR или BGRA мы проверяем, ваше оборудование поддерживает текстуры BGR / BGRA, проверив расширение «GL_EXT_bgra».

Если расширение не найдено, преобразование в RGB / RGBA будет выполнено в программное обеспечение.

NPOT текстуры

Изменено в версии 1.0.7: если ваше оборудование поддерживает NPOT, POT не создается.

Как сказано в документации OpenGL, размер текстуры должен быть двойным. Что средства ваша ширина и высота могут быть 64, 32, 256… но не 3, 68, 42. NPOT означает не-степень двойки. OpenGL ES 2 изначально поддерживает текстуры NPOT, но с некоторыми недостатки. Другой тип текстуры NPOT называется текстурой прямоугольника. У POT, NPOT и текстур есть свои плюсы и минусы.

Характеристики

ПОТ

НПТ

Прямоугольник

Цель OpenGL

GL_TEXTURE_2D

GL_TEXTURE_2D

GL_TEXTURE_RECTANGLE_ (NV | ARB | EXT)

Координаты текстуры

Диапазон 0-1

Диапазон 0-1

диапазон ширины-высоты

Mipmapping

Поддерживается

Частично

Режим наложения

Поддерживается

Поддерживается

Если вы создаете текстуру NPOT, мы сначала проверяем, действительно ли ваше оборудование поддерживает его, проверяя расширения GL_ARB_texture_non_power_of_two или OES_texture_npot.Если ни один из них недоступен, мы создаем ближайший Текстура POT, которая может содержать вашу текстуру NPOT. Texture.create () будет вместо этого верните TextureRegion .

Текстурный атлас

Атлас текстур — это одна текстура, содержащая множество изображений. Если вы хотите разделить исходную текстуру на несколько отдельных, не нужно. Вы можете получить регион оригинальной текстуры. Это вернет оригинальная текстура с произвольными координатами текстуры:

 # например, загрузить изображение 128x128, содержащее 4 изображения 64x64
от кивы.core.image импорт изображения
texture = Image ('mycombinedimage.png'). текстура

bottomleft = texture.get_region (0, 0, 64, 64)
bottomright = texture.get_region (0, 64, 64, 64)
topleft = texture.get_region (0, 64, 64, 64)
topright = texture.get_region (64, 64, 64, 64)
 

Mipmapping

Mipmapping — это метод OpenGL для улучшения рендеринга больших текстур. на небольшие поверхности. Без mipmapping вы можете увидеть пикселизацию, когда вы наносить на небольшие поверхности. Идея состоит в том, чтобы предварительно рассчитать подтекст и применить некоторый фильтр изображения как линейный фильтр.Затем, когда вы визуализируете небольшую поверхность, вместо использования самая большая текстура, будет использоваться текстура с более низким фильтром. Результат может выглядеть лучше так.

Для этого вам нужно указать mipmap = True при создании текстура. Некоторые виджеты уже позволяют создавать MIP-карты. текстуры, такие как Label и Изображение .

Из OpenGL Wiki: «Таким образом, 2D-текстура 64×16 может иметь 5 MIP-карт: 32×8, 16×4, 8×2, 4×1, 2×1 и 1×1 ”. Проверьте http: // www.opengl.org/wiki/Texture для получения дополнительной информации Информация.

Примечание

Как сказано в таблице в предыдущем разделе, если ваша текстура — NPOT, мы создать ближайшую POT-текстуру и сгенерировать из нее MIP-карту. Этот может измениться в будущем.

Перезагрузка текстуры

Если контекст OpenGL потерян, текстуру необходимо перезагрузить. Текстуры, у которых есть источник автоматически перезагружается, но сгенерированные текстуры должны будет перезагружен пользователем.

Используйте текстуру .add_reload_observer () , чтобы добавить функцию перезагрузки, которая будет автоматически вызван при необходимости:

 def __init __ (self, ** kwargs):
    супер (...) .__ init __ (** kwargs)
    self.texture = Texture.create (size = (512, 512), colorfmt = 'RGB',
        bufferfmt = 'убайт')
    self.texture.add_reload_observer (self.populate_texture)

    # и загрузите данные сейчас.
    self.cbuffer = '\ x00 \ xf0 \ xff' * 512 * 512
    self.populate_texture (self.texture)

def populate_texture (я, текстура):
    текстура.blit_buffer (self.cbuffer)
 

Таким образом, вы можете использовать один и тот же метод для инициализации и перезагрузки.

Примечание

Для визуализации всего текста с помощью нашего основного средства визуализации текста создается текстура. но мы уже привязываем метод, чтобы повторить рендеринг текста и перезагрузить текст к текстуре. Вам не нужно ничего делать.

класс кивы.графика.текстура. Текстура ( ширина , высота , цель , texid = 0 , colorfmt = ‘rgb’ , bufferfmt = ‘ubyte’ , mipmap = False = None source , callback = None , icolorfmt = ‘rgb’ )

Базы: встроенных.объект

текстуры или сложные текстуры на основе ImageData.

add_reload_observer ( обратный вызов )

Добавить обратный вызов, который будет вызываться после того, как весь графический контекст был перезагружен. Здесь вы можете повторно загрузить свои пользовательские данные в GPU.

Параметры
обратный вызов : func (context) -> return None

Первым параметром будет сам контекст.

ask_update ( обратный звонок )

Указывает, что содержимое текстуры должно быть обновлено, а функцию обратного вызова необходимо вызвать, когда текстура будет использовал.

привязка ()

Привязать текстуру к текущему состоянию opengl.

blit_buffer ( pbuffer , size = None , colorfmt = None , pos = None , bufferfmt = None , mipmap_level = 0 ngth, mipmap_level = 0 ngth, mipmap_level = 0 ngth, mipmap_level = 0 ngth, mipmap_leration = 0 ngth, mipmap_leration = 0 ngth, mipmap_rawleration = 0 7494 )

Преобразование буфера в текстуру.

Примечание

Если холст не будет обновлен в связи с другими изменениями, ask_update () должно быть вызывается для обновления текстуры.

Параметры
pbuffer : байты или класс, реализующий интерфейс буфера (включая memoryview).

Буфер, содержащий данные изображения. Это могут быть байты объект или экземпляр класса, реализующего Python буферный интерфейс, например массив.массив , байтов, массив , массивы numpy и т. д. Если это не байтовый объект, базовый буфер должен быть смежными, иметь только одно измерение и не должны быть только для чтения, даже если данные не изменяются из-за cython ограничение. См. Описание модуля для подробностей использования.

размер : кортеж, по умолчанию размер текстуры

Размер изображения (ширина, высота)

colorfmt : str, по умолчанию «rgb»

Формат изображения, может быть одним из «rgb», «rgba», «bgr», «bgra», «Яркость» или «яркость_альфа».

pos : кортеж, по умолчанию (0, 0)

Позиция для копирования в текстуре.

bufferfmt : str, по умолчанию «ubyte»

Тип буфера данных, может быть одним из «ubyte», «ushort», Uint, byte, short, int или float.

mipmap_level : int, по умолчанию 0

Укажите, какой уровень mipmap мы собираемся обновить.

mipmap_generation : bool, по умолчанию True

Укажите, нужно ли нам регенерировать mipmap с уровня 0.

Изменено в версии 1.0.7: добавлены mipmap_level и mipmap_generation

Изменено в версии 1.9.0: pbuffer теперь может быть любым экземпляром класса, который реализует python буферный интерфейс и / или его виды памяти.

blit_data ( im , pos = None )

Заменить всю текстуру данными изображения.

буфер fmt

Вернуть формат буфера, используемый в этой текстуре (только для чтения).

цвет fmt

Вернуть цветовой формат, используемый в этой текстуре (только для чтения).

static create ( size = None , colorfmt = None , bufferfmt = None , mipmap = False , callback = None , icolorfmt = None )

texture_create (size = None, colorfmt = None, bufferfmt = None, mipmap = False, callback = None, icolorfmt = None) Создайте текстуру по размеру.

Параметры
размер : кортеж, по умолчанию (128, 128)

Размер текстуры.

colorfmt : str, по умолчанию «rgba»

Цветовой формат текстуры. Может быть «rgba» или «rgb», «Яркость» или «яркость_альфа». На рабочем столе дополнительные значения: Доступно: «красный», «рг».

icolorfmt : str, по умолчанию используется значение colorfmt

Внутренний формат хранения текстуры.Может быть «rgba» или «rgb», «Яркость» или «яркость_альфа». На рабочем столе дополнительные значения: доступно: «r8», «rg8», «rgba8».

bufferfmt : str, по умолчанию «ubyte»

Внутренний буферный формат текстуры. Может быть убайт, ушорт, Uint, bute, short, int или float.

mipmap : bool, по умолчанию False

Если True, он автоматически сгенерирует текстуру mipmap.

обратный вызов : callable (), по умолчанию False

Если функция предоставлена, она будет вызываться при передаче данных. нужно в текстуре.

Изменено в версии 1.7.0: добавлен обратный вызов

статический create_from_data ( im , mipmap = False )

texture_create_from_data (im, mipmap = False) Создайте текстуру из класса ImageData.

flip_horizontal ()

Flip tex_coords для горизонтального отображения.

flip_vertical ()

Flip tex_coords для вертикального отображения.

get_region ( x , y , ширина , высота )

Вернуть часть текстуры, заданную прямоугольными аргументами (x, y, ширина, высота). Возвращает экземпляр TextureRegion .

высота

Возвращает высоту текстуры (только для чтения).

id

Вернуть OpenGL ID текстуры (только для чтения).

mag_filter

Получить / установить текстуру магнитного фильтра. Доступные значения:

Дополнительную информацию о поведении см. В документации opengl. из этих значений: http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameter.xml.

мин_фильтр

Получить / установить минимальную текстуру фильтра. Доступные значения:

  • линейный

  • ближайший

  • linear_mipmap_linear

  • linear_mipmap_nearest

  • near_mipmap_nearest

  • near_mipmap_linear

Дополнительные сведения о поведении см. В документации opengl. из этих значений: http: // www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameter.xml.

MIP-карта

Вернуть True, если для текстуры включено MIP-отображение (только для чтения).

пикселей

Получить текстуру пикселей, только в формате RGBA, беззнаковый байт. В происхождение изображения находится внизу слева.

remove_reload_observer ( обратный вызов )

Удалить обратный вызов из списка наблюдателей, ранее добавленный add_reload_observer () .

сохранить ( filename , flipped = True , fmt = None )

Сохраните содержимое текстуры в файл. Проверять kivy.core.image.Image.save () для получения дополнительной информации.

Параметр переворота переворачивает сохраненное изображение по вертикали и по умолчанию True.

Изменено в версии 1.8.0: Параметр перевернут, добавлен , по умолчанию True. Вся текстура OpenGL читаются снизу / слева, перед сохранением их необходимо перевернуть.Если вы не хотите переворачивать изображение, установите для параметра flipped значение False.

Изменено в версии 1.11.0: добавлен параметр fmt для передачи окончательного формата поставщику изображений. Используется, если имя файла — BytesIO

размер

Вернуть (ширину, высоту) текстуры (только для чтения).

мишень

Вернуть целевой объект текстуры OpenGL (только для чтения).

tex_coords

Вернуть список tex_coords (opengl).

увпос

Получить / установить положение UV внутри текстуры.

uvsize

Получить / установить размер UV внутри текстуры.

Предупреждение

Размер может быть отрицательным, если текстура перевернута.

ширина

Вернуть ширину текстуры (только для чтения).

обертка

Получить / установить текстуру обтекания.Доступные значения:

  • повтор

  • mirrored_repeat

  • зажим к краю

Дополнительные сведения о поведении см. В документации opengl. из этих значений: http://www.khronos.org/opengles/sdk/docs/man/xhtml/glTexParameter.xml.

класс кивы.графика.текстура. TextureRegion ( int x , int y , int width , int height , Источник текстуры )

Базы: кивы.graphics.texture.Texture

обработка текстур.

ask_update ( обратный звонок )
привязка ()
пикселей

opengl — в чем разница между материалом и текстурой?

Вопрос предполагает общее непонимание различных концепций компьютерной графики. Он рожден до-шейдерным мышлением и кодированием.

Текстура — это не что иное, как контейнер для серии из одного или нескольких изображений, где изображение представляет собой массив значений некоторой размерности (1D, 2D и т. Д.), Где каждое значение может быть вектором от 1 до 4 чисел. . Текстуры также имеют некоторые специальные методы для доступа к значениям из них, которые позволяют интерполировать и минимизировать артефакты сглаживания от выборки.

Текстура может содержать цвета, но текстуры не содержат цветов. Текстуры можно использовать для изменения параметров на поверхности объекта, но это не все текстуры.

Текстуры не имеют прямой связи с «материалами»; вы можете использовать их для самых разных целей (или вообще ни для чего).

Материал — это концепция освещения. Учитывая конкретный свет и точку на поверхности, интенсивность (то есть цвет) света, отраженного от этой поверхности в этой точке, определяется уравнением освещения. Это уравнение является функцией многих параметров. Но эти параметры сгруппированы в две категории.

Одной из категорий параметров уравнения света являются параметры света.Они описывают характеристики источника света. Точечные огни против направленных источников против прожекторов. Интенсивность света (опять же: цвет) — еще один параметр. Поскольку сама интенсивность может варьироваться в зависимости от направления точки поверхности относительно света (например, фонари или прожекторы), к интенсивности можно получить доступ из текстуры . Вот сколько игр проецирует фонари на темную комнату.

Другая категория параметров уравнения света описывает характеристики поверхности в этой точке.Они называются параметрами материала . Параметры материала, или для краткости материала, описывают важные свойства поверхности в рассматриваемой точке. Нормальность в этот момент очень важна. Есть также диффузное отражение (цвет), зеркальное отражение, зеркальное сияние (экспонента для Фонга / Блинн-Фонга) и различные другие параметры, в зависимости от того, насколько исчерпывающим является ваше уравнение освещения.

Откуда берутся эти значения? Параметры света в мире обычно фиксируются.Источники света не перемещаются для каждого объекта (хотя, если вы делаете освещение в пространстве объектов, тогда каждый объект будет иметь свое собственное положение источника света). Интенсивность света может быть разной. Но это в основном все; все остальное происходит между кадрами, а не в рамках рендеринга одного кадра. Таким образом, большинство параметров света — это форма шейдера.

Параметры материала могут поступать из различных источников. Использование формы шейдера эффективно означает, что все точки на поверхности имеют одно и то же значение. Таким образом, вы можете получить диффузный цвет из униформы, которая придаст поверхности однородный цвет (конечно, измененный освещением).Вы можете изменять параметры материала для каждой вершины, передавая их как атрибуты вершин или вычисляя их из других атрибутов.

Или вы можете предоставить параметр, сопоставив текстуру с поверхностью. Это сопоставление включает в себя привязку координат текстуры к позициям вершин, так что текстура напрямую прикрепляется к поверхности. Образец текстуры берется в этом месте во время рендеринга, и это значение используется для освещения.

Наиболее распространенные текстуры, с которыми вы знакомы, «цветовые текстуры», просто изменяют коэффициент диффузного отражения поверхности.Текстура обеспечивает диффузный цвет в каждой точке поверхности.

Это не , а только функция текстур. Вы можете так же легко изменять зеркальное сияние по поверхности. Или интенсивность света. Или что-нибудь еще.

Текстур инструментов .

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *