[[cg:start|CG用語集トップ]] > [[cg:systems:start|第9章 システム・応用]] ====== API ====== ===== 概要 ===== APIは、Application Programming Interface の略で、[[cg:systems:software|ソフトウェア]]同士が機能やデータをやり取りするための取り決めである。人間向けの画面ではなく、プログラムから別の機能を呼び出すための入口と考えるとよい。CGやゲームでは、OS、ライブラリ、クラウドサービス、描画機能などを利用するときにAPIを通して命令やデータを渡す。 ===== 詳しい説明 ===== APIは、あるソフトウェアが内部に持つ機能を、別のプログラムから決まった形式で利用できるようにする仕組みである。たとえば、画像を保存する、ネットワーク通信を行う、描画命令を送る、データベースから情報を取得するといった処理は、APIを通じて呼び出されることが多い。重要なのは、APIが機能そのものではなく、機能へアクセスするための約束である点である。[[cg:systems:programming_language|プログラミング言語]]で書いたプログラムは、APIの仕様に合わせて関数名、引数、戻り値、通信形式などを扱う。 ===== CG制作との関係 ===== CG制作では、制作ソフトの機能を自動化したり、レンダラやアセット管理ツールと連携したりするときにAPIが関係する。大量のファイル変換、画像処理、レンダリング指示などを手作業ではなくスクリプトから実行する場合、ツールが提供するAPIを利用することがある。 ===== ゲーム開発との関係 ===== ゲーム開発では、グラフィックスAPI、サウンドAPI、ネットワークAPI、プラットフォームAPIなどを通じて、ゲームエンジンやOSの機能を利用する。APIを理解すると、ゲームプログラムが直接ハードウェアを操作しているのではなく、決められた手続きで機能を呼び出していることがわかる。 ===== 制作・実装での例 ===== Webサービスからランキングを取得する、クラウドにセーブデータを保存する、OSのファイル選択機能を呼び出すなどはAPI利用の例である。実装では、仕様書に書かれた入力形式と出力形式に合わせてコードを書く必要がある。 ===== 検定対策ポイント ===== APIは、ソフトウェアやサービスの機能を外部から利用するための取り決めである。検定では、APIをアプリケーションそのもの、プログラミング言語そのもの、OSそのものと混同しないことが重要である。 ===== 関連用語 ===== * [[cg:systems:software|ソフトウェア]] * [[cg:systems:programming_language|プログラミング言語]] * [[cg:systems:operating_system|オペレーティングシステム]] * [[cg:systems:internet|インターネット]] * [[cg:systems:cloud_computing|クラウドコンピューティング]] ===== タグ ===== * CGエンジニア検定 * 第9章 * システム ---- [[cg:systems:start|← 第9章 システム・応用 の目次に戻る]] [[cg:start|← CG用語集トップに戻る]]