Текстуры из нескольких элементов (Direct3D 9) — Win32 apps
Twitter LinkedIn Facebook Адрес электронной почты- Статья
Традиционные текстуры считаются одноэлементными.
Первое поколение оборудования, предоставляющего эту функцию, имеет следующие ограничения.
- Все поверхности текстур с несколькими элементами будут выделены автоматически. Это ограничение можно устранить, рассматривая его как новый тип формата поверхности с чередованием нескольких каналов RGBA.
- Все элементы текстуры нескольких элементов могут иметь одинаковую битовую глубину. Это ограничение выражается в названии новых форматов surface.
- Текстура из нескольких элементов не может быть основной или отображаемой. Другими словами, он должен быть только за кадром. Это ограничение выражается перечислением формата поверхности.
- Не допускается смешивание, альфа-тест, затуманивание, наложение, растровая операция или маскирование. Обработка шейдера после пикселя не выполняется, за исключением Z-теста и теста набора элементов.
- Текстура не может быть MIP-картой. Создание цепочки MIP завершится ошибкой.
- Один и тот же элемент нельзя задать в качестве текстуры в то же время, когда он является целевым объектом отрисовки. Однако различные элементы одной и той же поверхности текстуры из нескольких элементов могут одновременно быть текстурами и целевыми объектами отрисовки.
- Сглаживание не поддерживается.
- Поверхности текстур с несколькими элементами при использовании в качестве текстуры не могут быть отфильтрованы. Это ограничение можно проверить с помощью CheckDeviceFormat
- Многоэлейные поверхности текстур не могут быть заблокированы.
- Одновременно можно использовать несколько поверхностей текстур из нескольких элементов, назначив каждую из них различным этапам, как и в случае с обычными текстурами.
- Поверхности текстур из нескольких элементов поддерживают преобразование гамма с преобразования 2.2 на 1.0 в операции чтения, как и в случае с другими форматами текстур.
- Некоторые реализации не применяют маску записи вывода (D3DRS_COLORWRITEENABLE). Те, которые могут иметь независимые цветовые маски записи. Это выражается с помощью нового бита возможности. Количество доступных независимых масок записи цвета будет равно максимальному количеству элементов, которые поддерживает устройство.
- Очистка очищает все элементы текстуры с несколькими элементами, которая задается в качестве целевого объекта отрисовки.
Использование текстур из нескольких элементов выполняется следующим образом:
- Приложения обнаруживают поддержку этой функции, проверяя доступность форматов текстур с несколькими элементами.
- Приложение создает эти поверхности, вызывая CreateTexture.
- Приложение задает поверхность в качестве целевого объекта отрисовки с помощью вызова SetRenderTarget .
- Метод SetTexture вызывается для установки поверхности текстуры из нескольких элементов на определенный этап. Как и в случае с другими текстурами, для одной и той же поверхности можно задать несколько этапов одновременно.
- Метод 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 — на грани фола. Размеров почти хватает, чтобы передать форму тени, правый край практически хорош, кроме нижней обгрызанной части.
Усложним. Внесем еще одну градацию в темном и светлом переходе.
Шарик 31 — размеров шарика не хватило, чтобы добавить новую текстуру. Некуда, fail.
Шарик 32 — дополнительная текстура разорвала контуры тени, сделав их зазубренными. Опять же не пойдет.
Шарик 33 — на грани фола. Правый край выглядит приемлимым, но неаккуратным.
Какие выводы можно сделать?
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.