Разное

Текстура графика: Фактуры и текстуры в графике

02.08.2023

Текстуры из нескольких элементов (Direct3D 9) — Win32 apps

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья

Традиционные текстуры считаются одноэлементными.

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

Первое поколение оборудования, предоставляющего эту функцию, имеет следующие ограничения.

  • Все поверхности текстур с несколькими элементами будут выделены автоматически. Это ограничение можно устранить, рассматривая его как новый тип формата поверхности с чередованием нескольких каналов RGBA.
  • Все элементы текстуры нескольких элементов могут иметь одинаковую битовую глубину. Это ограничение выражается в названии новых форматов surface.
  • Текстура из нескольких элементов не может быть основной или отображаемой. Другими словами, он должен быть только за кадром. Это ограничение выражается перечислением формата поверхности.
  • Не допускается смешивание, альфа-тест, затуманивание, наложение, растровая операция или маскирование. Обработка шейдера после пикселя не выполняется, за исключением Z-теста и теста набора элементов.
  • Текстура не может быть MIP-картой. Создание цепочки MIP завершится ошибкой.
  • Один и тот же элемент нельзя задать в качестве текстуры в то же время, когда он является целевым объектом отрисовки. Однако различные элементы одной и той же поверхности текстуры из нескольких элементов могут одновременно быть текстурами и целевыми объектами отрисовки.
  • Сглаживание не поддерживается.
  • Поверхности текстур с несколькими элементами при использовании в качестве текстуры не могут быть отфильтрованы. Это ограничение можно проверить с помощью CheckDeviceFormat
    .
  • Многоэлейные поверхности текстур не могут быть заблокированы.
  • Одновременно можно использовать несколько поверхностей текстур из нескольких элементов, назначив каждую из них различным этапам, как и в случае с обычными текстурами.
  • Поверхности текстур из нескольких элементов поддерживают преобразование гамма с преобразования 2.2 на 1.0 в операции чтения, как и в случае с другими форматами текстур.
  • Некоторые реализации не применяют маску записи вывода (D3DRS_COLORWRITEENABLE). Те, которые могут иметь независимые цветовые маски записи. Это выражается с помощью нового бита возможности. Количество доступных независимых масок записи цвета будет равно максимальному количеству элементов, которые поддерживает устройство.
  • Очистка очищает все элементы текстуры с несколькими элементами, которая задается в качестве целевого объекта отрисовки.

Использование текстур из нескольких элементов выполняется следующим образом:

  1. Приложения обнаруживают поддержку этой функции, проверяя доступность форматов текстур с несколькими элементами.
  2. Приложение создает эти поверхности, вызывая CreateTexture.
  3. Приложение задает поверхность в качестве целевого объекта отрисовки с помощью вызова SetRenderTarget .
    Пиксельный шейдер предоставляет выходные данные на поверхности с помощью инструкции mov — ps .
  4. Метод SetTexture вызывается для установки поверхности текстуры из нескольких элементов на определенный этап. Как и в случае с другими текстурами, для одной и той же поверхности можно задать несколько этапов одновременно.
  5. Метод SetSamplerState вызывается для задания D3DSAMP_ELEMENTINDEX соответствующего номера элемента в текстуре с несколькими элементами, из которой выполняется выборка. Значение по умолчанию для этого состояния равно 0, что означает, что текстуры не из нескольких элементов будут работать. Установка этого состояния в недопустимое число приводит к неопределенному поведению, если текстура с несколькими элементами имеет ширину только двух элементов, но средство выборки запрашивается, например, выборку из четвертого элемента.

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

  • Формат поверхности D3DFMT_MULTI2_ARGB8 выражает чередование формата.

  • Состояние D3DSAMP_ELEMENTINDEX выборки указывает, какой индекс элемента следует использовать.

  • Следующие состояния отрисовки поддерживают текстуры с несколькими элементами:

    • D3DRS_COLORWRITEENABLE1
    • D3DRS_COLORWRITEENABLE2
    • D3DRS_COLORWRITEENABLE3

    D3DRS_COLORWRITEENABLE применяется к нулевому целевому объекту (или элементу).

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

Конвейер пикселей

 

 

Советы по работе с текстурами / Графика / HYPE

Во время работы над игровой графикой накопились небольшие мысли, которыми хотелось бы поделиться, как советами для новичков.
Опытные художники точно знают все эти нюансы — или уже успели себе четко сформулировать, или чувствуют интуитивно из-за набранного опыта.
В прошлом туториале я очень кратко показал, как можно использовать кисти для рисования крупных объектов. К счастью, ZX-Spectrum обладает очень низким разрешением, что делает невозможной работу кистями на мелких деталях без увлекательного соревнования в мелких деталях, поэтому я бы хотел дать пару советов по поводу совмещения мелких объектов и текстур. Заодно здесь же дам пару идей, почему и как конвертер неизбежно выдаёт уродливый результат.

Применимость текстур к объектам разного размера
Итак, в туториале по реалтайм работам я остановился на том, что набросок, сделанный кистями, необходимо допиливать вручную. Почему? Тезисы:
1. Чем мельче объект, тем меньше разнообразных текстур на него влезет.
2. Чем мельче объект, тем мельче должна быть решетка тектуры.

Давайте приведем пример. Возьмем четыре нетекстурированных шара разного диаметра.

Для начала попробуем взять самую мелкую текстуру — 1/2, где каждый второй пиксель проставлен. Попробуем поставить примерную тень:

Всё выглядит отлично. Даже минимальный шар 11 диаметром в 8 пикселей выглядит весьма сносно. Причиной этому — мелкая «ячеистость» текстуры. Текстура 1/2 повторяется каждые 2 пикселя, поэтому, если мы текстурируем шарик 8 пикселей в диаметре, детальности текстуры хватает, чтобы не слишком портить контуры.
Теперь добавим еще разновидность градации — текстуру 1/4, как с темной, так и со светлой стороны.

Что произошло?
Шарик 21 — справа потерял свою форму, вытянулся, так как черная текстур 1/4 попала на край. Слева светлой текстурой 1/4 не удалось сделать правильную форму тени, из-за чего он стал визуально более плоским, как пуговица.
Шарик 22 — на грани фола. Размеров почти хватает, чтобы передать форму тени, правый край практически хорош, кроме нижней обгрызанной части.

Шарик 23, 24 — размеров шарика прекрасно хватило — толщина перехода больше, чем толщина (разрешение) узора текстуры.

Усложним. Внесем еще одну градацию в темном и светлом переходе.

Шарик 31 — размеров шарика не хватило, чтобы добавить новую текстуру. Некуда, fail.
Шарик 32 — дополнительная текстура разорвала контуры тени, сделав их зазубренными. Опять же не пойдет.
Шарик 33 — на грани фола. Правый край выглядит приемлимым, но неаккуратным.

Шарик 34 — в целом хорош.

Какие выводы можно сделать?
1. Для тонких деталей берите тонкую текстуру. Нарушения этого правила ведут к мусору и шуму.
2. Чем тоньше тень, тем меньше переходов в неё влезет.

Обратные выводы:
1. Чем крупнее объекты на картинке, тем плавнее переходы можно впихнуть без попиксельных страданий. Пользуйтесь этим на пати, если хотите взять место.
2. Чем крупнее объекты, тем разнообразнее текстуры. То есть, картинку с мелкими объектами сложнее сделать зрелищной, чем с крупными.

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

Шарик 41 — одна текстура, отлично.
Шарик 42,43 — две текстуры — хороший компромисс между плавностью и аккуратностью
Шарик 44 — три текстуры — приятный переход, ничего не потеряли.

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

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

Разница в точке начала отсчета текстуры. У первой текстуры пиксели идут белый/черный, а у второй — черный/белый. Мелочь, правда? Но попробуем наложить её на вот этот вот шарик, сделав ему небольшое затенение справа снизу.

Итак, вот результаты, обязательно возьмите, и попробуйте повторить сами, чтобы ощутить всё бессилие перед наложением неподходящей текстуры:

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

Сложно определить, какой вариант вышел лучше. Чего мы хотели добиться? Мягкости или остроты контуров? Левая текстура дала в сочетании с этим конкретным контуром остроту, правая — мягкость.

Отсюда еще один нюанс про конвертер. Если художник действует, исходя из каждой конкретной детали и выбирает позиционирование текстуры, более подходящее каждому объекту, то математическая точность алгоритма ordered dithering не имеет вариаций и портит четкие детали. Более того, в некоторых случаях художник может скомбинировать обе текстуры в одном и том же объекте, если они не пересекаются. Конвертер в подобной ситуации запорет или одну, или вторую сторону, как было с шариком номер 3 из примера.

Загрузить 9102 Текстурная графика — Envato Elements

Загрузить 9102 Текстурная графика — Envato Elements
  • Все элементы
  • Графика
Фильтры

Фильтры

Уточнить на 9000 9

  • Категории

    Фоны

    6,035

    Текстуры

    5 645

    Социальные сети

    668

    Шаблоны

    3 154

    Иконки

    523

    Объекты

    900 12 1 708

    Иллюстрации

    381

  • Поддерживаемые приложения

    Adobe Photoshop

    7 238

    Adobe Illustrator

    6, 243

    Figma

    2 621

    Sketch

    3 294

    Affinity Designer

    3 597

  • 900 12 Файл Типы

    JPG

    6 305

    PNG

    3 551

  • Свойства

    Вектор

    2 612

    Многослойный

    3,363

    Мозаичный

    2,169

Связанные:

  • текстуры
  • гранж
  • наложение
  • градиент
  • полутон
Сортировать по релевантнымПопулярнымНовым

  • Городские текстуры Том. 2

    By Digital_infusion

    Добавить в коллекцию

    Скачать

  • 20 Текстуры сложенной бумаги

    By Layerform

    Добавить в коллекцию

    Скачать

  • Мраморные текстуры

    By ghostlypixels

    Добавить в коллекцию

    Скачать

  • Текстуры Super Hi Res — A0 900 09

    By CollectiveOffset

    Добавить в коллекцию

    Скачать

  • Акварельная Текстура

    Автор sagesmask

    Добавить в коллекцию

    Скачать

  • Текстура Paer

    Автор creativeartx

    Добавить в коллекцию

    Скачать

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

    By FreezeronMedia

    Добавить в коллекцию

    Скачать

  • Текстуры состаренные 9000 9

    By CharlesPerrault

    Добавить в коллекцию

    Скачать

  • Деревенская текстура дерева

    By dandelionery

    Добавить в коллекцию

    Скачать

  • Кирпичная текстура

    By MographMotions

    Добавить в коллекцию

    Скачать

  • Жидкие текстуры

    By DusskDesign

    Добавить в коллекцию

    Скачать

  • Каменные текстуры

    900 12 Автор: creativetacos

    Добавить в коллекцию

    Скачать

  • Акварельная текстура

    Автор yello_illustration

    Добавить в коллекцию

    Скачать

  • Текстуры ткани x10

    Автор SmartDesigns_eu

    Добавить в коллекцию 9

    Добавить в коллекцию By MalyskaStudio

    Добавить в коллекцию

    Скачать

  • Текстуры зернистости

    Автор: creativetacos

    Добавить в коллекцию

    Скачать

  • Розовая текстура

    Автор MalyskaStudio

    Добавить в коллекцию

    Скачать

  • Теплые текстуры акварели

    By casscappello

    Добавить в коллекцию

    Скачать

  • Текстуры пробковой доски 9000 9

    Автор: creativetacos

    Добавить в коллекцию

    Скачать

  • Металлические текстуры

    Автор StrokeVorkz

    Добавить в коллекцию

    Скачать

  • Grungy Textures

    By ghostlypixels

    Добавить в коллекцию 9

    Добавить в коллекцию

    Автор ghostlypixels

    Добавить в коллекцию

    Скачать

  • Голографические текстуры

    Добавить в коллекцию

    Скачать

  • Жидкие текстуры

    Автор: creativetacos

    Добавить в коллекцию

    Скачать

  • Нейтральная текстура

    By MalyskaStudio

    Добавить в коллекцию

    Скачать

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

    Автор creativetacos

    Добавить в коллекцию

    Скачать

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

    Автор creativetacos

    Добавить в коллекцию

    Скачать

  • Текстуры мха

    Автор: creativetacos

    Добавить в коллекцию 9

    Добавить в коллекцию 0012 Автор: creativetacos

    Добавить в коллекцию

    Скачать

  • Текстуры ржавчины

    Автор vasaki

    Добавить в коллекцию

    Скачать

  • Текстуры с трещинами

    By MographMotions

    Добавить в коллекцию 9

    Добавить в коллекцию

    By Sinlatown

    Добавить в коллекцию

    Скачать

  • Пастельная текстура

    By MalyskaStudio

    Добавить в коллекцию

    Скачать

  • Текстуры черной кожи

    By Integnity

    Добавить в коллекцию

    Скачать

  • Текстуры акварелью

    Автор: creativetacos

    Добавить в коллекцию

    Скачать

  • Текстуры бумаги для коллажей 1 900 09

    By M-e-f

    Добавить в коллекцию

    Скачать

  • Летняя текстура

    By MalyskaStudio

    Добавить в коллекцию

    Скачать

  • Грязевые текстуры

    Автор: creativetacos

    Добавить в коллекцию 9

    Добавить в коллекцию 012 Автор ghostlypixels

    Добавить в коллекцию

    Скачать

  • Разноцветные текстуры скал

    Автор Vackground

    Добавить в коллекцию

    Скачать

  • Натуральные текстуры

    Автор: creativetacos

    Добавить в коллекцию

    Скачать

  • Текстуры чернил

    Автор: creativetacos

    Добавить в коллекцию

    Скачать

  • 10 Текстуры бумаги

    By MographMotions

    Добавить в коллекцию

    Скачать

Связанные:

  • текстуры
  • гранж
  • наложение
  • градиент
  • полутон

Стандартные текстуры: добавьте глубины вашим проектам

Страница

БестселлерыНовинкиСамая низкая ценаСамая высокая ценаA-ZZ-A

Retro Print Texture Effect Graphics

Vintage Stamp Texture Effect Graphics

Dirty Scanner Graphics

Refrakt Graphics

Risoprint Creator for Photoshop Graphics

Marker Graphics

Текстуры бумаги Графика

Графика Каракули

Графика спрей

Графика текстуры грязной бумаги

СКИДКИ!

Refracto 33 Patterned Glass Effects Graphics

Risoprint Graphics

Xerox 914 Graphics

34 Различные текстуры бумаги Графика

Chroma Cutouts Blurred Masks Graphics

Distort Machine Photoshop Effect Графика

СКИДКА!

Граффити Графика

104 Бумага Сканы Текстуры Графика

Разбитое стекло Графика с фотоэффектом

СКИДКА!

Liquid Glass Texture Pack Graphics

Paper Mix Graphics

The Fridge — Text and Logo Effects Graphics

Torn Paper Edge Textures Graphics

10 Knurling Background Textures Graphics

100 Bitmap Vector Textures Graphics 9000 9 26 текстур фона белой бумаги Graphics

Arcade Image Generator Graphics

Broken Graphics

Brush Texture Graphics

Craft Paper Textures Graphics

CRT Machine Graphics

Cyber-Futuristic Neon Display Graphics

Cyber ​​Machine Graphics

Folded Paper Textures Volume 01 Graphics

Grunge Textures Graphics

Letter Press Print Kit Graphics

Old Master OverPrint Photoshop Effects Графика

СКИДКА!

Стекло с преломлением и искажением Графика с фотоэффектами

СКИДКИ!

Тенет Графика

10 Dynamic Dashes Backgrounds Graphics

10 Old Concrete Background Textures Graphics

10 Old Painted Planks Background Textures Graphics

10 Parquet Wood Background Textures Graphics

10 Swirl Lines Background Textures Graphics

Коллекция 100 текстур: 02 Графика

20 Пыль и шум векторные текстуры Графика

20 Деревянные доски Наложения текстур Графика

25 Пыль и шум векторные текстуры Vol.

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

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