Подтвердить что ты не робот

Какая разница между материалом и текстурой?

В компьютерной графике, какая разница между материалом и текстурой?

4b9b3361

Ответ 1

В OpenGL материал представляет собой набор коэффициентов, которые определяют, как модель освещения взаимодействует с поверхностью. В частности, определяются окружающие, диффузные и зеркальные коэффициенты для каждой цветовой составляющей (R, G, B) и применяются к поверхности и эффективно умножаются на количество света каждого вида/цвета, попадающего на поверхность. Затем к каждому цветовому компоненту добавляется конечный коэффициент emmisivity, который позволяет объектам светить без фактического взаимодействия с другими объектами.

A текстура, с другой стороны, представляет собой набор 1-, 2-, 3- или 4-мерных изображений растровых изображений (изображений), которые применяются и интерполируются на поверхность согласно к текстурным координатам в вершинах. Данные текстуры изменяют цвет поверхности, независимо от того, включено ли освещение (и в зависимости от режима текстуры, например, декалирования, модуляции и т.д.). Текстуры часто используются для обеспечения детализации уровня подполигона до поверхности, например. применяя повторяющуюся текстуру кирпича и раствора к квадрату, чтобы имитировать кирпичную стену, а не моделировать геометрию каждого отдельного кирпича.

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

Ответ 2

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

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

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

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

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

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

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

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

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

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

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

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

Текстуры - это инструменты. Материалы - это всего лишь группа параметров уравнения света.

Ответ 3

То, что я думаю с этими терминами:

Текстура - это изображение, которое отображается на трехмерный объект.

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

Ответ 4

Хотя эти термины можно использовать взаимозаменяемо, он обычно относится к растровому изображению как текстуре.

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

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