【C++】 DirectX初心者質問スレ Part40 【C】©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
回答する人も、質問する人も必ず読んでください
これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ
【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。
【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。
前
【C++】 DirectX初心者質問スレ Part39 【C】
http://echo.2ch.net/test/read.cgi/tech/1418438785/
>>2リンク DirectX12はWin10限定にしたのが痛い。
Win7以降にしてほしかった。 >>5
MSはWindows10の普及に必死だからなあ DirectX11から個人利用は難しくなってきた。
それでもある程度抽象化されていたので、何とか個人で自作する人もいた。
と言っても投入した時間に比してたいしたものは作れなくなったが。
DirectX12は完全に企業向け。
これからは個人でゲーム作るならUnityとか使わないと無理なのかもね。 11は9の頃よりできることが増えたからゲーム技術が好きな人にとっては楽しいと思う
ただ気軽に作りたい人には向かなそう 速くならないって言ってるひとは
パイプラインの使い方間違ってるのかな この流れからすると…
DirectX\(^o^)/オワタ
であってる? >>11
そだな。
Unityの台頭の伴ってオワてきた。 そもそもスキンメッシュモデルが同人でも当たり前になってきたあたりで
個人じゃ辛いよなぁ
会社のライブラリ無断で使ってるの多かったし PSOのセットで
コマンドリストのReset時にセットする場合と
SetPipelineStateでセットする場合での違いって何? サガの新作はunityで作ったせいでボロボロだからな
DirectXを使いこなせる奴だけが生き残る >>15
unityを使った「から」じゃないことだけはよくわかるな >>15
Unityでもまともなゲームはあるだろw VitaとUnityの組み合わせがヤバイだけだよな しかし、DirectX11は2010年6月に更新が終わっているからなあ
いつまで使えるのだろうか DirectX12と同時にDirectX11.2か.3出てなかったっけ 11でも十分なのは分かってるんだが
12を使わなきゃいけないという強迫観念が・・ 最近のDirectXにはVB.NETのサンプルがないのはどうしてなんだぜ? 11.3が出てるよ。
今後も12と11は併存するとのこと。 >>28
更新されてるからバージョンも進んでるのよ
古いDXSDKはXファイルパーサとWin7でも動くXAudio2のためだけに未だにインストールしてるけど
あんまり新しめのWinには入れたくねえんだよなあ >>29
検索しても2010年6月以降のDirectX11が出てこないのだが? >>30
検索すればWindows SDKに統合されたと出てくるね >>31
なるほどそれで単品SDKの新しいものが出てこないのか。 >>29
でもWindows7だとVisual Studio 12以降でもDirectX11 June 10 のSDKが必要みたいね
ややこしい 統合されたのも知らないとかプログラミングやってねーだろw >>34
初心者スレで何言ってるんだ?
工学社のDirectX11本の改訂版(2015年5月発行)でもSDKが統合されたことは書いていない。
この本は1年ほど前に出版されたばかりなのに Visual Studio 2010 + DirectX11 SDK (June 2010) が推奨環境になっている。
つまり、この本を読んでも統合されたことに気がつくのは不可能で初心者が気がつくのは不可能。
しかも>>33で書かれているようにVS2012以降でもWin7だとDirectX11 SDK (June 2010) が今でも必要でWin7を使っている初心者からするとこれが最新にしか見えない。 Win8のSDKで統合されたんだよ。そのタイミングでサンプルは分離されて探しにくくなったし、DX8のファイルも消滅。
プログラミングをちゃんとやってきた人間なら、移行の洗礼を受けているはずなんだが。 >>36
だから初心者スレなんですけど?
>>1読め 日本語の本に最新のことが書いてあるなんて本気で信じてるなら
適性ないから諦めた方がいいよ >>36
>プログラミングをちゃんとやってきた人間なら、移行の洗礼を受けているはずなんだが。
クソわろた。
ここまでこのスレッドの主旨を理解していないのに上から目線。
プログラミング言語以前に日本語が分かっていないw
>>38
>日本語の本に最新のことが書いてあるなんて本気で信じてるなら
>適性ないから諦めた方がいいよ
誰も「日本語の本に最新のことが書いてある」なんて書いていない。
初期段階で日本語の本や資料などを読む必要はあるし、その時点で最新事情に気がつくのは無理だってことを>>35は言っているだけだろ。
勉強が進んでくると英語の情報も見るようになるし、その時に気がつくのは別に悪いことではない。 ん〜
>>36,>>38は、物事の趣旨を理解する能力なさそうだから、プログラミング以前に仕事もできないだろ
>>37が正解! 今はVS2013だけど、以前、VS2012、Win7、DirectXSDKなしでDirectX11プログラミングできてたぞ。 >>41
それって単体のDirectX SDK を入れたことを忘れていたのでは? いや、PC新調してゼロから環境構築し直したときから、DirectXSDKなしで開発できることは知ってたから、断じてインストールしてない。
作ったプロジェクトを他人のPCでも、VSをインストールするだけで使えるようにしてたから、
うっかりDirectXSDKをインストールして、それに依存してしまわないよう注意していたし、
その甲斐あって、狙い通り他PCへのプロジェクトの導入がシンプルに行えた。 >>43
見事なり。我がオープン帝国のために、そのライブラリをGitHub辺りで公開してくれるか? >>44
そんな大層なもんじゃないスよw
GitHubとか使ったことない素人プログラマですしw >>43
一般的にはWindows SDK とDX11が統合されたのはWindows8からということになっているのだが? なんぞえらく勘違いしてるの居るけどレガシーなDXSDKを入れなくても
Win7やVistaで動作させるアプリ開発は基本的に可能だぞ?
v1x0_xpでのXP向けビルドすらVS同梱のWindows SDKのみで可能だ
(実際にはD3D9アプリにおいてD3DX9にすら依存できなくなるのであまり現実的なシチュじゃなくなるけど)
D3D11あたりになるとD3DXへの依存度も低いしDirectSoundやDirectInputをシンプルに使ってる分にも問題無い
大体悪いのはXInputとXAudio2でコイツ等の立ち位置の変遷がウンコ過ぎる
https://blogs.msdn.microsoft.com/chuckw/2012/04/02/xaudio2-and-windows-8/
https://blogs.msdn.microsoft.com/chuckw/2012/04/25/xinput-and-windows-8/ >>47
Windows7はDirectX11 SDK (June 2010)を入れる必要があるのでは?
入れなかったらDirectX11 SDKはどこかにあるの? DirectX SDKがWindows SDKに統合されたのを知らない馬鹿がいると聞いて >>49
7→統合されていない
8→統合されている
じゃないの? めんどくせー
DirectX初心者ならともかくプログラミング初心者まで相手にする気にゃならんぞ
>>48,50
統合されたのは"Windows SDK"の8.0から、これはVisual Studio 2012以降に同梱
その中にDirectX用のヘッダやlibファイルがあるの
これらを使って"Winows Vista/7上で動作するアプリ"を作ることは可能
ただし以前のDirectX SDKとは互換性の無い部分が含まれるため
注意しないと"Windows 8.x/10以降でしか動作しないアプリ"が出来上がる >>51
>>48,50はWindows7上で開発するときの話。
お前は「Windows8上で開発しても7でも動作するアプリが作れる」って話。
DirectXに詳しくてもアスペルガーのようだな。日本語が理解できていない。
お前のような人間は危険なのでタヒぬべき。 >>51
>めんどくせー
>DirectX初心者ならともかくプログラミング初心者まで相手にする気にゃならんぞ
お前にはプログラミング=Windowsなのか?
Linuxは?Macは?組み込みは?
日本だとWindowsのアプリ組んだことのないプログラマーが多い。
日本は組込みプログラマーが多いからな。
こういうところからしてアスペルガーなんだよなあ。
どうせロリコンの同人誌とか好きなんだろ?
DirectXに詳しい奴はキモオタが多いからな。 >>52-53
丁度良いアホの横やりが入ったので補足すると
他の人(>>41)も書いてるけど、まず「Win7を開発環境としてDirectXアプリをビルドするにはDXSDKが必須」からして間違ってんのよ
例えばWin7にVS2012入れればWindows SDK 8.0も入りそこにDirectXのヘッダとインポートライブラリが含まれる
DirectXの一部のコンポーネントの特定のバージョンに依存する場合は
開発環境のOSがWin7だろうがWin10だろうがまったく同じ理由でDXSDKが必要になる
(*余談だけどWin7を開発環境とする場合KB2670838がらみでPIXの利用に注意点がある)
ID:NFIjkDPs,ID:qM1Qpjsy,ID:a6JLkDGoあたりは(同一人物だと思うけど)文面から察するにたぶん自分で拾ってきた情報の中で
開発環境として、アプリの実行環境として、そしてWindows SDKの世代としてのバージョンの区別ができていないと思うんだわ >>54
わからん奴だなあ
お前の技術知識は正しいけど受け答えがおかしいって指摘しているんだよ
それが分からないのか?
マジでアスペルガーだな 俺からしたらID:o7S4Frmpがアスペルだと思うが
2chで正しい受け答えもくそも無い
一対多人数で見ず知らずの人たちが、各々のバックグラウンドもわからない状態で
やみくもに書き込んでいるのに
まともな会話が成り立つと思っているほうがアホ
とくに技術系の掲示板では正しい情報にしか意味ない
間違った書き込みがあれば、正されたほうが良い
正しい情報こそ重宝されるべき >>57
要は人の話は聞かない。
俺のオナニーだけするんだってことか。 それは極論というもので
正しい情報こそ重宝されるべきという話
ここは初心者用のスレであり、プログラミング経験者であっても
DirectX自体は初めての人もいるから
間違った書き込みは仕方ない、知らなくても仕方ない
確かにそれはそうかもしれないが
だからと言って間違った書き込みに対して
間違ってるからっつって、正しい情報を書き込む行為を
「空気読めない」とかそういう方向に持っていくのはおかしい
そんなことをしていたら、このスレは一体何になるんだって話
間違った情報を正せないのであれば、それこそ会話にならない
誤った前提の上でいくら会話を重ねても全くの不毛
そういうことがしたいならVIPに行けばよいわけで >>59
>>52に書いたように相手が望むものと回答が異なっていたら意味がない。
>>53に書いたようにプログラミング=Windowsと思っているのが最大の間違いなのに人の話を聞かない。
結局はオナニーしたいだけなんだよ君は ここまで観客そっちのけになってくると
どっちもどっちだし自演にすら見えてくる 俺もID:o7S4Frmpがおかしいと思うに1票
>>52
>お前は「Windows8上で開発しても7でも動作するアプリが作れる」って話。
vs2012入れればって話だったのに勝手にWindows8上って誤解してるし。
KB2670838の余談も含めて>>54さんの話は正しいと思うよ。
当時たしかKB2670838は半年遅れくらいでwindows7にやってきたんだっけ。 >>61
だな
>>62=59
お願いだからスレッドの趣旨と違いすぎる話を続けるのはやめてくれ
マジで迷惑 で、今からDirectXのプログラミングをスタートするには
どのサイトを見ながら何をセットアップして、どうすればハローワールド的なもんが書けるんだ?
DirectX7の頃はもっと手厚い何かがあった気がするんだが、ひさびさに出戻ったら何も情報がない ひさびさに出戻ったとあるけどDirectX7の頃にはどういうことまでやったの? >>64
Win10でやってるならストアアプリから始めるのがよろし
VS2015 Community突っ込むだけで始められるよ
ストアアプリという時点で言いたいことはあるかもしらんが
シンプルな導入と公式のチュートリアルが欲しいという点ではそう邪険にしたもんでもない
https://msdn.microsoft.com/windows/uwp/gaming/index >>64
DirectX11になってから英語ができるプロ以外お断りになったんですよ。
だから初心者向けの誘導が基本的にはないみたいです。 公式だとチュートリアル以外ではこの辺かな
https://github.com/Microsoft/DirectXTK/wiki/Getting-Started
テンプレートも用意されてるし初心者でも入りやすい
↑もそうなんだけど確かに英語は必須になったかもしれない
そんな難しい英語ではないけどね >>69
どこに情報があるか分かりにくいんだよなあ
MSがGitHubを使うなんて まあ導入のことも含めて考えてるとやっぱDXSDKはとりあえず入れといた方が良いのかもなあ
忘れられてる感があるけどDXSDKには昔ながらのまとまったチュートリアル&リファレンスやビルド済みサンプルもある
さらにちと古くなるがこれらのドキュメント相当の日本語訳もある(chm版も落とせたはずだがリンク切れてるな…)
https://msdn.microsoft.com/ja-jp/library/cc411364.aspx
https://msdn.microsoft.com/ja-jp/library/dd430306.aspx
実際はDirectX 11までは英語ができる必要もプロである必要もない程度のサポートはあったのよね
XP切りのせいで普及は極めて鈍足だったけど
ところがストアアプリを始めた途端に公式の導線が完全にそっちに向いてしまって
DirectXどころかデスクトップアプリ全体が難解な技術解説とAPIリファレンスのみ人知れず積み上げられ
日本語訳については完全に放置されてるのがMSDNライブラリの現状 >>71
APIについてはGoogleでMSNを検索できるので何とかなるかも DX8扱わないなら、DXSDKは不要だよ。DXライブラリは無いが全て扱える。 全て扱えるとはとても言えないしD3D8なんぞとっくにDXSDKからも削除されとるやん
最後に入ってたのAugust 2007…ってまだダウンロードできるのかコレ
https://www.microsoft.com/en-us/download/details.aspx?id=13287 DirectX SDK (June 2010) でも9/10/11だけだよね。 ここの住人はどっかに自作アプリ公開したりしてないのかい? 関係ないけど最近、強迫性障害だという事が発覚した。
でもその欠点の分DirectXの能力を与えられたのだと思って日々生きてる directx12とwin32apiってどっちむずかしいの? GLにもVulkanっつーしんどいのが出たからなぁ >>85
難しさは変わらん
複雑さならwin32apiかな http://www.dotup.org/uploda/www.dotup.org1024380.jpg
ゲーム中にdirectxのエラーが出てしまったのですが
わかる方はいらっしゃいますでしょうか?
これでOKを押すとソフトが強制終了してしまいます。 >>89
バカすぎるわ
ゲームエラーならメーカーサポートに連絡しろ DirectX11でswapChain->Present(0, 0)とした場合はGPUの処理を待たずにCPUに返し、Present(1, 0)とした場合はGPUの処理を待って処理が終わったあと次の画面更新のタイミングでCPUに返すという認識であっていますか? 測ったことはないから確信は無いけど、第1引数は垂直同期を待つかどうか、としかMSDNには書いてない ttp://www.rastertek.com/dx11tut04.html
このサイトに
dataPtr = (MatrixBufferType*)mappedResource.pData;
という記述があったのですが、どういう意味でしょうか? >>96
dataPtr(型MatrixBufferType*)にpDataのアドレスを型MatrixBufferType*にキャスト
して渡してるのかなたぶん・・ >>97
すみません、質問の仕方が悪かったです
D3D11_MAPPED_SUBRESOURCE mappedResource;
MatrixBufferType dataPtr;
unsigned int bufferNumber;
D3DXMatrixTranspose(&worldMatrix, &worldMatrix);
D3DXMatrixTranspose(&viewMatrix, &viewMatrix);
D3DXMatrixTranspose(&projectionMatrix, &projectionMatrix);
deviceContext->Map(m_matrixBuffer, 0, D3D11_MAP_WRITE_DISCARD, 0, &mappedResource);
dataPtr.world = worldMatrix;
dataPtr.view = viewMatrix;
dataPtr.projection = projectionMatrix;
memcpy(mappedResource.pData, &dataPtr, sizeof(MatrixBufferType));
deviceContext->Unmap(m_matrixBuffer, 0);
なら分かるのですが
>>96のサイトのやり方だとどのようにマトリクスをセットしているのでしょうか? 小生もよくわかってないけど
やってることは同じじゃないかな。
pDataってvoid型だからキャストしないといかんってことで・・ ■ このスレッドは過去ログ倉庫に格納されています