Render.ru

что такое шейдер?

Light Effect

Активный участник
Рейтинг
5
#1
Здраствуйте! Обьясните пожалуйста начинающему что такое шейдер и чем он отличается от материала?
 

Deruz

Мастер
Рейтинг
96
#4
Шейдер (Shader) - в переводе означает "затенение" или тип затенения. Шейдером является материал накладываемый на поверхность модели для придания ей естественного или желаемого вида. С точки зрения физики, всё что мы видим, является игрой света, все 16 миллионов цветов которые способен различить человеческий глаз образуются из одного света. В нашем случае это - солнце. Свет разлагается на множество спектров которые и образуют чудесную цветовую гамму. Свет определённого цвета - это волна имеющая свою частоту и по сути температуру. Так вот, всё что мы видим - всего лишь отражённый цвет. Например, листья деревьев поглощают все спектры кроме зелёного, его они отражают и поэтому он становится видимым для нас. В графике, воссоздать подобный физический процесс пока невозможно, поэтому были придуманы текстуры, то есть фактически плоское изображение поверхности материала, его характеризующее. Текстура и шейдер - это НЕ ОДНО И ТО ЖЕ. Текстура без затенения будет выглядеть не натурально в большинстве случаев, особенно в динамике, но если ей задать тип затенения (глянца, подсветки, яркости, рассеивания световых потоков, трассировки, отражения, типа отражения, поглощения света, шероховатости и много чего ещё...) то мы получим самый настоящий, физически правдоподобный материал, краску, поверхность.
 

Light Effect

Активный участник
Рейтинг
5
#5
Это понятно. Но в Максе мы используем термин Материал и Шейдер. Материал тоже наносится на поверхность. так что получается Материал это есть Шейдер?
 

Андрей Кондратенко 73351

Пользователь сайта
Рейтинг
2
#6
Шейдер обычно используют как дополнение к материалу для придания реалистичности, это разные вещи. Ну чтоб было понятно объясню на примере - допустим нужно сделать рельефные обои, просто нанести текстуру и использовать как материал, реалистичности никакой не будет. Для того чтоб обои казались действительно реалистичные, к материалу где наложена текстура применяют шейдер нужного нам рельефа.
 

Александр Протасов

Платиновый спонсор
Рейтинг
187
#7
Все это интерестно, а кто-нить не подскажет, как уже созданный шейдер накладывать на модель. через какую карту? или скиньте ссылочку на подробнейшее описание урока по шейдерам конкретно, потому что везде где не читал просто говориться "а теперь применяем карту нормалей" и усе... плиз!
 

nanobes

Активный участник
Рейтинг
16
#8
Шейдер обычно используют как дополнение к материалу для придания реалистичности, это разные вещи. Ну чтоб было понятно объясню на примере - допустим нужно сделать рельефные обои, просто нанести текстуру и использовать как материал, реалистичности никакой не будет. Для того чтоб обои казались действительно реалистичные, к материалу где наложена текстура применяют шейдер нужного нам рельефа.
это называется bump mapping. вы указываете шейдеру какую карту использовать для bump`а.

давали же ссылку на вики:
Ше́йдер (англ. Shader) — это программа для одной из ступеней графического конвейера, используемая в трёхмерной графике для определения окончательных параметров объекта или изображения. Она может включать в себя произвольной сложности описание поглощения и рассеяния света, наложения текстуры, отражение и преломление, затенение, смещение поверхности и эффекты пост-обработки.

если почитать документацию к максу, то
"For a standard material, the shader is the algorithm that controls how the material responds to light."

для стандартного материала шейдер - это алгоритм, который определяет как материал реагирует на освещение.
для стандартного материала всегда используется один из следующих шейдеров:
1. Anisotropic 2. Blinn 3. Metal 4. Multi-layer 5. Oren-Nayar-Blinn 6. Phong 7. Strauss 8. Translucent

материал - если говорить достаточно грубо - это коллекция шейдеров.
к примеру, материал может определяться через surface shader (вычисляет цвет и прозрачность поверхности) плюс displace shader (вычисляет положение точки поверхности).
 

nanobes

Активный участник
Рейтинг
16
#9
как уже созданный шейдер накладывать на модель. через какую карту?
вы не шэйдер накладываете через карту (шейдер - это программа, алгоритм), а карту скармливаете шейдеру в качестве какого-либо параметра.
 
Сверху