Как самому написать функцию для создания окна?
Как самому написать функции создания окна в C++ без использования библиотек windows.h, winAPI. Как вообще это происходит?
Например я хочу создать свой 2д движок на чистом C++ без создания окна и отрисовки сторонними библиотеками, а сделать абсолютно всё с нуля, что для этого нужно? Возможно ли это вообще, или же без этих библиотек никак?
Ответы (2 шт):
Сомневаюсь, что на Windows можно опуститься ниже уровня WinAPI.
На линуксе есть linux framebuffer - можно рисовать напрямую на экран, без окон и т. п.
Кроме того, если не хотите, чтобы ваш "движок" работал быстро, нужно рисовать на GPU, а не на CPU. Для этого придется использовать одно из API, предоставляемых драйверами видеокарт - OpenGL, Vulkan, ... Свою замену для них вы сделать не сможете, ведь для этого нужно написать свой драйвер и убедить игроков поставить его.
Если хотите мое мнение: вы только потратите время впустую.
Вам хватит проблем с движком и без самодельной графики.
Лучше возьмите кросс-платформенную графическую библиотеку, например SDL2. Она достаточно низкоуровневая, чтобы не было скучно, и при этом работает на всех крупных ОС.
Можно, если ты готов написать порядка 100.000 строк хардкорного кода самостоятельно, притом часть из него будет на ассемблере, потому что многие действия связанные с системным программированием просто нельзя написать иначе.