DirectX総合スレ (Part8)
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2008/03/12(水) 16:15:18ID:Jo1vXsg5他の言語使ってる奴はいますぐ消えろ
■過去スレ
DirectX総合スレ
Part 7: http://pc11.2ch.net/test/read.cgi/gamedev/1179516297/
Part 6: http://pc11.2ch.net/test/read.cgi/gamedev/1163691532/
Part 5: http://pc8.2ch.net/test/read.cgi/gamedev/1157727402/
Part 4: http://pc8.2ch.net/test/read.cgi/gamedev/1132937938/
Part 3: http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
Part 2: http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
Part 1: http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
0391名前は開発中のものです。
2008/11/08(土) 12:59:53ID:gm6HmN0EあれもWDDMにおけるDirect3D9のドライバで動くってことなんでXPとは無縁だけども
0392名前は開発中のものです。
2008/11/08(土) 15:02:55ID:cVyljR6Eシェーダープログラムで動かしてるなら
そんなには違いなし
0393名前は開発中のものです。
2008/11/08(土) 15:40:26ID:HcOXFTt5ジオメトリインスタンスの扱いの違いとか禿げそうになるじゃん・・・
CAPS見て分岐コード書くのもすげー面倒くせーしな。
0394名前は開発中のものです。
2008/11/08(土) 16:21:22ID:1CM0alvM一定以上の機能は満たしてる保証があるからな。
確かに10触った後9みるとちょっと読みにくいけどVista専用にするくらいなら我慢する
半透明の問題ってなに?
0395名前は開発中のものです。
2008/11/08(土) 16:29:03ID:lbhWq0kf0396名前は開発中のものです。
2008/11/08(土) 17:03:43ID:gQH1f2MI0397名前は開発中のものです。
2008/11/08(土) 17:38:20ID:cVyljR6Eシェーダーでfloat4のw操作するだけのことがそんなに面倒?
0398名前は開発中のものです。
2008/11/08(土) 18:35:19ID:HcOXFTt5処理が一切出来ないのがうっとうしいって話。
アルファテストすら出来ないし。
0399名前は開発中のものです。
2008/11/08(土) 19:36:30ID:Fn1AL9YHMSが終わったらOpenGLになるんじゃないの?
0400名前は開発中のものです。
2008/11/09(日) 09:22:54ID:5U6T1sG5それさえないならVISTA専用でもX10に移行したいんだけど。
0401名前は開発中のものです。
2008/11/09(日) 10:03:36ID:owmxIUlwお前がこれから書く物を、過去形で質問されても答えられるわけがない。
存在しないからすっきりしているといって欲しいのか?
0402名前は開発中のものです。
2008/11/09(日) 10:08:20ID:5U6T1sG5いや、同じことをするにもたとえばDX9で5行書かねばできなかったことが
DX10では3行でできるようになったりとかそういうのはあるのかなって思っただけだ。
あるいは仕様がすっきりしているかどうか。
0403名前は開発中のものです。
2008/11/09(日) 10:19:42ID:xobXoOSGまぁ半年もしないうちに11が正式リリースされるだろうから
そっちでてから手を出しても遅くはないとおもうけど。
0404名前は開発中のものです。
2008/11/09(日) 13:54:45ID:5U6T1sG5サンクス。10を眺めつつ気長に11を待つよ。
ところで>>380の中にDX11のドキュメントらしきものがあったんだけどこれは何?
本体は含まれてないんだよね?あるいはテスト11みたいなのがはいってるわけ?
0405名前は開発中のものです。
2008/11/09(日) 14:31:26ID:xobXoOSGD3DXなしの奴ならサンプル入ってたけど、行列演算やテクスチャ読み込みに
いちいちDirectX10のD3DXつかってるからまぁ大して参考にはならない。
0406名前は開発中のものです。
2008/11/09(日) 14:58:06ID:rWSYUx8F0407名前は開発中のものです。
2008/11/09(日) 15:24:04ID:qqPQ82iM0408名前は開発中のものです。
2008/11/09(日) 15:25:13ID:MVq+lkr70409名前は開発中のものです。
2008/11/09(日) 15:41:23ID:qWBGgmRu0410名前は開発中のものです。
2008/11/09(日) 16:09:01ID:DG7Cxdtj0411名前は開発中のものです。
2008/11/09(日) 17:43:07ID:AfYoeUyeスペックは十分なのにOSの所為で使えないなんて悲しすぎる
0412名前は開発中のものです。
2008/11/09(日) 18:17:25ID:xobXoOSG0413名前は開発中のものです。
2008/11/09(日) 18:29:44ID:5U6T1sG5実はパッチ当てるだけでXPでも動かせるんだよね。MSが動かせないことにしてるけど。
0414名前は開発中のものです。
2008/11/09(日) 19:36:11ID:AfYoeUyeすまん、「DirectX」と入力しただけで満足しちゃって10を入れるのを忘れていた
MDC4が折角DirectX10対応なのに多少グラがショボい9でやらなくちゃいけないのが残念で・・・
0415名前は開発中のものです。
2008/11/10(月) 00:28:53ID:BMRBI7Z0質問させていただきます。
入門書を読んでゲーム作成を学んで行っているのですが、
アニメーションのところで、頂点の変換について読んでいるのですが、そこでは
CPUで頂点座標、法線を計算した後にシェーダーや固定機能パイプラインを使って
残りの描画を行っています。
その理由が、「頂点シェーダだと大規模なフレーム構造をもつモデルが処理できないため」
と書いてあります。
しかし、CPUに付加をなるべくかけたくないので、このあたりも頂点シェーダで行いたいと思っています。
具体的には、
モトの頂点バッファのSUBETENO座標と法線に、それぞれスキニング行列とウェイトをかけると言う作業です。
フレーム数が少なければこの処理も頂点シェーダで出来るとのことですが、具体的な方法などを解説されているサイトなどは無いでしょうか?
まだ初心者なので、とりあえずCPUで処理するように組んだとして、後に頂点シェーダに変更が容易かどうかだけでも教えていただければうれしいです。
0416名前は開発中のものです。
2008/11/10(月) 00:37:11ID:902Hpa48頂点毎の骨インデックスは普通unsigned charで持つから256本くらい余裕でいけるけどそういうことじゃなくて?
確かに頂点シェーダー2.0までの環境だと定数レジスタが256しかなくて一度に80本弱しか骨の処理が出来ないけど
事前に頂点データを分割して1Drawで使える骨の数単位で分割すりゃいいだけ。
D3DXのXファイル読み込みなら自動でやってくれるし自分でその辺を作っても大して難しいものじゃない。
頂点シェーダー3.0ならfp32x4のテクスチャに骨の行列転送して頂点テクスチャ機能使えばほぼ無制限。
頂点シェーダー4.0ならそもそも定数レジスタが4096あるのでこれもほぼ無制限。
つまりCPUでスキニングをやるのはせいぜいDreictX7か8までだと思われ。
0417名前は開発中のものです。
2008/11/10(月) 00:52:16ID:3GMMJuCD丁寧な日本語だがSUBETENOってのが強調されててにやけてしまったw
おそらくフレームはボーンのことだろうが、CPUでやると多数の演算をするとき(キャラクタが多いときなど)にはそれこそ処理がやばい。だから頂点シェーダをつかう。
具体的なやり方はソースを一部さらしてみたらやってくれる人がいるかも。
ちなみに、どんなコードかわからんがその部分だけならCPU→頂点シェーダでもすぐ直せるんじゃね?
0418415
2008/11/10(月) 01:32:34ID:BMRBI7Z0>>417
レス有難うございます。そのとおりで、ボーン数のことです。
現在では頂点シェーダでもほとんど気にしないで良いようになっているのですね・・・
Xファイルの構造の理解のためにも読み込みから行っているのですが、
頂点数の取得を→頂点バッファA、Bの作成→A,Bをロックして座標を書き込む→アンロック
そして読み込み、頂点変換のときに
Aのすべての頂点についてスキニング行列とウェイトをかけて変換した座標をBに入れる。
ということをやっています。
0419名前は開発中のものです。
2008/11/10(月) 16:14:43ID:s1TXQPvs0420名前は開発中のものです。
2008/11/10(月) 17:22:40ID:ISc4jxjeシーン切り替えの用のエフェクトに使う予定です
0421名前は開発中のものです。
2008/11/10(月) 17:29:20ID:1mSAahmlSetRenderTarget
プログラマ内部ってどんなんだよwww
0422名前は開発中のものです。
2008/11/10(月) 17:31:01ID:ywM7RjEt0423名前は開発中のものです。
2008/11/10(月) 17:54:07ID:iC1++FN20424名前は開発中のものです。
2008/11/10(月) 18:11:36ID:NJUvb9dE0425名前は開発中のものです。
2008/11/10(月) 19:05:11ID:5GqIdVKR0426名前は開発中のものです。
2008/11/10(月) 22:48:21ID:902Hpa48結局おたくは何がしたいわけ?
0427名前は開発中のものです。
2008/11/10(月) 23:11:19ID:Ov9bYzRxいや、分からないのあんただけだから…
0428名前は開発中のものです。
2008/11/11(火) 01:11:52ID:qQ/tLl0F0429名前は開発中のものです。
2008/11/11(火) 02:22:20ID:uCJfqqEz0430名前は開発中のものです。
2008/11/11(火) 08:34:25ID:CKBuIOu4とりあえずお前さんが考えているようにプログラマ → プログラマブルシェーダー
までは合ってる。あとは自分でよく考えるように。
0431名前は開発中のものです。
2008/11/11(火) 21:16:00ID:GnJZ7zFw連中は、ブクブクと肥大化しきった自意識を、優しく満たしてくれる結論しか導けない。
0432名前は開発中のものです。
2008/11/11(火) 21:43:20ID:GjVQxuEsきみもゆとりって呼ばれるぞ
0433名前は開発中のものです。
2008/11/11(火) 22:06:51ID:L7Dn1wD00434名前は開発中のものです。
2008/11/12(水) 08:29:59ID:U5K86CI60435名前は開発中のものです。
2008/11/14(金) 03:04:03ID:s5clZUFBDX9まだアップデートしてたのか
最近は10のアップデートばかりで9はカンストしたと思ってたぜ
0436名前は開発中のものです。
2008/11/15(土) 11:39:55ID:TsyO2d++0437名前は開発中のものです。
2008/11/15(土) 18:07:34ID:lOlMVMTRソースをひたすら読むんですか?
どこか解説ページはないですか?
0438名前は開発中のものです。
2008/11/15(土) 23:43:19ID:EtW+xZ5p0439名前は開発中のものです。
2008/11/17(月) 16:18:24ID:mB/MQSJgメジャーUPは4年に1回、マイナーチェンジは年に1回までにしてほしいですね。
0440名前は開発中のものです。
2008/11/17(月) 16:24:16ID:p5mj6MH5新しいのを覚えるのが嫌なら付いていく必要はない。
0441名前は開発中のものです。
2008/11/17(月) 18:25:10ID:Kbnutf0kそれだと今回のNov 2008は Oct 2004からの乗り換えか、変わりすぎてて大変だなw
0442名前は開発中のものです。
2008/11/17(月) 18:51:56ID:g/D6uHMp0443名前は開発中のものです。
2008/11/17(月) 22:22:00ID:aUxp2dt7新しいのが出たからって古いのが使えなくなるわけじゃないんだぜ?知ってたか?
0444名前は開発中のものです。
2008/11/18(火) 09:52:04ID:uLkc1AZ6最新の PC で DirectX 1.0 で作られた作品が動く
それがマイクロソフトの恐ろしいところなんですよ
0445名前は開発中のものです。
2008/11/18(火) 10:57:07ID:J3UuMFj19.0d とか 9.1 にしたくない理由が何かあるんでしょうか?
0446名前は開発中のものです。
2008/11/18(火) 11:00:48ID:odxGOZ9uハードとソフトのいたちごっこが終わったからだよ
0447名前は開発中のものです。
2008/11/18(火) 14:37:05ID:q+Tht4vRあくまでSDK側・開発者サイドの更新であって、
エンドユーザー(プレイヤー)は9.0c以降、DirectX更新しなくてOK?
0448名前は開発中のものです。
2008/11/18(火) 15:13:37ID:IYbd9Sfiこれは大きい問題を持っていて、MSもよく知っている。
9.0cにも種類があって、更新毎のバージョンがある 30種類以上
番号順のdllになっていて、更新毎に増えて、旧い物も保持している。
ユーザーは全部のバージョンを持っていなければならない。
アプリ開発した時に、11.dllを使ったとする。
ユーザーは11.dllを持ってなければ、エラーになる。
別のアプリは12.dllを要求するかもしれない。
従って、ユーザーは全部と最新のdllを持っている必要がある。
このdllを単品配布できればよいのだが、MSの許可が必要になる。
時々、アプリ開発者が、「年月のDirectXランタイム」が必要と書いてあるのがそれ
0449名前は開発中のものです。
2008/11/18(火) 16:46:30ID:zH0Zu7g/0450名前は開発中のものです。
2008/11/18(火) 16:50:22ID:KSbQYvOO0451名前は開発中のものです。
2008/11/18(火) 17:36:01ID:D/OQQiDtManaged DirectXは即死したがな
0452名前は開発中のものです。
2008/11/19(水) 00:41:27ID:U55fYg17たしかにWinGゲーでもDirectX1.0ゲーでもMSの推奨する組み方してたお行儀のよいソフトは今でも動く。
ところが実際はWin9x系前提で発売されていたDirectXゲーの多くがWinNT系で動かなくなったりした。
原因は色々だが、ひどいものだとサウンド周りの処理がSoundBlaster16依存してるとか、Win9x系で
見逃してもらっていたメモリアクセス絡みのバグがWinNT系で表面化したとか。(サーフェスロックし忘れ)
一番多いのがファイル入出力絡みのコードがFAT32に依存していてNTFSなシステムで動かないやつ
0453名前は開発中のものです。
2008/11/19(水) 04:38:26ID:OtJGUXTD0454名前は開発中のものです。
2008/11/19(水) 06:42:12ID:atHBMZoj0455名前は開発中のものです。
2008/11/19(水) 06:49:33ID:6ztnRgTS0456名前は開発中のものです。
2008/11/19(水) 07:46:22ID:ViCloH610457名前は開発中のものです。
2008/11/19(水) 09:29:00ID:Y7H+QDiA0458名前は開発中のものです。
2008/11/25(火) 01:33:12ID:8fK3fWHoクォータニオンでモデルの向きを管理しており、Slerpを利用して回転させようと思っています。
目標の向きは自分の位置に対する目標の位置を使用するのでベクトルだと思うのですが、
モデルの回転が最短ようにするには、目標のクォータニオンをどのように作ればいいのでしょうか?
それとも、元のクォータニオンから向きのベクトルを求め、外積を軸にして回転させたほうがいいでしょうか?
0459名前は開発中のものです。
2008/11/25(火) 08:49:37ID:T6onPkkQ最短ってどこから?現在の姿勢から?デフォルトの姿勢から?
あとupベクトルはどうでもいいのかによる
0460名前は開発中のものです。
2008/11/25(火) 21:36:24ID:8fK3fWHoワールド座標軸ではなくモデルに対してピッチ、ヨー、ロール回転します。(これは実装でできているので問題ないです。)
フライトシミュレーターをイメージしているので、ロールはせず、ピッチとヨーのみで目標の向きまで持って行きます。
目標の向きはわかっているので、ベクトルからクォータニオンを生成する必要があると思います。
なんだか自分で言ってて分けがわからなくなってきた。
どうもクォータニオン周りの制御がわかっていないので、他にもやりたいことがあるのですがそのたびに質問するわけにも行かないですね。
(向きを変えずにupベクトルを可能な限りワールド座標のどれかの軸に近づくように回転させる、など)
何か参考サイトがあればうれしいのですが・・・
0461名前は開発中のものです。
2008/11/26(水) 01:12:15ID:KSRTsz+W飛行機が一番得意な動きはローリングだと思うけど。
0462名前は開発中のものです。
2008/11/26(水) 01:49:04ID:yNQxm2umミサイルの誘導だろ?
いろいろやり方はあるだろうけど「比例航法」でぐぐってみれば?
0463名前は開発中のものです。
2008/11/26(水) 07:58:09ID:DDkykNTl飛行機の制御でロールがないなんてありえないしから違うんだろうし。
0464名前は開発中のものです。
2008/11/27(木) 18:03:43ID:6vE621eWDirect3D9 で、バックバッファを320x240でつくって、
スクリーンのサイズを640x480にしたのですが、
無理矢理拡大しているせいで画面全体がぼやけてしまいます。
IDirect3DDevice9::SetSamplerState で D3DSAMP_MAGFILTER を渡す方法は、
テクスチャ->バックバッファ のときのフィルタ設定ですよね?
バックバッファ->スクリーンでのフィルタはどこで設定すればよいでしょうか?
補完しないように設定したいのですが。。。
それとも、レンダーターゲットで生成したテクスチャに描画してから拡大するしかありませんか?
0465名前は開発中のものです。
2008/11/27(木) 18:16:31ID:zVQcu/j2バックバッファ>フロントバッファの補間方法は指定できない。
0466名前は開発中のものです。
2008/11/30(日) 11:27:51ID:OyLB96GRポストプロセスシェーダーに関して、
レンダーターゲットのサイズが大きいほど、ピクセルシェーダが処理するピクセルが増えるので
結果、負荷が増える、という解釈で合ってますか?
それに対して、ピクセルシェーダでフェッチするテクスチャのサイズの大小による負荷の違いはあるのでしょうか?
texture Tex;
sampler Samp = sampler_state{//略
tex2D(Samp, IN.tex);
↑Texに渡すテクスチャのサイズが256x256であろうが1024x1024であろうが
レンダーターゲットのサイズが同じならばフェッチされる回数は変わらない(フェッチされるテクスチャ座標は変わりますが)ので
ピクセルシェーダの負荷は変わらないと考えているのですが、これは合っているのでしょうか?
変わるのはメモリ使用量とサイズの違いによる解像度だけですか?
0467名前は開発中のものです。
2008/11/30(日) 11:39:46ID:Z547nq7Zレンダリングターゲットを大きくするとピクセルシェーダーの負荷も増えるが
テクスチャと同じ理由で帯域を圧迫するから急激に速度が落ちやすい。
0468名前は開発中のものです。
2008/11/30(日) 11:42:21ID:KLYmFB56動作困難なほど激重にならない?
0469名前は開発中のものです。
2008/11/30(日) 11:50:10ID:Z547nq7ZWRAPで2の累乗の大きさなら&演算1つで求まる計算だぞ。
0470名前は開発中のものです。
2008/11/30(日) 13:39:08ID:OyLB96GRありがとうございます。
そうだったんですか。どこにもない情報なのでためになります。
>>468
自分もそんな風に感じたことがあります。
別の要因かな・・・。
0471名前は開発中のものです。
2008/11/30(日) 13:50:26ID:OyLB96GRわざわざミップマップでテクスチャの解像度を切り替える必要ないですもんね。
ミップマップって射影後のzを見てサンプリングされるんでしたっけ?z/w?
0472名前は開発中のものです。
2008/11/30(日) 13:56:14ID:OyLB96GR0473名前は開発中のものです。
2008/11/30(日) 14:26:10ID:Z547nq7Z隣接するピクセルのテクセル座標との勾配
0474名前は開発中のものです。
2008/11/30(日) 17:10:56ID:KLYmFB56なるって
頼むやってみてくれ
尋常じゃねぇ重さになる
0475名前は開発中のものです。
2008/12/04(木) 22:49:43ID:IIMhMqlID3DXMatrixRotationYawPitchRollRHみたいな回転処理を作る必要があったりするの?
0476475
2008/12/04(木) 22:50:42ID:IIMhMqlI0477名前は開発中のものです。
2008/12/06(土) 05:38:01ID:srRxdFJ7複数サンプリングするときにサンプリング数を変えずに
サンプリング範囲が広がるだけで異様に重くなることがあったんだけど
こういうもんなのかな?
例えば一つのピクセルを描画するために、その描画ピクセルのUVを中心として
別テクスチャから半径rの範囲で6点サンプリングするとき
rの値が大きくなればなるほど重くなるような現象が起きた
アドレッシングモードをWrap、Clamp、Borderどれに変えても同じだった
0478名前は開発中のものです。
2008/12/06(土) 07:12:45ID:jieOLbiAスキンメッシュマルチアニメーションだと思います、tinyのmultiAnimationをいじくってます
0479名前は開発中のものです。
2008/12/06(土) 07:21:53ID:C5uhrN+X0480名前は開発中のものです。
2008/12/06(土) 07:42:16ID:j6JjVozi行列は理解してるとかいってただろ?
0481名前は開発中のものです。
2008/12/06(土) 07:50:24ID:jieOLbiAポジションはちゃんと合ってる
デバッグのやり方はよくわからないけど、変数を見てみたら文字化けがパネえ
Xファイルをメモ帳でいじりまくってるのが悪いのかな?
0482名前は開発中のものです。
2008/12/06(土) 07:58:07ID:j6JjVoziポジションあってるだ?あってないと断言してやる
変数見れてないのになんでわかるんだよ。
ハルモードとかを変える時に
それ以外も表示できてないんだろ?
0483名前は開発中のものです。
2008/12/06(土) 08:07:15ID:jieOLbiAだから変えまくったらどこを移動してるかわかる。
0484名前は開発中のものです。
2008/12/06(土) 08:11:42ID:j6JjVoziモードを変えてるんだから新たにアニメーションしてるんだろ
変えたときに、始めの場所でずっと同じのが見えてるんだろ
それとも違うのだというつもりか?
いじっくってないtinyでためせまずそこからだろ
0485名前は開発中のものです。
2008/12/06(土) 08:12:32ID:j6JjVozi0486名前は開発中のものです。
2008/12/06(土) 08:39:10ID:jieOLbiAtiny.xなら90度横になって真っ黒でアニメーション種類は1つだけでちゃんとアニメーションしてる
自作だとアニメーションしないのかな。
>変えたときに、始めの場所でずっと同じのが見えてるんだろ
移動はしてる。ちゃんと同じコースを行ってる
背景の色変えたけどなにも無かった
アニメーション描画しない理由って・・・?
0487名前は開発中のものです。
2008/12/06(土) 08:44:23ID:v6Lduw0u0488名前は開発中のものです。
2008/12/06(土) 08:48:12ID:j6JjVoziわかりきってるだろ、大体いじったファイルはどこいじりましたか?
数字しかないんだから数字を変えただけだろ
画面外に飛んでいってるんだろ
同じコースって意味がわかんないしな
アニメーションではその場での挙動じゃなかったか?
立ち位置変えてそこでアニメーション
で立ち位置のアニメーションで、立ち位置の移動の瞬間
アニメーション始まる前だけ見えてるんだろ
アニメーションしたら画面外にいってるんだろ
0489名前は開発中のものです。
2008/12/06(土) 08:55:22ID:jieOLbiAでも移動するようなアニメーションじゃないぜ、角度がちょっと変わるような10枚くらいのボーンアニメーション
Xファイル上げようか?それでそのまま\MultiAnimationにxファイル入れてL"tiny_4anim.x"のとこをそれに変えてるだけだからな
0490名前は開発中のものです。
2008/12/06(土) 09:01:39ID:jieOLbiA■ このスレッドは過去ログ倉庫に格納されています