Q&A
前提
今までunityを3年間使用してゲーム作成を行って来たものです。
ローレベルな階層のプログラミングから知識を入れておきたいため、このような質問をさせて頂いております。
発生している問題・エラーメッセージ
DirectXの情報に疎く、下調べはしたのですが、現在初学者が勉強すべきなのがDirectX9-11-12のどれが良いのかいまいちピンと来ていない状態です。
おすすめのバージョンや書籍やサイトを教えて頂けると幸いです。
補足情報
オープンソースのフレームワークを利用してゲーム作成しながらフレームワークを追うのも良いのかなと考えていたのですが、それはどうなのか、また良ければおすすめ教えて貰えると助かります。
大変恐縮ですが、知恵を貸していただけると助かります
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
下記のような質問は推奨されていません。
- 質問になっていない投稿
- スパムや攻撃的な表現を用いた投稿
適切な質問に修正を依頼しましょう。
回答10件
#1
総合スコア4566
投稿2023/02/24 20:27
自分自身はゲーム開発用のフレームワークやエンジンの開発はしたことがないのでご参考まで。
DirectX9-11-12のどれが良いのか
難易度で言ったら学習のしやすさは DirectX9 ですが、20年以上前の API でだいぶ古いので、
今やるなら DirectX11 か DirectX12 でしょう。
個人的には DirectX11 を理解してから DirectX12 に進めるのが良いのでは、と思います。
DirectX12 をお勧めしたいところですが、覚えることが多く、初学者にはだいぶ難しいと思います。
以下は簡単にですが DirectX9/11/12 を比較した表になります。
比較項目 | DirectX9 | DirectX11 | DirectX12 |
---|---|---|---|
難易度 | 初級 | 中級 | 上級 |
登場時期 | 2002年 | 2008年 | 2015年 |
主な対応OS | Windows XP以降 | Windows 7以降 | Windows 10以降 |
三角形の描画に必要な行数 | 約160行 | 約320行 | 約450行 |
※ 三角形の描画に必要な行数については下記のサンプルコードにあるものを数えました。
https://github.com/cx20/hello#native-languages-for-windows
以下は DirectXのバージョンとサポートしているシェーダの一覧になります。
■ HLSL / DirectXバージョンと各シェーダーステージ(Wikipedia より抜粋)
https://ja.wikipedia.org/wiki/High_Level_Shading_Language
DirectX Version | Pixel Shader | Vertex Shader | Geometry Shader | Hull Shader | Domain Shader | Compute Shader |
---|---|---|---|---|---|---|
9.0c | 3.0 | 3.0 | - | - | - | - |
10.0 | 4.0 | 4.0 | 4.0 | - | - | 4.0 |
11.3 | 5.1 | 5.1 | 5.1 | 5.1 | 5.1 | 5.1 |
12 | 6.0 | 6.0 | 6.0 | 6.0 | 6.0 | 6.0 |
DirectXのバージョンが上がるにつれて使えるシェーダの種類も増え、よりローレベルな GPU 制御が可能になります。GPU を最大限に生かすプログラミングがしたいということであれば、DirectX12 を使うことになると思います。
オープンソースのフレームワークを利用してゲーム作成しながらフレームワークを追うのも良いのかな
良いと思います。何もないところから一から作るのは難しいですからね。
何ができるのか、できないのか、自分ならこうしたいのに、と思うようになれば、新しいゲームエンジンのアイデアになるのでは、と思います。
#2
総合スコア5088
投稿2023/03/02 03:56
DirectX9-11-12のどれが良いのか
9はないです。魔導書が出ている最新がいいかな?
書籍やサイト
ゲームエンジンを「作る」なら 3D から始めるより、とりあえず Transform と GameObject を作ってまずは 2D からでも始めた方がいいんじゃないかと思います。というわけでおすすめ書籍はこちらです。
オープンソースのフレームワークを利用してゲーム作成しながらフレームワークを追うのも良いのかなと考えていたのですが、それはどうなのか、また良ければおすすめ教えて貰えると助かります。
いいと思います。OpenSiv3D を使ってゲームエンジンを作るというのがいろんな意味でいいと思います。
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
#3
総合スコア4566
投稿2023/02/24 20:27
自分自身はゲーム開発用のフレームワークやエンジンの開発はしたことがないのでご参考まで。
DirectX9-11-12のどれが良いのか
難易度で言ったら学習のしやすさは DirectX9 ですが、20年以上前の API でだいぶ古いので、
今やるなら DirectX11 か DirectX12 でしょう。
個人的には DirectX11 を理解してから DirectX12 に進めるのが良いのでは、と思います。
DirectX12 をお勧めしたいところですが、覚えることが多く、初学者にはだいぶ難しいと思います。
以下は簡単にですが DirectX9/11/12 を比較した表になります。
比較項目 | DirectX9 | DirectX11 | DirectX12 |
---|---|---|---|
難易度 | 初級 | 中級 | 上級 |
登場時期 | 2002年 | 2008年 | 2015年 |
主な対応OS | Windows XP以降 | Windows 7以降 | Windows 10以降 |
三角形の描画に必要な行数 | 約160行 | 約320行 | 約450行 |
※ 三角形の描画に必要な行数については下記のサンプルコードにあるものを数えました。
https://github.com/cx20/hello#native-languages-for-windows
以下は DirectXのバージョンとサポートしているシェーダの一覧になります。
■ HLSL / DirectXバージョンと各シェーダーステージ(Wikipedia より抜粋)
https://ja.wikipedia.org/wiki/High_Level_Shading_Language
DirectX Version | Pixel Shader | Vertex Shader | Geometry Shader | Hull Shader | Domain Shader | Compute Shader |
---|---|---|---|---|---|---|
9.0c | 3.0 | 3.0 | - | - | - | - |
10.0 | 4.0 | 4.0 | 4.0 | - | - | 4.0 |
11.3 | 5.1 | 5.1 | 5.1 | 5.1 | 5.1 | 5.1 |
12 | 6.0 | 6.0 | 6.0 | 6.0 | 6.0 | 6.0 |
DirectXのバージョンが上がるにつれて使えるシェーダの種類も増え、よりローレベルな GPU 制御が可能になります。GPU を最大限に生かすプログラミングがしたいということであれば、DirectX12 を使うことになると思います。
オープンソースのフレームワークを利用してゲーム作成しながらフレームワークを追うのも良いのかな
良いと思います。何もないところから一から作るのは難しいですからね。
何ができるのか、できないのか、自分ならこうしたいのに、と思うようになれば、新しいゲームエンジンのアイデアになるのでは、と思います。
返信遅れてしまい大変申し訳ございません。
ありがとうございます。
表も用意していただいて非常に助かります。
cx20さんはゲームエンジン自体の経験はないとの事ですが、directx自体には触れたことがあるのでしょうか?
回答いただいた内容的にあるかとおもうのですが、11,12に触れていた場合所感をお聞きしたいです。
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
#4
総合スコア5088
投稿2023/03/02 03:56
DirectX9-11-12のどれが良いのか
9はないです。魔導書が出ている最新がいいかな?
書籍やサイト
ゲームエンジンを「作る」なら 3D から始めるより、とりあえず Transform と GameObject を作ってまずは 2D からでも始めた方がいいんじゃないかと思います。というわけでおすすめ書籍はこちらです。
オープンソースのフレームワークを利用してゲーム作成しながらフレームワークを追うのも良いのかなと考えていたのですが、それはどうなのか、また良ければおすすめ教えて貰えると助かります。
いいと思います。OpenSiv3D を使ってゲームエンジンを作るというのがいろんな意味でいいと思います。
返信遅れてしまい大変申し訳ございません。
ありがとうございます。
ゲームエンジンに対する目的に対して導入箇所提案して頂いて非常に助かります。参考にさせていただきます。
提示していただいた書籍は所持しているのですがあまり
深く読み進められていないため今1度見たいと思います。
opensiv3dをおすすめする理由等ありますでしょうか?
また12をおすすめされてるかと思うのですが、ご経験があればなのですが11と12の所感と初学者でも12を今進めた方が良いという理由があれば教えて頂けると助かります。
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
#5
総合スコア4566
投稿2023/03/23 03:22
directx自体には触れたことがあるのでしょうか?
書籍やサンプルコードをコンパイルして実行したくらいです。本格的な開発等はしたことはありません。
11,12に触れていた場合所感
DirectX12はDirectX11を熟知した人が、もっと効率よくメモリを扱いたい、高度なことがしたいといった、ハードウェアより(ドライバより)のプログラミングがしたい人向けのライブラリかな、と思います。初学者向けではないと思います。
悩むのであれば、DirectX12を試してみたら良いと思います。そして、難しそうに感じたらDirectX11に戻れば良いと思います。
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
#6
総合スコア5088
投稿2023/03/23 08:20
opensiv3dをおすすめする理由等ありますでしょうか?
dxlib に比べて使いやすいから。開発が現在進行形で進められているから。開発者から使い方を直接教えてもらえるから。その気があれば開発に参加することもできるから。
また12をおすすめされてるかと思うのですが、ご経験があればなのですが11と12の所感と初学者でも12を今進めた方が良いという理由があれば教えて頂けると助かります。
本が出てるから。挫折ポイントが同じだから、どっちでやってもダメな人はダメだしできる人はできるから。
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
#7
総合スコア4566
投稿2023/03/23 03:22
directx自体には触れたことがあるのでしょうか?
書籍やサンプルコードをコンパイルして実行したくらいです。本格的な開発等はしたことはありません。
11,12に触れていた場合所感
DirectX12はDirectX11を熟知した人が、もっと効率よくメモリを扱いたい、高度なことがしたいといった、ハードウェアより(ドライバより)のプログラミングがしたい人向けのライブラリかな、と思います。初学者向けではないと思います。
悩むのであれば、DirectX12を試してみたら良いと思います。そして、難しそうに感じたらDirectX11に戻れば良いと思います。
悩むのであれば、DirectX12を試してみたら良いと思います。そして、難しそうに感じたらDirectX11に戻れば良いと思います。
ありがとうございますこちらの方向で進行したいと思います!
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
#8
総合スコア5088
投稿2023/03/23 08:20
opensiv3dをおすすめする理由等ありますでしょうか?
dxlib に比べて使いやすいから。開発が現在進行形で進められているから。開発者から使い方を直接教えてもらえるから。その気があれば開発に参加することもできるから。
また12をおすすめされてるかと思うのですが、ご経験があればなのですが11と12の所感と初学者でも12を今進めた方が良いという理由があれば教えて頂けると助かります。
本が出てるから。挫折ポイントが同じだから、どっちでやってもダメな人はダメだしできる人はできるから。
ありがとうございます!非常に参考になります!
【書籍:アーキテクチャ】
【書籍:魔導書】
【opensiv3dを用いたゲーム制作】
【その他】
これらのものが現状挙げられましたが
bboydaisukeさんであれば取り組む順番の目安をお聞きしても良いでしょうか?
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
#9
総合スコア5088
投稿2023/03/23 14:35
私はグラフィックスプログラミングに興味がなく、ゲームプログラミングに興味があるので DirectX はやりません。仕事で触っていた程度です。
OpenSiv3D も別にこれでゲームが一通り作れる程度以上は自分ではやりません。別に OpenSiv3D だけがゲームプログラミングではないので。
私は自分の目的に応じて使うものを選んでいるだけで、あなたと私は目的が違います。あなたはあなた自身の目的を元にあなたの行動を決めたらいいと思います。
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
#10
総合スコア5088
投稿2023/03/23 14:35
私はグラフィックスプログラミングに興味がなく、ゲームプログラミングに興味があるので DirectX はやりません。仕事で触っていた程度です。
OpenSiv3D も別にこれでゲームが一通り作れる程度以上は自分ではやりません。別に OpenSiv3D だけがゲームプログラミングではないので。
私は自分の目的に応じて使うものを選んでいるだけで、あなたと私は目的が違います。あなたはあなた自身の目的を元にあなたの行動を決めたらいいと思います。
ありがとうございます。
もしゲームエンジンを作成するということを目的とした時にどのよう順序で踏んでいくかお聞きしたく質問してしまいました。
ご意見ご最もかと思います。
自分自身でその辺精査して取り組んでいこうかと思います。ありがとうございました。
下記のような回答は推奨されていません。
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
このような回答には修正を依頼しましょう。
関連した質問
Q&A
解決済
配列内の最大値の合計を求めたい
回答1
クリップ0
更新
2023/05/25
意見交換
受付中
Python経験2年からゲームプログラマーになるためには
回答17
クリップ2
更新
2023/05/30
Q&A
解決済
シングルトンなGameManager実装時のボタンクリックによるシーン遷移
回答1
クリップ0
更新
2023/05/27
意見交換
クローズ
ASP.NETのWebサイト後継を構築するにあたり、フレームワークの採用を検討中です。
回答10
クリップ0
更新
2023/05/22
Q&A
解決済
java じゃんけんゲーム whileループ
回答2
クリップ0
更新
2023/05/05
Q&A
受付中
ゲームプログラミングについて
回答5
クリップ1
更新
2023/03/23
Q&A
解決済
UnityでGameビューでドット絵がぼやけてしまう
回答3
クリップ0
更新
2023/05/21
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。