cjstress
@cjstress
C#

Какая математика необходима для написания шейдеров?

Здравствуйте! Уж очень меня заинтриговали шейдеры в Unity3d, но там, как я посмотрю, не обойтись без математических манипуляций. Кто шарит в шейдерах, подскажите, что необходимо знать? Просто появилась мысль побегать к репетитору, а там ведь появится необходимость в какой-то конкретике, т.к. всю математику изучать интереса нет - только по существу. Спасибо за внимание!)
  • Вопрос задан
  • 802 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Alexander1705
Линейная алгебра. Векторы, матрицы.
Ответ написан
@GreatRash
Есть два типа шейдеров: вершинный и фрагментный.

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

Фрагментный шейдер управляет цветом конкретного пикселя на экране. Т.е. на вход мы получаем массив пикселей в формате rgba (красный, зелёный, синий и альфаканал) и должны на выходе отдать изменённый массив. Тут чистая математика как по мне.

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы