Как стать автором
Обновить
-11
Карма
0
Рейтинг
Владимир Миронов @AnomalyImage

Разработчик в GameDev

  • Подписчики 1
  • Подписки 4

Краткая история 3D в видео-играх для чайников

Очень интересная статья, но вот с последним немного не согласен:

Технологии стали доступны дома — теперь каждый может делать видеоигры и спецэффекты Голливудского уровня. Здесь и да и нет.

Да эффекты крутить можно, невероятно мощные, но все же для идеального качества, требуется подключение рендер-ферм, допустим секвенцию в 300 кадров при разрешении в 4-6K на домашней машине, вы очень долго будете считать, если она собрана, например в Houdini. Для этого вам надо либо арендовать ферму либо иметь свою. Не все софты поддерживают real-time рендер, та же Maya, Houdini, Blender требуется время для просчета сцены. В этом ввиду есть решение в виде Clarisse — она поддерживает рендер прямо во ViewPorte ну в своем качестве, все софты постепенно идут к этому, но это не быстро будет. Тем более что для Clarisse нужна очень мощная сеть для работы, а на территории СНГ и России это позволить себе могут не многие.

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

И еще, как правило в крупных студиях, берут какой-то софт и полностью его переписывают под свой пайплайн и нужды, бывает, что только картинка остается при запуске, все остальное кастомное. Например солвер для симмуляции воды в Последнем человеке пауке, был полностью разработан с нуля компанией framestor — он не является коммерческим продуктом и находится в состоянии работающего ноу-хау, вероятно что и продаваться никогда не будет, так как позволяет просчитывать терабайты данных.

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

Дебри графики или как пройти собеседование на программиста компьютерной графики в GameDev

Ох мужик, ну слушай я же тебе написал, в чем я не прав, вернее не дописал и в чем ты не прав, ну зачем ты переписываешь, то что уже сказал. Ну хорош, все все поняли, пиши статейку, и не уходи «рыбой», ты же умный придумаешь, что-нибудь и судя по объемным постам время у тебя есть.

Дебри графики или как пройти собеседование на программиста компьютерной графики в GameDev

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

Дебри графики или как пройти собеседование на программиста компьютерной графики в GameDev

Так по чесноку она встречается в пяти публикациях на хабре ))

Дебри графики или как пройти собеседование на программиста компьютерной графики в GameDev

Отличный ответ, вы нам очень помогли, более того, мы учтем все ваши комментарии.

Не совсем я с вами согласен, например

1. Опишите пайплайн разработки VFX эффекта?
— а причём тут картинка с графическим пайплайном?
Здесь логики нет, это случайный вопрос чтобы поставить человека в слегка дискомфортное положение и посмотреть как он ориентируется в нестандартной ситуации, в наших быстрых условиях умение адаптироваться это плюс.

2 MSAA (Multisample anti-aliasing) — улучшенная версия SSAA, но менее затратная. Сглаживание происходит только по краям текстуры
— Не текстуры, а видимым краям геометрии
Так я и написал про края, вероятно вы были сильно взволнованны когда писали это и не увидели что написано строчной выше. Ну ничего бывает ))

3 Ещё по плюсам
— Стандарты C++11\14\17\20
— Правило пяти
— Ссылки
— Перемещения
По плюсам вопросы уровня джун, и уж точно не для программиста графики где очень важны выравнивания, скорость и вообще работа с памятью.

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

TXAA(Temporal antialiasing) — работает с движущимися объектами и хорошо убирает «мельтешение» картинки. Является смесью MSAA и SMAA, дает очень качественную картинку, однако, немного ее мылит блюрит, очень требовательно к ресурсам. Сглаживает очень качественно;
— Тут вообще, по-моему, полное непонимание технологии. Начнём с того что оно шикарно работает со статикой, и со статикой оно работает лучше, чем с динамикой, потому что по сути сэмплирует предыдущие кадры, при этом каждый новый кадр рендерится всегда со смещением на пол пикселя. И чем дольше картинка статичная, тем лучше будет сглаживание.
— Даже близко не является смесью MSAA и SMAA
— По факту является более быстрой техникой, но расходует больше памяти
— Влияет на сглаживание эффектов (PCFSM, SSAO, SSR, Motion Blur, Volume Light ...)

Здесь мы говорим об одном и том же, вы просто пересказываете меня, если быть точнее даже перефразируете. Но кое что дельное есть, про статику я ничего не говорил, но спасибо что дополнили. Почитайте внимательно документацию как появился TXAA (https://developer.nvidia.com/postworks) — чтение документации, видать не самый ваш сильный конек. Ну ничего, я сам этим грешу ))

Одно из преимуществ — сниженная нагрузка на драйвер, более эффективное использование ЦП
— Наоборот же, более эффективное использование GPU и взаимодействие CPU и GPU, и с чего вдруг нагрузка на драйвер будет снижена? Не будет, просто использоваться он будет более эффективно
Это чистый перефраз почитайте документацию официального разработчика или хотя бы здесь (https://coderoad.ru/40703655/OpenCL-%D0%92%D1%83%D0%BB%D0%BA%D0%B0%D0%BD-%D0%A1%D0%B8%D0%BA%D0%BB), как плюсовик вы должны это понимать

Проблемы прозрачности? — Здесь окей в точку.

Tessellation позволяет увеличить количество мешей за счет дополнительного разбиения геометрии)
— Точно мешей, может всё-таки количество примитивов (треугольников в основном)?
— hull domain части? почему этап тесилирования разбивается на 2 шейдера а не на один? У ваc это даже в картинке пайплайна есть.
Меш имеется ввиду колличество поликов, вертексов и точек, тут да.

Могут включаться и дополнительные шаги и подшаги, здесь я привел только общую схему.
— Tessellation и Geometry не являются обязательными шагами в пайплане, даже растеризация и пиксельный шейдер не всегда являются обязательными шагами.
Vertex shader вызывается для каждой вершины и используется для трансформации вершин из локальной системы координат в экранную
— Вот только не обязательно всегда в экранные координаты переводить.
— Skining?
Это все зависит от задачи, в статье приведена общая структура и в конце поста это подробно написано, я даже покажу вам где: последнее предложение.

Можете описать архитектуру работы GPU на примере CUDA?
— Описание из разряда: — Как работает машина? — Садишься заводишь и едешь. — общая схема, читайте внимательно, спросят про потоки и кэши будет отвечать. Ну можно дополнить.

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

Дебри графики или как пройти собеседование на программиста компьютерной графики в GameDev

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

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

По поводу вакансий они взяты из hh.ru, так что здесь вы не правы. Вот одна из них: hh.ru/vacancy/32249151

Дебри графики или как пройти собеседование на программиста компьютерной графики в GameDev

1. Статья ориентированна на джунов и мидлов для графики, то есть разработчиков для gamedev, а не чистых плюсовиков. Плюсы это важно даже очень, но совершенно бесполезно без знания других прикладных вещей. За статейку спасибо почитаем;

2. Все мы перепечатываем кого-то добавляя что-то свое и иной раз пишем что-то совершенно новое нигде ранее не упоминавшееся, ваши статьи далеко не исключение.

Дебри графики или как пройти собеседование на программиста компьютерной графики в GameDev

Ну что тут скажешь красивая картинка ))

Дебри графики или как пройти собеседование на программиста компьютерной графики в GameDev

Хорошо, как бы вы ответили? Судя по вашим публикациям у вас компьютерная безопасность основная тема, как вы можете оценивать статьи по компьютерной графике? Если можете дать ценный комментарий, с удовольствием послушаем. Помоги сделать статью лучше, мы открыты любым комментариям.

Игровые локации, или как сюжет раскрывается через окружение в современных играх

Мне вот, все понятно, игры все разные, здесь упор был на то, что бы показать, как стилистика мира влияет на игровой процесс и как добиться результата поставленной задачи от заказчика/супервайзера/артлида. Какие основные элементы надо использовать и на что сделать больший упор в реализации локации.

Игровые локации, или как сюжет раскрывается через окружение в современных играх

Я таки много чего имею сказать за локации и даже больше, чем ви можете мне ответить ))

Игровые локации, или как сюжет раскрывается через окружение в современных играх

Локация должна создавать общую атмосферу и «погружать» пользователя в игровой мир.

Игровые локации, или как сюжет раскрывается через окружение в современных играх

Хорошо, но пусть это будешь наш стиль изложения

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность