Что за понятия между OpenGL и Vulkan?

Здравствуйте, прочитал несколько статей по поводу вышеупомянутых понятий и не понял, что лучше?

Я хочу углубиться в знания об создании своего простенького 3D движка на C++ и нашел книги, одни из которых "Red Book" по OpenGL, только вот в каком смысле? Возможно, что они имеют исчерпывающую информацию и могут наиболее лучше объяснить как пользоваться инструментарием C++ и OpenGL для создания своих проектов.

У меня есть представления, что OpenGL - это что-то наподобии фундамента для реализации графики в программах, язык GPU и так далее в таком духе. Я пытался сделать свой 3d движок раньше, вместо того, чтобы пробовать сделать игру уже в готовом движке Unreal, чтобы лучше понять, как работает логика, алгоритмы, вообщем пытаться сделать все самому, чтобы лучше дошло, но понял, что это просто темный лес, быть может, что я не сильно старался. Я учился по материалам сайта learningopengl и увидел, как вообще это работает. Статьи на сайте реально классные, но забил болт на это дело.

В итоге, когда меня вновь посетила, не знаю уже как назвать это, мысль, я вновь поискал статейки и книги с OpenGL и вспомнил про Vulkan. Прочитав про него я понял, что это что-то на подобии уровня Assembler OpenGL и там нужно быть гуру в коде и логики с алгоритмами, чтобы связать это все в одно целое, тот же движок.

Есть ли какие-нибудь советы для наставления, которые могли бы направить в правильное русло мои задумки по поводу геймдева? Я изначально хотел сделать игру на Unreal, на Unity я пробовал сделать, не зашло и когда начал изучать Unreal, понял, что здесь много нюансов и те знания, которые нужны были там, их попросту не хватало. В итоге я захотел развить свою логику и создание алгоритмов на самой базе, на создании своего собственного движка.

Ту игру, что я хотел бы сделать имела бы AAA формат и я понимаю, что в одиночку я это не осилю и пытаюсь понять, стоит ли пробовать изучать основы OpenGL или Vulkan в том плане, что бы развить логику и понимание алгоритмов, а уже после приступить к созданию собственной игры на Unreal с теми знаниями, которыми я запасся?

У меня складывается ощущение, будто все новички, которые хотят создать свою игру, сразу начинают изучать готовые движки и в некоторых случаях начинают сомневаться в правильности своих действий и пытаются сначала изучить азы работы с GPU(OpenGL, Vulkan), быть может так и надо?

Какие возможные советы вы могли бы дать, а также расшифровку заголовка сей темы?

1010
26 комментариев

Это прям комбо. Хочу ААА на самописном движке не понимая разницу между OpenGL и Vulkan

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

16
Ответить

Я редактировал запись с тем моментом, где я говорил про AAA. Я понимаю, что я не гений и не имею 7 пядий во лбу, чтобы с нуля сделать движок уровня Unreal или Unity, а скорее приобрести крепких и новых знаний о базисе логике и понимания алгоритмов и уже после пробовать делать игру на Unreal.

Ответить

Комментарий недоступен

9
Ответить

Да, сейчас C++'ом уже можно не пугать, с новыми стандартами за последние 8-10 лет много чего поменялось в лучшую сторону и старые костыли часто можно выкинуть, в std много добавлено вкусного.

Ответить

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

Ответить

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

5
Ответить

Иногда есть челленджи перед самим собой, например минимальный размер

Ответить