トップページ > 過去ログ > 記事閲覧
DXライブラリの2D描画について
名前:yoshihingis 日時: 2013/04/08 09:16

 DXライブラリをいつも使用させて頂いて重宝しております。  DXライブラリでの2D描画方法に関して質問が有ります。 さて、以下のサイトでDirectX7では、2D描画関係の関数があったが、それ以降のDirectXでは2D描画関数はほとんど無くなり3D描画関数のみになったとあります。  ttp://rina.jpn.ph/~rance/directx8/04/02.html (すいません、ttp:をhttp:に変えてアクセスしてください)  2D画面データを「奥行きのない3D画像データ」をして扱えば、3D描画関数だけでも、もちろん問題ないことになりますが、友人から「2Dゲームを作るだけなら、古いDirectXを使用した方が便利だし、最新のDirectX11をインストールしても、古いDirectXは同梱される形なので、2D描画関数は使用できるはず」と言われました。  しかし、Microsoftが古いバージョンのDirectXを永久にサポートしてくれるのか?」という懸念は有ります。  ここで、質問なのですが、DirectXでは、あまり2D描画/3D描画の種類を気にしないでも簡単に描画できますが、DXライブラリでは、 1.古いDirectXの2D描画関数を使用して描画している。 2.最新のDirectXで、2D画面を奥行きのない3D画面としてマッピングして、3D描画関数で描画している。  どちらを用いているのでしょうか?  何か的外れな質問をしているかもしれませんが、ご教授頂ければ幸いです。

Page: 1 |

Re: DXライブラリの2D描画について ( No.1 )
名前:takatwu 日時:2013/04/08 21:57

管理人様ではありませんが DirectXは異なるバージョンを混合してアプリケーションを開発することはできません。 DirectX10以降はWindows Vista以降のOSに内蔵されており手動でインストールが可能なのはDirectX9までとなります。 (DirectX10以降のアップデートはWindows Updateで提供されています。) WindowsXP以前にはDirectX10以降をインストールすることはできません。 またDirectX10以降とDirectX9以前は別物に近いため Vista以降でDirectX10以降がインストールされていると表示されていてもDirectX9以前がインストールされていない場合があります。 DXライブラリではDirectX9を使用しているため 全ての描画等をDirectX9で行なっていることになります。 DirectX9には2D描画機能は存在しないため 質問者さんのおっしゃるとおり3D描画機能を使用して2D描画行なっています。 便利さについてですがライブラリを使用する時点でDirectXそのものの便利さは気にする必要がないでしょう。 速度等も昨今のPCではほぼ違いは見られないと思います。
Re: DXライブラリの2D描画について ( No.2 )
名前:yoshihingis 日時:2013/04/10 07:42

takatwu様、ご回答ありがとうございました。DirectXのバージョンと2D,3D描画関数の関係がよく理解できました。またDXライブラリは、2D画面は3D描画機能を使用して描画していることも分かりました。  本当にありがとうございました。
Re: DXライブラリの2D描画について ( No.3 )
名前:管理人 日時:2013/04/14 16:20

DXライブラリは5年ほど前まで2D描画機能が存在する DirectX7 を使用していましたが、 DirectX7時代も3D描画機能を使用して2D描画をしていました 何故かと申しますと、DirectX7までの DirectX の 2D描画機能( DirectDraw )では ・拡大描画 ・回転描画 ・半透明描画 の機能が存在しない( もしくは「あるけど対応しているグラフィックスデバイスが無い」 ) という状態だったからです なので、DirectX7 などを使用して2D描画機能( DirectDraw )を使うことは今でもできる かもしれませんが、上記機能が使用できないので表現の幅は結構狭まります

Page: 1 |