1read 100read
2013年17プログラム74: 【C++】 DirectX初心者質問スレ Part38 【C】 (107)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
【3DS】プチコンを語るスレ【DSi】 (765)
★★ Java の宿題ここで答えます Part 72 ★★ (750)
pythonがこの先生きのこるには (753)
くだすれDelphi(超初心者用)その55 (393)
Visual Studio 2010 Part20 (621)
懐かしきベーマガの面白かった投稿プログラムを語る (785)
【C++】 DirectX初心者質問スレ Part38 【C】
1 :2013/06/01 〜 最終レス :2013/09/23 回答する人も、質問する人も必ず読んでください これらに当てはまる人のための質問スレです。 1.C/C++は多少理解している。 2.最近DirectXを始めたばかり 3.SDKを見ても、Googleで検索しても、いまいち理解できない人 4.余計な雑談は不要ですよ 【 回答してくださる方 】 ・ できるだけ優しく質問に答えてあげてください。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 「ググれ」「SDK見れ」以外の回答でおながいします。 ・ 神ですら理解不能な質問は無視して下さい。 【 質問する方 】 ・ どんな事で躓いているのか明確にしよう。 ・ 長くならないなら躓いている部分のコードを晒してみれ。 ・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。 ・ 回答して貰ったら、出来るだけお礼もしよう。 >>2 リンク
2 : 現在の最新バージョンはDirectX 11.1です。 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/ 【C++】 DirectX初心者質問スレ Part37 【C】 http://toro.2ch.net/test/read.cgi/tech/1338850300/
3 : >>1 乙
4 : windowsプログラミングはテンプレでいいよね
5 : .obj形式のファイルに複数のマテリアルが設定されている場合、どうやって関連づければいいか教えてください。
6 : マテリアルごとにメッシュのグループを形成するだけで、 関連づけとか意味不明。
7 : ノ ゚.ノヽ , /} ... ,,イ`" 、-' `;_' ' ..::::::::::::::... ,-、 _.._ ( (,(~ヽ'~ ..::::::::::::::::::::::: )'~ レー' 〉 ヽ i`'} .::::::::::::::::::::::: ~つ '-ー、 i | i' ...::::::::::::::::::::::: / < / 。/ ! ......::::::::::::::::::::::::: これは>>1 乙じゃなくて / ~^´ /},-'' ,●:::::::::::::::::::::::::::::::::::: i、 ,i' _,,...,-‐-、/ i :::::::: .::::::::::::: ..ゝ <,,-==、 ,,-,/ .::::::::::: 放射能がうんたら ) {~''~>`v-''`ー゙`'~ ..::::::::: ........::. { レ_ノ ..::::::::. ......::::::::: ノ '' ..::::::: ...::.:...::::::::: .::::::::: ...:......:::::::::::: . .:::::::::::. ..... .. ..:::::::::::::::::::::::: :::. ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. :: ::.. .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::: ::. ::::::::::::::::: :::::::::::::::::::::::::::::: ::::: .:: ::. :::
8 : 質問させてください C言語とDXライブラリの組み合わせでプログラミングする際に 必須となるマシンスペックはどのくらいでしょうか? 14歳からはじめるC言語入門 についてくるサンプルが動くマシンと動かないマシンがあるので。
9 : Pen4 1GHz Windows2000 くらいで大丈夫
10 : ありがとうございます。 Pen2 128MB 266Mhz WindowsXP だと動きませんでした Pen3 256Mhz 500Mhz WindowsXP だと動きました
11 : DWORDの宣言を見ると typedef unsigned long DWORD となっているが なぜlongの名前をかえてDWORDにしてるの? longのままじゃ不都合があるの?
12 : ああ、不都合があるよ。32bitから64bitとかに移った時とかな てかそれをここで聞くか?
13 : 算術シフトしたら面倒だし。
14 : 開発中のアプリでフルスクリーンモード的なのを搭載したいのですが、 モニタの縦横比の違いで画面が歪むことが予想されます 最新のエロゲとかですらそんなのばっかりです そこでウィンドウモードでウィンドウの大きさを変えるだけの方が 楽でほぼ同等の効果が得られるのでいいかなと思っているのですが、変なやり方じゃないでしょうか?
15 : 変です
16 : ウィンドウモードのままウィンドウを全(前)面にするって意味? ネトゲあたりはよく搭載してる方式だし別に変じゃないと思うよ ちゅーかアスペクト比が狂うなら、そこ直すんじゃなくて オフスクリーンにシーン全体描いて、バックバッファに転送する時に 自前でボックス挟むようにするのが先だと思うが
17 : 極まれだが、フルスクリーンで縦横比ディスプレイが原因の時がある 多くのゲームでその現象が起こるのなら可能性は跳ね上がるぞ
18 : 途中で書き込んでしまった・・・ フルスクリーンで縦横比がおかしくなる現象はディスプレイが原因になる場合があるって意味だ(´・ω・`)
19 : まあ大昔と違って、GPU自体にアスペクト比を保てるようなスケーリング機能があるはずなんだが ドライバのバージョンやモニタの相性によって有効にならん時も多いからなあ そういう場合はアプリ側に仮想スクリーンの機能があると印象が良いだわね
20 : ごめん 詳しく教えてほしい
21 : C(C++)のルールでlongはint以上としか定義されてない 環境によってlongは16bitだったり64bitだったりする可能性もある。 windowsSDKではDWORDは符号なし32bit固定で使いたいので 環境ごとの符号なし32bitに対応させてtypedefしてる。 コンパイラとかマシンが変わってもコードをなるべく書き換えなくていいようにする仕組みだと思えば良い
22 : DirectX11でのレイピックのしかたが分からんちん ぷりぃずへるぷみぅ
23 : レイピックにDirectXのバージョンは関係ない。
24 : >>21 解りやすいよ 詳しくありがと
25 : >>23 D3DXIntersectに相当するものが見つからなくてさ 自前で判定しなきゃダメかー、諦めて算数勉強しなおしてくる
26 : DirectXMathならDirectX::TriangleTests::Intersectsてのがあるべ メッシュライブラリを何使ってるかによるだろうが 三角形の頂点座標が取得できてるならこれでいけるべ
27 : >>26 うほっ!あったw さんくす愛してる、ちゅっちゅっ
28 : 今度はDirectX11.1縛りだとCModelViewerCameraのGetぼげほげMatrixが使えんとな 11は見通しが悪いわ検索しても引っ掛からんわでお手上げ 目的はリアルの座標をワールド座標に変換する事によって俺が二次元の世界の住人にげふんげふん マウス座標の一番出前でぶち当たった平面を判定するまでに必要になる ワールドプロジェクトビューポート辺りの行列かそれに準ずるモノを取得するメソッド名だけでも知りたい 誰か知ってたらおすえてけんろ;
29 : 書いてから思った 9の頃から最初は初期化とかとか本とか転がってるコードに頼りっぱなしで そもそも設定の仕方とか全然理解してないんだな俺 出直してくる λ......
30 : 少年はかくして大人への階段を一歩のぼった
31 : 解ってきたかも どう射影するかはバーテクスシェーダ次第だからDirectXとかライブラリの類じゃどうしようもないのか くっそめんどくせぇぇええぇぉぇいぅははははだめだこりゃ また行列から勉強し直してくる orz=3
32 : ブログに書いてろゴミ
33 : d3dx11d.lib がinclude出来ないとエラーが出るのですが、どうすればいいのでしょうか? 環境はwindows8の64bitでvisual studio 2012 for windows desktopです。 追加のインクルードディレクトリにはIncludeと\Lib\x86を追加しています。
34 : d3dx11d.libってことはWindows 8 SDK以前のプロジェクトをビルドしようとしてるんだろうけど >Includeと\Lib\x86 これどこのよ。自分でインストールしたDirectX SDK? 書き間違えなだけかもしれんが一応突っ込んでおくと Lib\x86を追加するのはインクルードじゃなくて「ライブラリ」ディレクトリな
35 : >d3dx11d.lib がinclude出来ない
36 : SDKをインストールしたとは一度も言っていない たぶんサンプルのソースか何かで どのバージョンを使ってるかも意識してないんだろうな
37 : >>33 インクルードディレクトリにInclude ライブラリディレクトリにLib\x86を追加するんだ
38 : windows8でvisual studio 2012なんだろ・・・? そんな面倒なことしなくてもdirectXは動くんだぜ
39 : ところがね、Windows 8 SDKだとD3DXが付属してないので 例えばDirectX SDKのサンプルのような2010以前のプロジェクトを %DXSDK_DIR%にパスを通さずビルドしようとすると、この手のエラーが出るのよね
40 : キャラクタ画像を用意してビルボードで表示しているんだけど 画像のα値> 0 に設定している部分は深度バッファに書き込んで 画像のα値= 0 に設定している部分は深度バッファに書き込みたくないんだ どうすればいいかな?
41 : 書き込みたくないときだけ深度バッファをNULLにすればいいだろ
42 : ああ、勘違いしてたわ・・・ステンシルバッファみたいなことしたいって意味か directX9ならここでも見てみたらどうだ? ttp://marupeke296.com/DXG_No18_WhatIsStencilBuffer.html
43 : 後出し情報すみません、DirectX11 です ステンシルバッファを使う方法は確か無理だったはずです ステンシルテスト → 深度テスト → ピクセル描画 の流れだったと思うのですが、ピクセル描画の際にα値が 0 であるならば ステンシル・深度テスト通過時に書き込んだ情報をなかったことにする ということがやりたいことです
44 : アルファトゥカバレッジで代替できんか?
45 : んじゃピクセルシェーダのコードにアルファ値が0ならdiscardするようにすればいいんじゃないか? 確か深度バッファにも出力しなくなるハズだが if(Color.w == 0) discard; こんな感じだ
46 : できました!! ありがとうございます
47 : ん?アルファトゥカバレッジの方で解決したのか?
48 : アルファトゥカバレッジの方でできました!! はずでした・・・ 閾値が 0.5 と思ったより高かったので、思った動作になりませんでした 軽くググってみたのですが、閾値を設定する方法はないみたいですね discard ってステンシルバッファへの書き込みはしないんですね MSDN の説明をみるとてっきり書き込みされるものかと思ってました discard のほうでやりたいことを実装出来ました いろいろな方法を教えていただき、ありがとうございます
49 : #define VERTEX_T_FVF ( D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1 ) の FVF ( の隙間を消すとエラーになるんだけどなんで?
50 : マクロだから
51 : >>49 DirectXに関係ない文法の話を書くなクズ
52 : >>49 初心者とかそういうのをぬきにして向いてないというほかない
53 : directx11.2対応のビデオカードってgeforce8xx/radeonHD9xxxからかな? win8.1と新Xbox専用というからにはJaguarのiGPUは対応するはず。 intelのiGPUはbroadwellで対応するのだろうか。
54 : Haswellって一応仕様は11.1になってるんだな 持ってないから実際には調べられないけど
55 : http://blogs.msdn.com/b/chuckw/archive/2012/08/22/directx-sdk-s-of-a-certain-age.aspx これ更新されてた 11.2関連を追加してのかな
56 : どうもそうっぽいね。
57 : SDKのサンプルしか実行出来ないのだが…何故?
58 : なんの話だよ
59 : ネタがないな directxtoolkitのreadme翻訳してくれてる人がいた http://www.enoie.net/blog/?p=8254
60 : Directx9で、リアルタイムで色が変化するタイルマップを作りたいです 頂点色をリアルタイムに変更して描画したいですが、方法が分かりません 初心者の私に知恵を授けて頂けないでしょうか?
61 : >>60 動的頂点更新だね。 Lock、Unlockで検索してみて。
62 : >>61 早速調べてみます ありがとうございます
63 : Portする人向けのお話 Living without D3DX http://blogs.msdn.com/b/chuckw/archive/2013/08/21/living-without-d3dx.aspx
64 : ありがてぇ!
65 : DirectXのD3DXCreateTextureFromFileEx関数で画像の縦横サイズ指定しても、 反映されない(スプライトいっぱいに引き伸ばされる)んですがどうしたらいいですか? IDirect3DTexture9* pTexture = NULL; D3DXCreateTextureFromFileEx(pDevice3D,_T("unko.bmp"),32,32,0,0,D3DFMT_UNKNOWN,D3DPOOL_MANAGED,D3DX_FILTER_POINT,0,0,0,0,&pTexture);
66 : パラメータで引き延ばすように自分で設定しているからだ。 アホか。
67 : >>66 すみません、具体的にはどういう設定なんでしょうか?
68 : 使っている関数のヘルプぐらい読めよ。
69 : DirectX11でのシェーダの質問です 単色ポリゴンとスプライト(ポリゴン+テクスチャ)を描画するためのシェーダは切り替えずに描画できますか?
70 : Direct3D11(SM5.0)なのですが ポストプロセスをしたいので、ピクセルシェーダからUAVに出力して、 何らかの処理をしてから、それをスワップチェーン内のバックバッハに描画したいのですが、 最後にバックバッハに描画する時、やっぱりRTVの使えるピクセルシェーダを通す必要があるのですか? それだと、バックバッハ全体を占めるクアッドを用意する必要がありませんか?
71 : >>70 まずは日本語を勉強しろ
72 : >>71 どこに問題がありますか? 最後にピクセルシェーダを通して描画をするとすると、頂点シェーダが必要だから、 ポストプロセス済リソースをマップした四角形ポリゴンを用意する必要があるのではないですか? 大変な無駄だと思うのですが…。 ポストプロセスを実行するまでは良いのですが、その結果をどのようにして画面に描画するべきかわからないです。
73 : 失礼致しました。これは自分でどうにかするべき問題であるようです。お騒がせして申し訳ありませんでした.
74 : >>72 四角形ポリゴンを用意する必要があるに決まっています
75 : >>74 なんと、、、やはりそうなのですね。 どうにかしてバックバッハのUAVを作成しようとしたのですが…むづかしいみたいですね。 勉強になります。ありがとうございました!
76 : >>69 頂点色(あるいは定数バッファで設定した色)×テクスチャのシェーダーにしておけば、 頂点色のみで描画したい場合 → 頂点色×白テクスチャ テクスチャを描画したい場合 → 頂点色(白)×チェクチャ色 で統一できる。
77 : UAV作るのにバッファを用意してるだろ? だったらバックバッファにUAVに使ってるバッファをコピーすればいいだけの話 もちろん同じサイズじゃないとだめだけどな
78 : >>77 ありがとうございます、やってみます。
79 : >>77 できました! バックバッファ(スワップチェーン)とUAVのリソースを DXGI_FORMAT_R8G8B8A8_UNORM で、 HLSL側のUAVリソース宣言を RWTexture2D<float4> で ID3D11DeviceContext::CopyResource() を呼んだら、何も問題なく動きました。 本当に助かりました! すごい
80 : 普通バックバッファと描画バッファの大きさ同じだよな… スマソ
81 : DirectX、面白そうだなと本を買ってサンプルを実行したが、 いきなり「fatal error LNK1104:」というものにぶち当たっている ググっても「パスの指定が間違っている」としか出てこないし それ以外に見直すべき設定とかありますか?
82 : はい もちろん
83 : 初学者にとってはコンパイルに成功するまでが試練。
84 : 本で使っている DX と インストールしてるDXのバージョンが違うという罠ではないか
85 : なんかのサンプルを適当に実行しようと思うのが間違いだと思う。 helloWorld的なdirectXを初期化するためのプログラムをまず組むべき
86 : なんかのサンプルを適当に実行してみようと思うのは別に間違いじゃないと思うよ。 81は本のサンプルじゃなくてMSのDirectX SDK(つまり11以下)のサンプルのビルドはできるくらいなの?
87 : おまえらSDKインストールしたことないの? サンプルブラウザとか立ち上げたこともないの? DXSDKはサンプルのバイナリ入ってるだろ それはそれとして、インストールしたのにサンプルが実行できないならほかに原因があるな インストールしたSDKとは別のサンプルなんじゃねぇの? 馬鹿丸出し?
88 : VC2012に入っているSDKだけでコンパイルが通るように、 D3DXとか必要性のないものは全て切り離した。 おかげでいちいちDirectXのSDKを気にする必要がなくなってさっぱりしたよ。
89 : 同感。 D3DX切り捨ては英断だよ。
90 : D3DXとかDirectXTKとか気持ち悪い気がして使う気になれない
91 : テクスチャ作りかたが分からないからそこだけ利用してる
92 : テクスチャの読み出し部分はGDI+で簡単に代用できる。
93 : シェーダはバイナリ用意して突っ込むの?
94 : VS2012なら統合環境にシェーダコンパイラ標準装備。 それとDirect3D10とVista以降ならOS側にコンパイラ標準装備。
95 : (*´・∀・)(・∀・`*)ヘー
96 : D3DXと違ってDirectXTKやTexみたいにみたいにオープンで 随時更新していくってのはいいと思う
97 : アップデートきた http://blogs.msdn.com/b/chuckw/archive/2013/09/14/dxut-for-win32-desktop-update.aspx?wa=wsignin1.0
98 : D3DXVECTOR3ってどこのヘッダファイルで定義されてますか? d3d9.hとd3dx9.hをインクルードしているんですが、定義されていないと出てしまいます
99 : >>98 おまえには開発をやるセンスがない
100read 1read 1read 100read TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
CORBAなら俺に聞け (136)
Vim vs Emacs Part2 (497)
【Intel】OpenCV総合スレ 4画素目【画像処理】 (970)
【GPGPU】くだすれCUDAスレ part6【NVIDIA】 (480)
Jython、Groovy、JRuby - どれが一番効率的? (277)
Pythonについて(アンチ専用) (792)
--log9.info------------------
【Perl】掲示板を使ろう! (476)
Ajax vs Javaアプレット vs FLASH (338)
PHP を流行らせるには (212)
Wiki系とWikiEngineについて語るスレ Part5 (235)
PPPHについて考えるべさ (137)
まあ。ほとんどないとおもうが。。 (132)
Perl VS PHP (543)
OpenPNE その6 (574)
オブジェクト指向perl (128)
OpenPNE設定について (761)
Mac OS X + PHP + MySQL (190)
【緊急】腕に覚えのあるプログラマー来てくれ!! (147)
Apache2.x 【新鯖入荷しました】 (646)
【PHP】セッションについて語ろう!【PHP】 (822)
PHPで作られたサイト (157)
【企画】CGIでRPGつくーる (218)
--log55.com------------------
★2ch.scは何故失敗したのか
★クロール批判要望スレ
★削ジェンヌに文句ある人集合
★迷惑行為報告担当 - 小さな親切募集中 2
★2ch.scへの要望スレ Part3
★かっこう観測所
★スレ立て人キャップ
★2ch.scニュース系板観測所