Войти
ПрограммированиеФорумГрафика

Материалы и шейдеры для материалов

#0
14:34, 10 дек. 2015

Допустим есть реализация unreal engine на opengl( хехе)
Так вот, я создаю 20 новых материалов( =20 новых шейдеров), и рисую все это дело.
Получается, если есть 20 шейдеров, то при отрисовке моделей(все 20 материалов используются) придется 20 раз переключать программу для рендера( как мне кажется).
Сам вопрос- действительно ли происходит 20 переключений программы( помним, что написано на opengl, хотя я сомневаюсь, что принцип отрисовки dx сильно отличается), и сильно ли при этих переключениях страдает фпс(либо там какой-то другой алгоритм).


#1
14:42, 10 дек. 2015

Сомневаюсь, что нужно будет больше 10 шейдеров. Но если и 20 переключений в кадр, то не сильно и тяжело.

#2
14:44, 10 дек. 2015

mazahist
> Получается, если есть 20 шейдеров, то при отрисовке моделей(все 20 материалов
> используются) придется 20 раз переключать программу для рендера( как мне
> кажется).

Не забивай себе голову...

#3
17:28, 10 дек. 2015

mazahist
> Получается, если есть 20 шейдеров, то при отрисовке моделей(все 20 материалов
> используются) придется 20 раз переключать программу для рендера( как мне
> кажется).
Тот кто хоть раз запрограммировал треугольник с текстурой и освещением, поймёт насколько вопрос некорректен. Както так.  :)

#4
17:55, 10 дек. 2015

mazahist
> Так вот, я создаю 20 новых материалов
В каком виде ты их создаешь?

#5
18:04, 10 дек. 2015

Наверное в сыром.
Но если пожарить ! :)

#6
23:02, 10 дек. 2015

mazahist
> Сам вопрос- действительно ли происходит 20 переключений программы
На самом деле переключение программ не так уж плохо, есть вещи пострашнее: у меня в дебаг аутпут пишет о перекомпиляции шейдеров из-за смены стейтов, это явно хуже.

ПрограммированиеФорумГрафика

Тема в архиве.