Другие языки программирования и технологии

В чём разница между WinAPI и DirectX?

Хочу научиться писать игрушки, для начала выводит точку на экран, рисовать луч и т. д пошло поехало. Изучаю С++, но в сухую учить не катит, даже консольные какие-то приложения писать не интересно. Как-то давным давно, смотрел на winapi32, учебник какой-то, там человек объяснял как окна создавать, события свои писать и. т. д, дальше дело не пошло в силу кое-каких обстоятельств. Я думаю лучше изучать сразу что-то что сразу воплощает частично мой цели на практике, а походу углубляться в язык. Короче, понимаю так - winapi был когда не было DirectX, интерфейс давал доступ к аппаратуре и частям ОС, затем начали делать игрушки и появился directX, уже под конкретные целевые нужды, в частности - игры. Так что мне учить-то?
WinAPI и DirectX - совершенно разные вещи.
Оба имеют прямой доступ к железу, но оптимизирован для разнх целей.

WinAPI предназначено не только для рисования линий, фигур и т. д. , но и для создания контролов, окон, обработки сообщений, работы с сетью, файловой системой и много чего еще.
При этом средств рисования 3D-фигур в WinAPI нет вообще, скорость отрисовки двухмерных - слишком низкая, чтоб его стоило использовать в играх.

DirectX предназначен именно для рисования графики, в т. ч. 3D, также для работы с веб-камерой, микрофоном, файлами мультимедиа и т. д. Поэтому на его основе можно писать не только игры, но и например видеоредакторы и захват скриншотов. Нечто подобное (захват с камер и т. д. ) есть и в WinAPI - библиотек avicap, avifil, но меньше и оно было актуально только когда не было DirectX. С современным железом avicap вообще не работает как следует.
DirectX обеспечивает бОльшую скорость отрисовки для сложной графики, рисуемой с 0, как в играх.
Но вот писать на нем окошки с парой кнопок и надписей - во-первх, неудобно, во-вторх, полагаю, производительности это будет только в ущерб, т. к. приложение будет кушать больше ОЗУ (хотя сам не пробовал) .
Николай Задорожний
Николай Задорожний
15 749
Лучший ответ
Без знаний WinAPI можешь подтереться DirectX
Serdar Shenkya
Serdar Shenkya
55 334
"Я думаю лучше изучать сразу что-то что сразу воплощает частично мой цели на практике, а походу углубляться в язык. "
это твоё личное мнение и держи его при себе.
а то тут до васаби как много развелось гениев что с середины чужого кода что-то учат, а прописных истин не знают.. .
WinAPI это разработка оконных приложений под винду. непутаем с консолью. а DirectX это набор библиотек для взаимодействия с видеокартой и ее причиндалами. . вывод: через консоль к DirectX нет смысла обращатся, учимся писать приложения под WinAPI. DirectX - это когда у вас будут достаточные знания, а так можно OpenGl изучит для начального опытаю И да по вопросу "В чём разница между WinAPI и DirectX" это как спросить "В чем разница между седаном и карбюратором"