-概要-DirectX-概要-DirectXの必要事前知識DirectXを使用するにあたり、知っておいた方がいい情報をいくつか紹介します。静的ライブラリ静的ライブラリ(libファイル)はオブジェクトファイルの集まりです。スタティックライブラリとも呼ばれています。静的ライブラリの特徴は「処理のブラックボックス化」「再利用」です。処理のブラックボックス化ライブラリファイルにすることで関数内で行っている処理の内容を利用者にわからないようにします。これで、利用者が勝手に改変することを防げるので安定した技術提供と技術漏洩を防ぐことができます。ブラックボックスブラックボックスとは内部で何が行われているか分からなくても使い方さえ分かっていたら十分な結果を得られるという考え方です。反語としてホワイトボックスがあります。再利用ライブラリファイルは再利用をすることを前提に作成するので。使われると思われる処理を効率よく使うために設計、実装を行います。ゲームなどでは描画、キー入力、サウンド、当たり判定、ファイル管理等、どのゲームでも使用する機能をライブラリファイルとして作成し、いくつものゲームで使用します。プリプロセッサを使用します。commentはいくつかの種類があり、libファイルのリンカでの使用宣言や、リンカオプションの指定をすることが可能です。DirectXはヘッダファイルとlibファイルを提供しており、プロジェクト内で使用を宣言することで利用が可能となります。Direct3DCreate9関数を使用するためには宣言部分があるd3d9.hと定義部分があるd3d9.libの使用宣言が必要です。描画のしくみDirectXはフロントバッファとバックバッファを使用して描画を行っています。フロントバッファは実際に画面に表示されるバッファ、バックバッファは次に画面に表示するバッファです。ひとつのバッファで描画を行うと、表示されてる画面に書き換え中の内容が反映されてしまい、スムーズな描画を行うことができません。そこで、複数のバッファを使用することでスムーズな描画を可能にしています。DirectXの画面切り替えの方法は「フリップ」と「コピー」がありますが現状で違いを知る必要はありません。この「フリップ」や「コピー」を使用した画面更新の方法をスワップエフェクトと呼びます。Layer)HALはDirectGraphicsの初期化の際に出てきます。HALとはハードウェアとソフトウェアの間に入りハードの種類による差異を吸収してくれるソフトのことです。HALがあることによってソフトウェア側でハードの差異を意識することなく処理を書くことができます。ハードウェア処理とソフトウェア処理ハードウェア処理とソフトウェ処理は以下のような特徴があります。ハードウェア処理の特徴は特定の機能に特化しておりそれに関する処理の速度が速いことです。専用処理を行っているので変更することは容易ではありません。ソフトウェア処理はアプリ側のプログラムのことを指します。開発側の技量にもよりますが、ハードウェア処理と比較して速度は遅いです。自分たちのアプリの状況に合わせて処理を変更することが容易です。ディスプレイアダプタディスプレイアダプタはグラフィックボードやビデオアダプタと同じ意味です。これらは3D処理に特化しているハードウェアです。DirectXDirectXはMicrosoftが提供するゲームライブラリです。最新のバージョンはDirectX12(2017/04)までリリースされていますが情報の少なさから普及率は高くなくDirectX9~11の利用が多いです。DirectXの機能DirectXにいくつかの機能があり、それぞれに名称がついています。DirectGraphicsDirectGraphicsは3Dや2Dの描画を行うためのグラフィックAPIのことです。DirectXのバージョンが変更された場合は必ずここが変更されます。基本的には3D描画を主としていますが、2D描画も行うことができます。DirectInputDirectInputはキーボードやマウス、ゲームパッドなどの入力機器の情報を処理することができるインプットAPIのことです。DirectSoundDirectSoundはBGMやSEを再生するためのサウンドAPIのことです。※MicrosoftはDirectSoundに変わるサウンドAPIのXAudio2を推奨しているDirectX9と10以降DirectXはバージョンごとに仕様が変わりますが特にDirectX9と10ではDirectGraphicsの内容が大きく異なります。その違いは「プログラマブルシェーダが必須か否か」です。プログラマブルシェーダとはプログラム可能なシェーディング機能のことで、DirectX10以降はプログラマブルシェーダの使用が必須となっています。DirectX9ではプログラマブルシェーダの代わりとなる固定機能パイプラインと呼ばれる機能があり、シェーダが分からなくてもある程度の作りこむことができました。プログラマブルシェーダは技術的要求が高いので、DirectXを初めて使用する場合、まずはDirectX9から始める人が多いです。探している内容が見つからなかったら以下のサイトにあるかもしれません。筆者が開発にかかわらせてもらったアプリのリンクです。