Pull to refresh
204
0
Леонид @ForhaxeD

Graphics/Rendering engineer

Send message
Проще уж самому написать, чем выковыривать и разбираться в зависимостях :)
Я думал такое явление в 2014-2015 уже пропало.
Беру свои слова обратно, забыл, что GS способен оперировать соседними примитивами, а перед GS идет Primitive Assembly не программируемый :)
Подсказываю
image

А чем по вашему занят геометрический шейдер, какая у него функция в пайплайне? :)
А какая по вашему стадия следует перед растеризатором и пиксельным шейдером? :)
Ну вы же ведь расстеризатору не будете передавать вершины, вы будете передавать собранные примитивы :)
Всякие значение там интерполируются между вершинами собранного примитива: UV например, для пиксельного шейдера.
Я ни в коем случае не имею претензий к статье, очень кстати будет для новичков! Вы молодец!
Просто, я ожидал преобразование координат через матрицы ModelViewPort, и финт с (v1.x+1.)*width/2; не совсем понял.

P.S.
А пайплайн у вас в конечном счете будет иметь все стандартные этапы, типа вершинного шейдера, геометрического шейдера, растеризатора и пиксельного шейдера?
Подобный код ведь просто сожмет модель по оси Z и выведет её. А будете ли вы писать о матрицах трансформации (World, View, Projection и их аналоги в OpenGL) с переводом моделей в мировую систему координат, с реализацией камеры (View) для перевода в видовую систему координат и с Projection для перевода в «экранную» систему координат?
Когда зашел — ожидал увидеть нормальный алгоритм, а не алгоритм в двух строчках (хотя-бы вставки кода делайте) с готовыми картинками.

P.S.:
На хабре приятно делиться знаниями, а не продавать их на ассет-сторе.
Зря вы так, новые версии — не значит усложнение для новичков.
На самом деле очень плохой тон — кидать куски кода с минимальными комментариями и выдавать это за статью. Простите.
Возможно я что-то не так понял?
В дальнейшем все подобные уроки будут агрегироваться в тематических хабах, а за новые публикации НЛО будет щедро раздавать рейтинг и бонусы в ППА.


А что будет с маркером Tutorial? Будет ли он как-нибудь влиять на стоимость поста?
Если вы имеете ввиду учет отражения отражения с освещением, тогда я вас понял.
Я серьезно не понимаю о чем речь.
Что тут не так написано:
Deferred Rendering — один проход по геометрии с созданием GBuffer (Color+Normal+Depth).
Deferred Shading — один проход (рисование квада в самом простейшем случае) на один источник света с реконструированием позиции (исходя из Depth-буфера), с последующим посчетом освещения в Light Map
И собственно микс Light map с Albedo (Color). Где тут ошибка? Три прохода. На каждый DS — light pre-pass.
Окей. Каюсь. Отражение действительно было помножено на два.
Deferred Rendering — построение GBuffer'a.
Deferred Shading — расчет освещения на основе данных GBuffer'a.
Их часто путают.

DR может включать DS, а может и не включать.
А вот DS включает в себя стадию DR всегда.
Взаимоисключающие параграфы:
Нужно использовать аппаратную карту глубины, а не делать свой велосипед.
и Deferred Rendering, не находите?

Information

Rating
Does not participate
Location
Россия
Registered
Activity