• ベストアンサー

[DirectX]SDK直叩き or 既存のライブラリ、どちらを選ぶべき?

昔2DでちょこちょことDirectXを使用したゲームを作っていましたが 当時(DirectX5が出たばかりの頃)は 「ライブラリがあるなら使っとき、直にSDK叩くなんざ たけざおとぬののふくで竜王に決闘を挑むようなもんだ」 と言われてELとか使っていたもんですが、 それからしばらくDirectXから離れてて 「最近のDirectXはえらい簡単になった」 と聞いたのですがそれは本当でしょうか? また今からまたゲーム作るとしたらSDKのみか 既存のライブラリを使うかどちらが良いでしょうか? DirectDrawはちょこっと触ってサンプル程度のものを作ったことがあります。 Direct3Dに関しては当時ノータッチでした。 初期化だけはやってたような記憶があります。 ちなみにVisualC++2003.NETのStandardと6.0のProfessionalを持っています。

  • dmq
  • お礼率37% (46/124)

質問者が選んだベストアンサー

  • ベストアンサー
  • isle
  • ベストアンサー率51% (77/150)
回答No.2

D3DXライブラリ(DirectXSDKに付属)にはフレームワークも含まれているので、これを使えば3D描画はずいぶん楽になると思います。 純正のD3DXライブラリがあるため、第三者によるライブラリはほとんど姿を消しました。 XNA Game Studio Expressというソフトを使うともっと簡単にそこそこ立派なゲームを作れます。 いまは2Dゲームもポリゴンで描画するほうが簡単です。 Direct3D10になると仕様で固定機能が使えなくなるのでポリゴンひとつ描画するにも手間がかかるようになります。 汎用化されて複雑な描画をするときと同じだけ手順が掛かるようになりました。 ちなみにいまのDirectXSDKはVC6に対応していません。

その他の回答 (3)

  • jacta
  • ベストアンサー率26% (845/3158)
回答No.4

クロスプラットフォームの開発を想定しているのであれば、SDLなどのライブラリを使った方がよいと思います。 将来にわたってWindowsだけで動けばいいなら、DirectXをそのまま使えばよいでしょう。

dmq
質問者

お礼

ご回答ありがとうございます。 SDLって確かCygwinが必要とかで以前から敬遠していたのですが…。

noname#32535
noname#32535
回答No.3

>SDKのみか既存のライブラリを使うかどちらが良いでしょうか SDKを使った方が良いと思います。市販の本は殆どD3Dを直に使って解説してる物のはずです。これだけ情報が出回っていれば、全く問題ないと思いますよ。 他人が作ったライブラリは、陳腐化するのが早い事が多いと思います。 又、周りの開発者とも話を合わせにくいです。誰も使ってない為です。 だからSDKをそのまま使った方が、価値は高いと思いますよ。

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

>「最近のDirectXはえらい簡単になった」 難度は別に変わっていません。 DirectX10になってもサンプルコードを見る限り、 簡略化されたとは思えません。 むしろDirectX9以降はシェーダーを使えるようになり難しくなったともいえます。 ちなみにDirectX8以降 DirectDrawとDirect3Dは統合されDirectGraphicsとなっております。 (従来通りDirectDrawも使う事は出来ます。) ご自分でDirectXSDKをダウンロードしてみては? http://www.microsoft.com/japan/msdn/directx/downloads.aspx (SDKのサンプルコードはVisual C++.NET 2003に対応しております。) 難度が簡単になったというのはC#等でManagedDirectXが使えるようになったから そう思われたのかもしれませんね。ただDirectXの操作はC++と特に変わるものではありません。 >SDK直叩き or 既存のライブラリ、どちらを選ぶべき? SDK(GDI)のみかDirectXを使うかは作りたいゲームの種類によるでしょう。 少なくとも3D描画をしたいのならGDIのみではきついですし重いです。 >直にSDKを叩く SDKとはどのSDKの事を言っておられるのかわかりませんが DirectXはドライバレベルの話です。直にドライバレベルで叩かない限り GDIのみでは簡単な3D描画ぐらいしか出来ませんし描画できたとしても糞重いです。

dmq
質問者

お礼

ご回答ありがとうございます。 言葉足らずですみませんでした。 SDK…DirectX SDK ライブラリ…サードパーティによるDirectX SDKのラッパー こんな感じの意味を想定していました。

関連するQ&A

  • DirectX用のライブラリを探しています

    DirectX用のライブラリを探しています プログラム関係の学校に行っているのですが、学校の作品制作でオリジナルのPCゲームを作ることになりました。ジャンルは弾幕のシューティングで、言語は調べたところゲーム制作はDirectXとC/C++が良いとのことでしたので「DirectXとC/C++」を使う予定です。 ですがDirectXを使うには少々問題がありまして、DirectXというものを一切触ったことがありませんので現在の知識では当然画像の描画すらできないんです。 さすがにそれではマズイのでDirectX用のライブラリを使おうかと思っています。そこで、DirectX用のライブラリでお勧めのものがあれば教えていただけたらなと思いまして、書き込みをさせていただきました。(実際に色々と試したいところなんですがそれほど時間も無いもので……) もし「こんなものがいいよ」というものをご存知であれば是非とも参考にさせていただきたいのでアドバイスをいただけると幸いです。よろしくお願い致します。 補足になりますが・・・ 作品制作ではライブラリに規制があり、ツクール系やHSPみたいな簡単に作れるものはNGという制限があります。 描画には2Dと3Dの両方を使います。 DirectXのバージョンはできればDirectX9…DirectX8くらいであると有難いです。 なにぶん勉強中のもので不足がございましたらその都度ご返信させていただきます。よろしくお願いします。

  • ゲーム制作について

    Directxを使ってゲームを作りたいのですが、ライブラリという言葉をよく聞きます。これは制作を簡単にするものらしいのですが、これがあれば、windows sdkやdirectxのsdkはいらないんでしょうか? 後、seleneというライブラリがありますが、これはお勧めできすか?よろしくお願いします。

  • DirectX9SDK(August2005)作品にd3dx9d_27.dllは必須?

    突然ですが質問させていただきます。 ただいまDirectX9.0SDK(August2005)を使用してゲームを作っているのですが、完成作品を友達に上げたところ、「d3dx9d_27.dll」が無いといわれ、実行できないみたいです。DirectXランタイムは最新バージョンらしいのですが・・・ 自分のシステムフォルダを調べてみたら確かにそのDLLはありました。でも説明のところにDebugと書いてあるのですが、ReleaseでコンパイルしているはずなのにこのDLLってやっぱり必要なんですか? どなたか回答をお願いしますm(_ _)m

  • DirectX9SDK(August2005)作品にd3dx9_27.dllは必須?

    このたび、DirectX9SDK(August2005)を用いてゲームの開発を行っているのですが、作成した物をほかのPCで動かそうとすると「d3dx9_27.dll」が無いといわれてしまい実行できません。 プログラムのベースにはMicrosoftのDirect3Dのサンプルを使用し、Commonフォルダのファイルも使用しています。 コンパイルはReleaseで行っています。 最新版のDirectX9ランタイムをインストールしたりいろいろと試してみたのですが結局うまくいきませんでした。 Microsoftは再配布を許していないらしいので一緒に配ることもできないですし・・・ どなたか解決策をお願いします!!m(_ _)m

  • DirectX9とVisual C++2008で・・・

    DirectX9とVisual C++ 2008で3Dゲームが作れる環境にしたいのですが、どういう手順で設定を行えばいいのか分かりません・・・ ちなみに、DirectX SDK(November 2007)も持っているんですけど、これって何ですか?

  • DirectXを使用するゲームを起動すると固まります

    タイトルにあるようにDirectXを使用するゲームを起動するとPCが固まってしまい、電源ボタンの長押しによる強制終了しか出来なくなります。 描画方法を変更できるゲームで、描画方法をGDIに変更すると正常に起動するので原因はDirectXにあると思われます。多くのゲームでDirectXが使用されているので困っています。 また、DirectX診断ツールのディスプレイタブでは「問題は見つかりませんでした」と表示されますが、Direct3Dのテストを行なうと止まります。DirectDrawのテストでは止まりません。 ハードウェアアクセラレータでは「DirectDraw および Direct3D すべてのアクセラレータを無効にします」まで下げると起動するようになります。ただ、アクセラレータを無効にしているので主に3Dのゲームは表示はされませんが・・・。 DirectXのバージョンは9.0cで再インストール(ファイルの更新?)も行いました。グラフィックドライバの再インストールも行いました。バージョンは最新のものを使用しています。 今まで問題なく使えていたのに先週末あたりからこの問題が発生するようになりました。原因は思い当たるところがありませんが、以上のことからDirectXに何か問題がおきていると思うのですがどうでしょうか?よろしくお願いします。

  • SOURCENEXTの大航海時代IV

    本日 上記のゲームソフトを買って、インストールしたのですが、ゲームをスタートするとすぐに、画面が真っ暗になって反応しなくなってしまいます。 ゲームのパッケージには、【本製品はDirectX 6 (DirectSound/DirectDraw/Direct3D)を使用しています。お客様の使用環境によっては、専用のドライバが必要になります】と書いてありますが、これと関係あるのでしょうか? ビデオカードはGIGABYTEのGV-R9500でDirectX 9まで対応しているとおもうのですが、DirectX 6との互換性はないのでしょうか?普段はゲームをやらないので、基本的なことすらわかりません。どなたかアドバイス、お願いします。

  • DirectXの良著

    VisualC++を使ってDirectXの勉強をしたいと思っています。主に3Dに関する勉強をしたいと思っているんですが、なにか良い本を紹介してくれないでしょうか? ゲームプログラミングと謳っている本ではなく、どちらかというとSDCGの機能(あわよくばDirect3Dアニメーションなんかの機能)を養えるような本がいいです。できればVCとも絡みがあるとありがたいのですが・・・。 よろしくお願いします。

  • Directx診断ツールについて

    オンラインゲームが急に出来なくなり問い合わせしたところ、「Directxの機能が有効か確認して下さい」という回答。 そこで、なんとかDirectx診断ツールまで辿り着いたら、 DirectDraw  アクセラレータ 使用可能 (無効) Direct3D   アクセラレータ 使用可能 (無効) AGPテクスチャ アクセラレータ 使用可能 (無効) と、表示されていました。 これらの有効化はどのようにするのでしょうか? また、そもそも有効化は問題ないのでしょうか?有効化するというのは現状をどのように変えることになるのでしょうか?教えてください。 ちなみに、Directxのバージョンは9.0b オンラインゲーム側では「Directxは最新バージョンをダウンロードして下さい」と案内しています。

  • DirectXとC言語でシューティングゲームを作るには

    DirectXとC言語(とVisualC++)を使って PC用の2Dのシューティングを作ろうかと考えています。 (派手なエフェクト等を使う予定なのでDirectXと C言語とVisualC++を少し習っているので扱いやすいかなと) ですがゲームというものは全く作ったことが無く ウィンドウを作成してDirectXGraphicsを…(以下略) とかどのように組めばいいのかわからないのです。 そこで色々とサイトや本を探して勉強しようと考えたのですが DirectXとC以外の言語でのシューティング作成サイトや 本も別の言語での作成方法あったり古いもの(グラフィックが…)や 一から作り方を解説している、というものはなく 結局ゲーム作成どころではなくなってしまいました。 (私の見過ごしかもしれませんが…) なのでこちらにてお伺いさせていただいたのですが このようなシューティング作成の解説をしているサイトや 書籍というものは無いのでしょうか? おそらくDirectXを勉強しろと言われるかもしれませんが シューティングを作るのみで、また時間も限られていますので…(汗 もしご存知であれば教えていただければ嬉しく思います。 よろしくお願いします。