Я сейчас в процессе написания игрового движка, который вот-вот перейдет к серьезному переписыванию. Во-первых, я рассматриваю, какую библиотеку использовать в сочетании с движком. Очевидно, я собираюсь с OpenGL здесь, и я сделаю все, что в моих силах, чтобы сделать его вперед, а также обратно совместимым.Использование комбинации FreeGlut с SDL
Основная проблема заключается в том, что из большинства моих исследований я обнаружил, что большие библиотеки, такие как SDL (за исключением 1,3), которые, я считаю, не являются стабильными, возможно, я ошибаюсь) поддерживайте до OpenGL 3, а не 4.2. Однако FreeGlut поддерживает новейшие и самые большие, и, похоже, это хороший способ найти основы движка.
Единственное, что, однако, заключается в настройке чего-то типа ввода-вывода клавиатуры и звукового входного звука вместе с другими вещами. Таким образом, я рассматриваю вопрос о том, можно ли использовать перенасыщение для инициализации opengl и использовать opengl с ним, а затем иметь SDL-управление окнами вместе с клавиатурным вводом-выводом, звуком и т. Д.
Конечно, всегда есть возможность использовать Qt с OpenGL, но я бы хотел определенно контролировать мой основной цикл, если это возможно (is это возможно с Qt и OpenGL?).
Я тоже слышал о SFML, но в конечном итоге я хотел бы придерживаться библиотек, написанных на C, поскольку я планирую написать библиотеку C, чтобы позаботиться о большей части примитивного рендеринга (ради чистой скорости и управление памятью, процедурно).
Таким образом, я в затруднении, как здесь. IS Qt - хороший выбор для этого, или есть еще одна альтернатива C-like (например, FreeGlut), которая позволяет управлять основным контуром (например, SDL) и предлагает необходимую настройку, которую я ищу?
Я не думаю, что любая из этих библиотек ничего не делает с OpenGL за пределами создания контекста. Так что (кто-то поправьте меня, если я ошибаюсь) все они будут работать с OpenGL 4.2. – Thomas
Кроме того, почему вы избегаете C++, если можете его использовать? Критические разделы, зависящие от производительности, все же могут быть написаны в стиле C-like, если вы предпочитаете. – Thomas
Главным образом, потому что в C++ следует избегать использования таких вещей, как Malloc и Free, и в C есть вещи, которые я предпочитаю на C++. C отлично работает с указателями, и то же самое происходит с C++, но все еще есть несколько незначительных отличий, которые необходимо учитывать. Например, я планирую использовать множество строк стиля C и разбора. Кроме того, было бы проще протестировать без накладных расходов в стиле OO. – zeboidlund