Sledge,
Интерфейс программирования приложений (иногда интерфейс прикладного программирования) (англ. application programming interface, API [эй-пи-ай])[1] — набор готовых классов, процедур, функций, структур и констант, предоставляемых приложением (библиотекой, сервисом) для использования во внешних программных продуктах. Используется программистами для написания всевозможных приложений.
API определяет функциональность, которую предоставляет программа (модуль, библиотека), при этом API позволяет абстрагироваться от того, как именно эта функциональность реализована.
Если программу (модуль, библиотеку) рассматривать как чёрный ящик, то API — это множество «ручек», которые доступны пользователю данного ящика, которые он может вертеть и дёргать.
Программные компоненты взаимодействуют друг с другом посредством API. При этом обычно компоненты образуют иерархию — высокоуровневые компоненты используют API низкоуровневых компонентов, а те, в свою очередь, используют API ещё более низкоуровневых компонентов.
По такому принципу построены протоколы передачи данных по Internet. Стандартный стек протоколов (сетевая модель OSI) содержит 7 уровней (от физического уровня передачи бит до уровня протоколов приложений, подобных протоколам HTTP и IMAP). Каждый уровень пользуется функциональностью предыдущего уровня передачи данных и, в свою очередь, предоставляет нужную функциональность следующему уровню.
Важно заметить, что понятие протокола близко по смыслу к понятию API. И то и другое является абстракцией функциональности, только в первом случае речь идёт о передаче данных, а во втором — о взаимодействии приложений.
API библиотеки функций и классов включает в себя описание сигнатур и семантики функций.
Эти названия чаще всего используют в спорах, но мало кто знает, что они означают на самом деле. Чтобы разобраться, давайте начнём с истории графических API. DirectX и OpenGL - это графические API, то есть интерфейсы прикладного программирования (Application Programming Interface) - открытые стандарты кода, доступные каждому.
До появления графических API каждый производитель графических процессоров использовал собственный механизм общения с играми. Разработчикам приходилось писать отдельный код для каждого графического процессора, который они хотели поддержать. Очень дорогой и не эффективный подход. Для решения этой проблемы были разработаны API для 3D-графики, чтобы разработчики писали код под конкретный API, а не под ту или иную видеокарту. После чего проблемы совместимости легли уже на плечи производителей видеокарт, которым пришлось гарантировать, что драйверы будут совместимы с API.
Единственной сложностью остаётся то, что сегодня используются два разных API, а именно Microsoft DirectX и OpenGL, где GL расшифровывается как Graphics Library (графическая библиотека). Поскольку API DirectX сегодня в играх более популярен, мы сконцентрируемся именно на нём. Да и на развитие игр этот стандарт повлиял сильнее.
http://www.thg.ru/graphic/graphic_card_ ... ii-03.html
И тему в мед ринге клипай ты ок?