X



【C++】 DirectX初心者質問スレ Part40 【C】©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net垢版2016/09/25(日) 14:43:57.34ID:3wiQalb8
回答する人も、質問する人も必ず読んでください

これらに当てはまる人のための質問スレです。
1.C/C++は多少理解している。
2.最近DirectXを始めたばかり
3.SDKを見ても、Googleで検索しても、いまいち理解できない人
4.余計な雑談は不要ですよ

【 回答してくださる方 】
・ できるだけ優しく質問に答えてあげてください。
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。
・ 神ですら理解不能な質問は無視して下さい。

【 質問する方 】
・ どんな事で躓いているのか明確にしよう。
・ 長くならないなら躓いている部分のコードを晒してみれ。
・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。
・ 回答して貰ったら、出来るだけお礼もしよう。


【C++】 DirectX初心者質問スレ Part39 【C】
http://echo.2ch.net/test/read.cgi/tech/1418438785/

>>2リンク
0002デフォルトの名無しさん垢版2016/09/25(日) 14:51:24.96ID:3wiQalb8
現在の最新バージョンはDirectX 12.0 / 11.3 です。
https://www.microsoft.com/ja-jp/directx/
https://support.microsoft.com/ja-jp/kb/179113
http://blogs.msdn.com/b/directx/
https://msdn.microsoft.com/en-us/library/windows/desktop/mt748631

DirectXTK12
https://github.com/Microsoft/DirectXTK12

Games for Windows and the DirectX SDK
http://blogs.msdn.com/b/chuckw/

DirectX Tool Kit
https://directxtk.codeplex.com/

DirectXTex texture processing library
https://directxtex.codeplex.com/

C#でDirectX又はXNA系の情報を探してる人は
MonoGame
http://www.monogame.net/

SharpDX
http://sharpdx.org/
0004デフォルトの名無しさん垢版2016/09/25(日) 14:59:58.81ID:7+CetTuo
>>1
0007デフォルトの名無しさん垢版2016/09/26(月) 12:54:30.47ID:ncmd3AI8
DirectX11から個人利用は難しくなってきた。
それでもある程度抽象化されていたので、何とか個人で自作する人もいた。
と言っても投入した時間に比してたいしたものは作れなくなったが。

DirectX12は完全に企業向け。
これからは個人でゲーム作るならUnityとか使わないと無理なのかもね。
0009デフォルトの名無しさん垢版2016/09/26(月) 14:38:01.73ID:mjduSFEU
11は9の頃よりできることが増えたからゲーム技術が好きな人にとっては楽しいと思う
ただ気軽に作りたい人には向かなそう
0011デフォルトの名無しさん垢版2016/09/26(月) 17:04:11.55ID:olxuvFZW
この流れからすると…
DirectX\(^o^)/オワタ
であってる?
0013デフォルトの名無しさん垢版2016/09/26(月) 19:41:39.70ID:qJzZTLom
そもそもスキンメッシュモデルが同人でも当たり前になってきたあたりで
個人じゃ辛いよなぁ
会社のライブラリ無断で使ってるの多かったし
0014デフォルトの名無しさん垢版2016/09/26(月) 21:16:09.82ID:vQ2PFVGV
PSOのセットで
コマンドリストのReset時にセットする場合と
SetPipelineStateでセットする場合での違いって何?
0015デフォルトの名無しさん垢版2016/09/26(月) 21:21:15.17ID:8GvnuqgM
サガの新作はunityで作ったせいでボロボロだからな
DirectXを使いこなせる奴だけが生き残る
0017デフォルトの名無しさん垢版2016/09/27(火) 00:24:16.78ID:VQvFs0ab
>>15
Unityでもまともなゲームはあるだろw
0019デフォルトの名無しさん垢版2016/09/27(火) 22:01:30.02ID:R+SxLGGv
プログラミングと言えばDirectX
0022デフォルトの名無しさん垢版2016/09/28(水) 23:47:39.23ID:rkPe6ah2
しかし、DirectX11は2010年6月に更新が終わっているからなあ
いつまで使えるのだろうか
0024デフォルトの名無しさん垢版2016/09/29(木) 00:03:37.33ID:qsnb616s
11でも十分なのは分かってるんだが
12を使わなきゃいけないという強迫観念が・・
0027デフォルトの名無しさん垢版2016/09/29(木) 00:37:42.15ID:UeQtYveZ
>>22
12じゃなくても止まってるどころか更新され続けとるよ?

D3D11.4、DXGI1.5、D2D/DWrite1.3
https://msdn.microsoft.com/en-us/library/windows/desktop/mt661819.aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/mt661818.aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/hh802478.aspx
https://msdn.microsoft.com/en-us/library/windows/desktop/hh802480.aspx

高速3DCG用APIというよりデスクトップマネージャの基盤としての進歩が主だけど
11を終わったAPIと見るより12がまだまだ特殊な扱いと見るべきかしらね
0029デフォルトの名無しさん垢版2016/09/29(木) 10:52:03.79ID:UeQtYveZ
>>28
更新されてるからバージョンも進んでるのよ
古いDXSDKはXファイルパーサとWin7でも動くXAudio2のためだけに未だにインストールしてるけど
あんまり新しめのWinには入れたくねえんだよなあ
0035デフォルトの名無しさん垢版2016/09/29(木) 14:42:52.19ID:cLuiRcOJ
>>34
初心者スレで何言ってるんだ?
工学社のDirectX11本の改訂版(2015年5月発行)でもSDKが統合されたことは書いていない。
この本は1年ほど前に出版されたばかりなのに Visual Studio 2010 + DirectX11 SDK (June 2010) が推奨環境になっている。
つまり、この本を読んでも統合されたことに気がつくのは不可能で初心者が気がつくのは不可能。
しかも>>33で書かれているようにVS2012以降でもWin7だとDirectX11 SDK (June 2010) が今でも必要でWin7を使っている初心者からするとこれが最新にしか見えない。
0036デフォルトの名無しさん垢版2016/09/29(木) 16:18:47.93ID:9Ve+aqKI
Win8のSDKで統合されたんだよ。そのタイミングでサンプルは分離されて探しにくくなったし、DX8のファイルも消滅。
プログラミングをちゃんとやってきた人間なら、移行の洗礼を受けているはずなんだが。
0038デフォルトの名無しさん垢版2016/09/29(木) 16:58:11.87ID:KSi1Chn0
日本語の本に最新のことが書いてあるなんて本気で信じてるなら
適性ないから諦めた方がいいよ
0039デフォルトの名無しさん垢版2016/09/29(木) 17:25:27.15ID:/KUvSy1q
>>36
>プログラミングをちゃんとやってきた人間なら、移行の洗礼を受けているはずなんだが。

クソわろた。
ここまでこのスレッドの主旨を理解していないのに上から目線。
プログラミング言語以前に日本語が分かっていないw

>>38
>日本語の本に最新のことが書いてあるなんて本気で信じてるなら
>適性ないから諦めた方がいいよ

誰も「日本語の本に最新のことが書いてある」なんて書いていない。
初期段階で日本語の本や資料などを読む必要はあるし、その時点で最新事情に気がつくのは無理だってことを>>35は言っているだけだろ。
勉強が進んでくると英語の情報も見るようになるし、その時に気がつくのは別に悪いことではない。
0041デフォルトの名無しさん垢版2016/09/29(木) 20:02:14.76ID:AOa9Z/Td
今はVS2013だけど、以前、VS2012、Win7、DirectXSDKなしでDirectX11プログラミングできてたぞ。
0043デフォルトの名無しさん垢版2016/09/29(木) 20:33:44.03ID:AOa9Z/Td
いや、PC新調してゼロから環境構築し直したときから、DirectXSDKなしで開発できることは知ってたから、断じてインストールしてない。
作ったプロジェクトを他人のPCでも、VSをインストールするだけで使えるようにしてたから、
うっかりDirectXSDKをインストールして、それに依存してしまわないよう注意していたし、
その甲斐あって、狙い通り他PCへのプロジェクトの導入がシンプルに行えた。
0044片山博文MZ ◆T6xkBnTXz7B0 垢版2016/09/29(木) 20:56:56.72ID:4ynE22uh
>>43
見事なり。我がオープン帝国のために、そのライブラリをGitHub辺りで公開してくれるか?
004543垢版2016/09/29(木) 21:13:41.64ID:tQCLDEUQ
>>44
そんな大層なもんじゃないスよw
GitHubとか使ったことない素人プログラマですしw
0047デフォルトの名無しさん垢版2016/09/29(木) 23:50:10.24ID:UeQtYveZ
なんぞえらく勘違いしてるの居るけどレガシーな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/
0048デフォルトの名無しさん垢版2016/09/30(金) 00:49:31.69ID:qM1Qpjsy
>>47
Windows7はDirectX11 SDK (June 2010)を入れる必要があるのでは?
入れなかったらDirectX11 SDKはどこかにあるの?
0051デフォルトの名無しさん垢版2016/09/30(金) 01:40:34.07ID:duM1A6Cl
めんどくせー
DirectX初心者ならともかくプログラミング初心者まで相手にする気にゃならんぞ

>>48,50
統合されたのは"Windows SDK"の8.0から、これはVisual Studio 2012以降に同梱
その中にDirectX用のヘッダやlibファイルがあるの
これらを使って"Winows Vista/7上で動作するアプリ"を作ることは可能

ただし以前のDirectX SDKとは互換性の無い部分が含まれるため
注意しないと"Windows 8.x/10以降でしか動作しないアプリ"が出来上がる
0052デフォルトの名無しさん垢版2016/09/30(金) 09:13:09.77ID:o7S4Frmp
>>51
>>48,50はWindows7上で開発するときの話。
お前は「Windows8上で開発しても7でも動作するアプリが作れる」って話。
DirectXに詳しくてもアスペルガーのようだな。日本語が理解できていない。
お前のような人間は危険なのでタヒぬべき。
0053デフォルトの名無しさん垢版2016/09/30(金) 10:22:13.44ID:o7S4Frmp
>>51
>めんどくせー
>DirectX初心者ならともかくプログラミング初心者まで相手にする気にゃならんぞ

お前にはプログラミング=Windowsなのか?
Linuxは?Macは?組み込みは?
日本だとWindowsのアプリ組んだことのないプログラマーが多い。
日本は組込みプログラマーが多いからな。

こういうところからしてアスペルガーなんだよなあ。
どうせロリコンの同人誌とか好きなんだろ?
DirectXに詳しい奴はキモオタが多いからな。
0054デフォルトの名無しさん垢版2016/09/30(金) 10:40:21.05ID:duM1A6Cl
>>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の世代としてのバージョンの区別ができていないと思うんだわ
0055デフォルトの名無しさん垢版2016/09/30(金) 11:07:42.19ID:o7S4Frmp
>>54
わからん奴だなあ
お前の技術知識は正しいけど受け答えがおかしいって指摘しているんだよ
それが分からないのか?
マジでアスペルガーだな
0056デフォルトの名無しさん垢版2016/09/30(金) 13:02:08.28ID:4mQfWuIk
どっちが過多耶麻でどっちが屋根裏?
0057デフォルトの名無しさん垢版2016/09/30(金) 14:04:38.95ID:14L3L0Kg
俺からしたらID:o7S4Frmpがアスペルだと思うが
2chで正しい受け答えもくそも無い
一対多人数で見ず知らずの人たちが、各々のバックグラウンドもわからない状態で
やみくもに書き込んでいるのに
まともな会話が成り立つと思っているほうがアホ
とくに技術系の掲示板では正しい情報にしか意味ない
間違った書き込みがあれば、正されたほうが良い
正しい情報こそ重宝されるべき
0059デフォルトの名無しさん垢版2016/09/30(金) 14:43:43.96ID:14L3L0Kg
それは極論というもので
正しい情報こそ重宝されるべきという話
ここは初心者用のスレであり、プログラミング経験者であっても
DirectX自体は初めての人もいるから
間違った書き込みは仕方ない、知らなくても仕方ない
確かにそれはそうかもしれないが
だからと言って間違った書き込みに対して
間違ってるからっつって、正しい情報を書き込む行為を
「空気読めない」とかそういう方向に持っていくのはおかしい
そんなことをしていたら、このスレは一体何になるんだって話
間違った情報を正せないのであれば、それこそ会話にならない
誤った前提の上でいくら会話を重ねても全くの不毛
そういうことがしたいならVIPに行けばよいわけで
0060デフォルトの名無しさん垢版2016/09/30(金) 16:06:44.11ID:JB0HBTsx
>>59
>>52に書いたように相手が望むものと回答が異なっていたら意味がない。
>>53に書いたようにプログラミング=Windowsと思っているのが最大の間違いなのに人の話を聞かない。

結局はオナニーしたいだけなんだよ君は
0061デフォルトの名無しさん垢版2016/09/30(金) 17:01:15.65ID:8cA8SzFR
ここまで観客そっちのけになってくると
どっちもどっちだし自演にすら見えてくる
0062デフォルトの名無しさん垢版2016/09/30(金) 21:12:32.39ID:j5KoLKsS
俺もID:o7S4Frmpがおかしいと思うに1票

>>52
>お前は「Windows8上で開発しても7でも動作するアプリが作れる」って話。
vs2012入れればって話だったのに勝手にWindows8上って誤解してるし。

KB2670838の余談も含めて>>54さんの話は正しいと思うよ。
当時たしかKB2670838は半年遅れくらいでwindows7にやってきたんだっけ。
0064デフォルトの名無しさん垢版2016/09/30(金) 22:47:59.93ID:RpNVz6oK
で、今からDirectXのプログラミングをスタートするには
どのサイトを見ながら何をセットアップして、どうすればハローワールド的なもんが書けるんだ?

DirectX7の頃はもっと手厚い何かがあった気がするんだが、ひさびさに出戻ったら何も情報がない
0066デフォルトの名無しさん垢版2016/09/30(金) 23:32:45.96ID:duM1A6Cl
>>64
Win10でやってるならストアアプリから始めるのがよろし
VS2015 Community突っ込むだけで始められるよ
ストアアプリという時点で言いたいことはあるかもしらんが
シンプルな導入と公式のチュートリアルが欲しいという点ではそう邪険にしたもんでもない
https://msdn.microsoft.com/windows/uwp/gaming/index
0068デフォルトの名無しさん垢版2016/10/01(土) 00:25:35.36ID:fkQxdtYM
>>64
DirectX11になってから英語ができるプロ以外お断りになったんですよ。
だから初心者向けの誘導が基本的にはないみたいです。
0071デフォルトの名無しさん垢版2016/10/01(土) 14:26:36.87ID:oaKP8GxL
まあ導入のことも含めて考えてるとやっぱ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ライブラリの現状
0076デフォルトの名無しさん垢版2016/10/02(日) 21:15:47.84ID:V0w+PP1Z
ここの住人はどっかに自作アプリ公開したりしてないのかい?
0077デフォルトの名無しさん垢版2016/10/02(日) 22:05:57.13ID:P0YTaUjj
普通にしてるよ
詳しくはいえないけど
0079デフォルトの名無しさん垢版2016/10/02(日) 22:13:21.27ID:V0w+PP1Z
ここそんなにやばいのが集まってるのか・・
0082デフォルトの名無しさん垢版2016/10/03(月) 00:20:31.94ID:0a17M3iq
関係ないけど最近、強迫性障害だという事が発覚した。
でもその欠点の分DirectXの能力を与えられたのだと思って日々生きてる
0085デフォルトの名無しさん垢版2016/10/03(月) 20:24:14.27ID:0a17M3iq
directx12とwin32apiってどっちむずかしいの?
0093デフォルトの名無しさん垢版2016/10/07(金) 02:12:39.15ID:/9fhJHd1
DirectX11でswapChain->Present(0, 0)とした場合はGPUの処理を待たずにCPUに返し、Present(1, 0)とした場合はGPUの処理を待って処理が終わったあと次の画面更新のタイミングでCPUに返すという認識であっていますか?
0094デフォルトの名無しさん垢版2016/10/07(金) 21:44:38.13ID:rpvo0aMN
11は知らないから、誰か答えて上げて!
0095デフォルトの名無しさん垢版2016/10/08(土) 07:40:57.85ID:mnGQZpMI
測ったことはないから確信は無いけど、第1引数は垂直同期を待つかどうか、としかMSDNには書いてない
0096デフォルトの名無しさん垢版2016/10/08(土) 17:17:48.29ID:YhC4QJ81
ttp://www.rastertek.com/dx11tut04.html
このサイトに
dataPtr = (MatrixBufferType*)mappedResource.pData;
という記述があったのですが、どういう意味でしょうか?
0097デフォルトの名無しさん垢版2016/10/08(土) 17:35:13.92ID:MaVprUci
>>96
dataPtr(型MatrixBufferType*)にpDataのアドレスを型MatrixBufferType*にキャスト
して渡してるのかなたぶん・・
0098デフォルトの名無しさん垢版2016/10/08(土) 17:50:50.85ID:YhC4QJ81
>>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のサイトのやり方だとどのようにマトリクスをセットしているのでしょうか?
0100デフォルトの名無しさん垢版2016/10/08(土) 18:02:00.51ID:MaVprUci
小生もよくわかってないけど
やってることは同じじゃないかな。
pDataってvoid型だからキャストしないといかんってことで・・
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況