Я исследовал идеальные части для игрового движка, который я создаю.Сначала я пытался просто начать с нуля и писать все с нуля, используя лишь небольшое количество нативных библиотек, таких как Win32, X11, OpenGL, Glew, GLX и т. Д.
И затем я понял, что это займет вечность только дляигровой движок.
Итак, я собираюсь написать игровой движок с использованием OpenGL + SDL + Qt.Причина, по которой я хочу использовать SDL со всем этим, заключается в создании контекста и поддержке инициализации OpenGL.Мне нравится реализация Qt (по большей части), но, честно говоря, я предпочитаю SDL.Моя основная идея - использовать Qt для разработки строго графического интерфейса пользователя (например, внутриигровые меню, отладочные консоли, рендеринг HUD и т. Д.).
Что бы я хотел знать, если это хороший подход, и еслинет, их лучшие подходы там?Если это хороший подход, то какой способ лучше всего реализовать, не сам движок, а интеграция из двух.Я читал аналогичный вопрос о SO, касающемся кого-то, кто писал симулятор физики и, по сути, пытался выполнить то же самое, однако он использовал многопоточность, что я не уверен, буду ли я использовать или не совсем откровенно.
Тем не менее, насколько я знаю, кажется, что между игровым движком и симулятором физики есть существенные различия, и я хотел бы точно знать, во что я ввязываюсь.
Некоторые мысли
Мне нравится голая реализация OpenGL, а не Qt, главным образом потому, что я чувствую, что у меня больше контроля.
Я предпочитаю иметь больший контроль над главным циклом, поэтому я использую что-то вроде SDL, а не реализации Qt - проблема в том, что я не уверен, рекомендуется ли это на самом деле, учитывая, насколько отличаетсяэти два.
В общем, я уверен, что некоторые люди скажут мне просто использовать QWidget и пусть так и будет.Дело в том, что я относительно новичок в графическом программировании в целом и чувствую, что изучение оригинального API через raw opengl было бы лучшим подходом.Однако, если я ошибаюсь, тогда я определенно хотел бы знать.
Я знаю, что этот вопрос довольно широкий и менее конкретный, но мне действительно нужен совет по этому поводу, и я надеюсь, что это может как-то помочь другому разработчику.кто хочет сделать что-то похожее.
Кажется, что это определенно сложная тема для объективности, поэтому я сформулирую критерии с точки зрения гибкости и поддержки OpenGL + GUI, поскольку это действительночто мне нужно.