Какой из вариантов используется в реальном геймдеве (когда компания свой движок изначально пишет, к примеру)?
Какой из вариантов будет более предпочтителен для работодателя? Если у меня есть опыт с чистым OpenGL или через обертки Qt?<.blockquote>
Qt является экосистемой, созданной для строго определенных целей. В этой экосистеме присутствует деформация в сторону удобства использования именно для этих определенных целей.
Как и любой инструмент, Qt тоже стоит выбирать только тогда, когда от его использования имеется неоспоримая польза, которой не ожидается от использования прочих инструментов.
Как инструмент и экосистему, Qt не используют в качестве основы для фреймворка или игрового движка, потому что Qt не предоставляет никаких решений стоящих перед командой разработчиков задач.
Взамен Qt только добавляет свою специфику в код проекта, сужая круг потенциальных соискателей на вакансию разработчика и накладывая ограничения на использование некоторых очень важных для игровой индустрии сторонних библиотек.
Во-первых - свой родной язык. Девлопер со спичем на форижен сленге мирится со слоу респектом у тиммейтов на ворке. Способность чисто декламировать на родном языке, словами без эмоций пояснять свою точку зрения, приводить (обязательно и только)веские аргументы и (в особенности) понимать чужую речь на родном языке имеет очень большое значение для процесса разработки. А для джуниора - еще более.
Во-вторых - свой язык программирования. Плюсы знать надо на таком уровне, чтобы не задавать простых вопросов. STL надо знать как букварь, это важный момент. Шаблоны и метапрограммирование - хотябы на общем начальном уровне (синтаксис, возможности, правила, type_traits в STL).
3 способа использования слова static знаешь? Почему inline нужен? Что такое константный метод? Почему в деструкторе нельзя вызывать виртуальные методы? А как виртуальный метод все же вызвать, если ну очень хочется? Каким условиям для хеш-функции желательно удовлетворять чтобы эффективно использовать ее в контейнере std::unordered_map? Как правильно мириться с исключениями конструктора? Чем std::deque отличается от std::vector, в каких случаях что эффективнее? Перечислять вопросы можно хоть до второго пришествия.
В третьих - английский язык. Нужно уметь читать документации и доклады, стенографии выступлений и, если понадобится, общаться с сообществом на гитхабе, гиттере, слеке. С ресурсом en.cppreference.com/w нужно не просто подружиться, надо знать что именно там есть все ответы на твои вопросы по языку.
Штука такая, джуниор без знаний языка мало кому нужен, таких на грош с десяток взять можно. Когда с самого старта карьеры ты уже будешь уверенно владеть языком программирования, к тебе и отношение другое будет. И рост у тебя будет быстрее, и знания тебе с самого начала будут по другому предоставлять.
А основная мысль у меня такая: как джуниора, тебя не азам обращения с инструментами должны учить, а сразу передавать тебе наработанную сноровку, алгоритмы, рассказывать про грабли и минные поля.