トップページgamedev
1001コメント355KB

DirectX総合スレ (Part2)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。04/09/22 23:30:32ID:anobjZYP
DirectXについては基本このスレで話していこうとものです。
基礎的な質問+高度な質問も簡潔かつ簡単に答えることをモットーにして頂き
このスレの回転を早めて常にアクティブなスレにしたいと思っております。
このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。
質問に対する答えも簡潔に出来る限りわかりやすくお願い致します。

テンプレは >>2以降で
076475304/12/13 22:08:26ID:OHILwBcG
>>763
0.5ドットずらす方法は既に実践済みなんですよ。
結果はずらしてもずらさなくても同じでした。

762に書いた方法で実装してみたら結構遅くてショック。
0765名前は開発中のものです。04/12/14 02:35:51ID:Uw1p0s/Z
>0.5ドットずらす方法

つい最近まで流行ってた、TOWNSとかのハードウェア0.5ドットスクロールのことかと思った。
あれは滑らかだったからなー。
0766名前は開発中のものです。04/12/14 17:10:23ID:52nIwGgv
どうも755でちゅ。
レースゲーム中のメーターと針を表現したいのでちゅが、
メーターはRHWを設定するので描画してるんでちゅが針のほうをRHWで
描画してるんですがRotationXでしたっけそれでは回転できないんでちゅが
どうすれば針を回せますか?
0767名前は開発中のものです。04/12/14 17:20:06ID:jWlJyjib
rhwだったら自分で回転後の座標を指定すればいいだけ。
0768名前は開発中のものです。04/12/14 19:20:41ID:6EayMZnD
RotationX?
RotationZじゃないか?
0769名前は開発中のものです。04/12/14 19:57:45ID:mfmTbhdO
だから素直にDrawPrimitive使えよ。UPでもIndexedでもいいから
出来ないヘタレがプログラム組むな反吐が出る
0770名前は開発中のものです。04/12/14 19:58:45ID:9a+RZ13R
そんなのも分からずレースゲームを作るっていうんだからたいしたもんだ
0771名前は開発中のものです。04/12/14 20:17:39ID:0pW6uqIM
なんってったってゲ製板だからな
0772名前は開発中のものです。04/12/14 20:24:03ID:6EayMZnD
なんてったってアーイドー
なんてったってアーイドー
0773名前は開発中のものです。04/12/14 20:34:32ID:eLHDZvTk
766擁護じゃねぇけれど、よくわかってない奴だっているんだろうから、教える必要は
ないとしても叩かなくてもいいんじゃないか?769は少し言い過ぎかと思う。
0774名前は開発中のものです。04/12/14 20:55:40ID:mfmTbhdO
>>773
お前の書き込みと俺の書き込み、どちらに中身があるかもう一度読み返せ
本当にお前の頭の中は空っぽだな
0775名前は開発中のものです。04/12/14 20:59:10ID:6EayMZnD
>766
SetTransformはやってるよな?
0776名前は開発中のものです。04/12/14 21:02:46ID:0pW6uqIM
>>766は先にブロック崩しでも作っとけ。
>>774はヘタレ質問見るのが嫌なら鬱だ氏のうスレ行っとけ。
0777名前は開発中のものです。04/12/14 21:08:29ID:jWlJyjib
だからトランスフォーム済みの頂点にトランスフォームがかかるわけ無いだろう。
なんでrhwでSetTransformとかRotationXが出てくるんだ?
トランスフォーム済みを使うなら、自分で位置を計算しておけばいいだけ。
しかもその程度の計算で行列を使う演算の必用など微塵もない。
既存のシステムに依存して、基本的な計算すら忘れ去ってないか?
0778名前は開発中のものです。04/12/14 21:12:35ID:8voIY0i4
rhwなら、こんなんか?

回転
P(x, y)
dX = x * cosθ - y * sinθ;
dY = x * sinθ + y * cosθ;

平行移動って足せばよかったっけか?w
グーグルで 回転 2次元 で調べればいっぱいでてくるよ。

rhwの2次元にRotation???は使ったことないなぁ
0779名前は開発中のものです。04/12/14 21:38:39ID:6EayMZnD
>777
そりゃそうだ
久しく使ってなかったから忘れてた

0780名前は開発中のものです。04/12/14 22:37:40ID:G4zX7Xhc
>>778
D3DXにこの計算用意されてなかったか?
0781名前は開発中のものです。04/12/14 22:49:27ID:X6UgI8F+
なんで2D描画用にカメラ行列を再設定しないんだ?
0782名前は開発中のものです。04/12/14 23:00:07ID:Apj0J3iv
トランスフォーム済みの頂点だから
0783名前は開発中のものです。04/12/14 23:03:46ID:GmXk5NnE
RHWだぞ、お前分かってるか?
RHWだぞ、お前これ何の略だ?
0784名前は開発中のものです。04/12/14 23:06:46ID:7uVKM4QW
あ、実は俺判ってないかも>RHW
0785名前は開発中のものです。04/12/14 23:30:20ID:if82LLjO
固定でスキニング出来るようになったので、次はシェーダでと思い
朝からやってるのですが、ぴくりとも動いてくれません

メッシュは自前で持っていてDX系の物は使っていません。
.fxはDirectX9のサンプル、SkinningMeshの物をそのまま使っています
SetMatrixArrayで渡す行列は、固定の時と同じ行列で良いのですよね?
(オフセット行列に、現在の姿勢行列を掛けた行列です)

シェーダで頂点色を変えたりとかは出来ています。

Weightが一つのボーンに対し100%(1.0f)だと、なんの行列を渡しても初期位置のまま微動だにしません。
2つ以上のボーンに対し影響を受ける頂点は、2つ目のウェイトの割合分、無意味に縮みます。縮むだけで動きません。

いやもうこれでは解答のしようも無いとは思うのですが、質問せずにはいられない状態でして・・・。
0786名前は開発中のものです。04/12/14 23:38:11ID:17qXBVT+
サンプルのはシェーダでちゃんと動いてるの?
0787名前は開発中のものです。04/12/15 00:01:00ID:fvpX5wp6
Right-hand-system Height Width
078878504/12/15 00:02:46ID:pCTFG4k0
>>786
お付き合いありがたいっす
悔しいことにサンプルの方は、シェーダはもちろんどのモードでも問題なく動いています
言われて今、試しにHELにしてみたのですが、やはり挙動は変わらずじまいです

データの持ち方が悪いのかなぁ…
0789名前は開発中のものです。04/12/15 00:23:36ID:LnZJ7VNx
>>784
reciprocal of homogeneous W

>>788
それならサンプルと同じようにやれば動くのでは?
0790名前は開発中のものです。04/12/15 00:32:03ID:rxxXpvtu
tinyタンはしぶといからな
がんがれ
0791名前は開発中のものです。04/12/15 00:39:28ID:pCTFG4k0
>>789
同じようにやっている…はずなのですがどうにも
明日もう一日頑張って駄目でしたら、ソース見てやって下さい
皆さんレスありがとうございました

>>790
声援感謝っす
あれほど可愛かったtinyたんが、今は中居正広に見えてきましたよ…
0792名前は開発中のものです。04/12/15 10:24:30ID:L/K/Ntdf
ワロタ
0793名前は開発中のものです。04/12/15 17:38:44ID:9QGOXaSi
ああ、RHWなのか。
いつもRHW使わないでビュー行列とプロジェクション行列を
再設定して2D描画やってるよ。RHWの利点は行列演算が
入らない分高速になること?
で、RHWって何の略だよ。
0794名前は開発中のものです。04/12/15 17:43:33ID:uxKIR4qz
>793
Ruri ha H na Wife
0795名前は開発中のものです。04/12/15 17:52:16ID:3f8c+YkS
質問です、簡単なネット対戦もの作りたくて
DirectX SDK (December 2004)インストールしたんですが
DirectPlayのサンプルがついてない・・・
DirectPlayの機能に変化がないからのようで
どのバージョンならば付いてますでしょうか?
0796名前は開発中のものです。04/12/15 18:38:11ID:0I2YGKTu
>>795
Summer 2003 にはある。
Summer 2004 以降は無い。

あとサンプルが無いのは機能に変化が無いからではなく
> DirectPlay は不適切となり、旧式のものとみなされています。
> DirectPlay ランタイム コンポーネントは、オペレーティング システムでサポートされていますが、
> ヘッダー・ライブラリ・ドキュメントは将来のリリースの SDK で削除されるでしょう。
> 既存のアプリケーションを修正するとき、このコンポーネントへの依存性を削除することを強く推奨します。
という事なのでこれから作るなら
DirectPlay 使うのは止めたほうがいいと思う。
0797名前は開発中のものです。04/12/15 20:23:47ID:rOGq997C
>>796
DirectPlayの替わりは何になるの?
0798785 79104/12/15 20:31:07ID:pCTFG4k0
最小限の構成にしてみたのですが相変わらず出来ませんで…

お暇な方、良かったらソース見てやって下さいませ
たぶんとんでもなくつまらないミスだと思います
ttp://gamdev.org/up/img/2124.zip
079979804/12/15 20:32:53ID:pCTFG4k0
失礼、Bulid環境はVC6、DirectX9.0です
0800名前は開発中のものです。04/12/15 21:14:26ID:uxKIR4qz
>797
WinSockでは?
0801名前は開発中のものです。04/12/15 21:48:22ID:mf8+Ge20
>>798
FVFはイクナイ。VertexDeclarationバージョンをあげとく
http://www.uploda.org/file/uporg22612.zip
080279804/12/15 22:13:58ID:pCTFG4k0
>>801
うひょー修正ソースまで!感激っす!
元のソースにも適用してみましたが、うにょうにょ動いてくれて思わずガッツポーズ!

なるほど頂点宣言ですかぁ、これからじっくりこれについて調べてみます
いや本当に、丸二日寝ても覚めても悩んでいまして…ありがとうございました!

ソース見てくださった他の方にも感謝っす
0803名前は開発中のものです。04/12/16 00:49:05ID:X/XYEA0C
なんだDirectPlay消えるのか。
どうにもうさんくさいと思っていたら。
0804名前は開発中のものです。04/12/16 04:01:26ID:gCuPh9E/
そんあ! WinSock使えってのはマジでいってんのかと。
0805名前は開発中のものです。04/12/16 10:04:59ID:PmxVvc7I
まぁでもDirectPlayよりはWinSockのが俺は使いやすいな。
非同期I/Oとか結構便利だし。
0806名前は開発中のものです。04/12/16 10:18:16ID:tjOk0UvG
まぁDirectPlayが便利ってよりはサンプルのコードが便利だったんだけどな
0807名前は開発中のものです。04/12/16 10:24:44ID:xwdq2LRc
ボイチャ機能はどうなんのよ?自分で実装?
0808名前は開発中のものです。04/12/16 11:09:21ID:PmxVvc7I
ボイチャはマジで面倒くさいな・・・
リアルタイムに自分でエンコードして転送すんのか・・・
マイクからの入力はDirectSoundで取れるからいいけどOggにでもエンコすっか・・・?
0809名前は開発中のものです。04/12/16 14:30:42ID:lA8+7u1v
ロングホーンあたりで標準APIに似たような機能が実装されるのかもね。
0810名前は開発中のものです。04/12/16 14:38:57ID:rNKsfLyb
VertexShaderを使って単純なVertexBlendをやっています。
VSを割り当ててDrawIndexedPrimitive()したあとに
頂点ブレンドされた結果のVertexBufferを取得することは
できますか?
0811名前は開発中のものです。04/12/16 14:59:28ID:nsksm3nJ
>>810
ProcessVertices でいけるかも
0812名前は開発中のものです。04/12/21 20:20:36ID:VealJqOr
DirectSoundBufferをLOOPさせてストリーミング再生してるんですが
新しいデータの補充をやめると同じ音が鳴り続けます。
そこでDirectSoundBufferをStopさせずにその音を消す上手い方法はありませんか?
0813名前は開発中のものです。04/12/21 20:23:27ID:E4gqQxGH
無音を送れ。
0814名前は開発中のものです。04/12/21 20:29:03ID:VealJqOr
>>813
それは考えた。
出来れば無音のwavファイルを用意してそれを読み込むってのは避けたい
もしかしてCreateSoundBufferしたてのバッファをどこかにコピーしておくってのはあり?
081581204/12/21 20:42:14ID:VealJqOr
>もしかしてCreateSoundBufferしたてのバッファをどこかにコピーしておくってのはあり?
↑で出来た。とりあえず>>813サンクス。

でも、もっといい方法あったらよろしく。
0816名前は開発中のものです。04/12/21 21:45:26ID:yhcjkR/f
だから、無音のデータ
16bitだったら0、8bitだったら128を書き込んでやれば良いんじゃないのか?
081781204/12/21 22:00:05ID:VealJqOr
>>816 それは知らなかった!memsetで事足りるね。さんくす。
0818名前は開発中のものです。04/12/23 09:58:47ID:FEnanRmI
8bitでも0じゃねーの?
0819名前は開発中のものです。04/12/23 10:25:41ID:l+8f12vX
8bitのとき0埋めるとノイズになった
おためしあれ
0820名前は開発中のものです。04/12/23 14:07:34ID:wQm89fFL
>>818
ヘルプくらい読めよチンカス、
128って書いてるだろ
0821名前は開発中のものです。04/12/23 18:09:42ID:axgNz1Fg
signed charなら0、BYTEなら128って事じゃないのか?
0822名前は開発中のものです。04/12/23 18:19:05ID:eLx1883r
違う
0823名前は開発中のものです。04/12/23 18:19:58ID:J3jRqKAl
>>821
そんなエサに釣られるクマーっ!(AA略)
0824名前は開発中のものです。04/12/23 18:58:07ID:axgNz1Fg
あーそういや符号なしの128=符号付きの-128だったんだな。
となるとなんでそういう仕様になってるんだろな
0825名前は開発中のものです。04/12/23 19:09:19ID:4WyFjnWL
真性ですな
0826名前は開発中のものです。04/12/23 19:24:09ID:XtP5QVem
真性じゃなくて、単に工房以下なだけっしょ
0827名前は開発中のものです。04/12/23 19:26:18ID:axgNz1Fg
8bitだと128なのに16bitだと0を入れる理由ってそんなに簡単なのか・・・
スマン教えてくれ、ヘルプ見ても見つからん
0828名前は開発中のものです。04/12/23 19:35:28ID:4WyFjnWL
unsigned char と short だからでしょ。
0829名前は開発中のものです。04/12/23 19:38:10ID:gAndW/og
μ-LawとA-Lawで違わなかったっけか。まぁ今どき8ビットはやめれと言いたいが。
0830名前は開発中のものです。04/12/23 19:38:55ID:gAndW/og
>>828
それは違うだろ
0831名前は開発中のものです。04/12/23 20:01:33ID:4WyFjnWL
なんで違うのよ?
サウンドバッファの話だよ。音声ファイルの話じゃないよ。
μ-LawやA-Lawは関係ないでしょ。
0832名前は開発中のものです。04/12/23 20:14:33ID:bUnSnb5a
8bit => 0〜255
16bit => -32768〜32767
ということになってるから。
まあ別に中心値じゃなくても、同じ値が続く限り無音状態ではあるけど。
0833名前は開発中のものです。04/12/23 20:15:56ID:axgNz1Fg
>>832
俺が聞きたいのはなんで8bitが-128〜128になっていない?ってこと
0834名前は開発中のものです。04/12/23 20:32:48ID:bUnSnb5a
>833
知らん。歴史的理由とかじゃないの?
後細かいことを言えば-128〜127な。
0835名前は開発中のものです。04/12/23 20:44:42ID:Stz1Okd0
>>833
だったらトンチンカンな事書いてないで
最初からそう聞けばよかったのに…
0836名前は開発中のものです。04/12/23 20:54:28ID:axgNz1Fg
>>835
何がどこどうトンチンカン?お前の読み方がトンチンカンじゃないっていう保証がどこにある?




とか言い出すやつもいるから煽るのはやめてくれ
0837名前は開発中のものです。04/12/23 21:11:55ID:oWE4eFhp
バカがたくさんいるスレですね
見渡す限りバカばかり
0838名前は開発中のものです。04/12/23 21:18:02ID:2XOMkrGR
頭のおかしな人の判定基準

・「みんなの意見」「他の人もそう思ってる」など、自分の意見なのに他人もそう思ってると力説する人
 他人が自分とは違うという事実が受け入れられない人です。自分の意見が通らないとコピペや荒らしなど
 無茶をし始めるので見かけたら放置してください。

・根拠もなく、他人を卑下したり、差別したりする人、自分で自分を褒める人
 他人を卑下することで自分を慰めようとする人です。実生活で他人に褒めてもらう機会がないが
 プライドだけは高いとか、匿名の掲示板しか話し相手のいない人です。可哀想なので放置してください。

・自分の感情だけ書く人
 「〜〜がムカツク」とか自分の感情を掲示板に書くことに意味があると思っている人です。
 何がどのようにムカツクのか論理的に書いてあれば、他人が読んでも意味のある文章になりますが、
 そういった論理的思考の出来ない人です。もうちょっと賢くなるまでは放置してあげてください。
0839名前は開発中のものです。04/12/23 23:06:04ID:Zme+tFGw
どの値で埋めても無音になるんじゃないのか?
0840名前は開発中のものです。04/12/23 23:12:17ID:axgNz1Fg
直前のデータが0で終わってたらノイズが入るだろ
0841名前は開発中のものです。04/12/23 23:26:07ID:Zme+tFGw
直前のデータが0以外で終わってれば0で埋めてもノイズ出るだろ
同じ事が言えるわけだが・・・('A`)
0842名前は開発中のものです。04/12/23 23:30:30ID:Re8rBj+4
スピーカーに余計な電圧がかかり続ければ、変化しなくてもノイズは発生する。
0843名前は開発中のものです。04/12/23 23:47:59ID:Fg/tLFMl
821 名前:名前は開発中のものです。 本日のレス 投稿日:04/12/23 18:09:42 axgNz1Fg
signed charなら0、BYTEなら128って事じゃないのか?

824 名前:名前は開発中のものです。 本日のレス 投稿日:04/12/23 18:58:07 axgNz1Fg
あーそういや符号なしの128=符号付きの-128だったんだな。
となるとなんでそういう仕様になってるんだろな

827 名前:名前は開発中のものです。 本日のレス 投稿日:04/12/23 19:26:18 axgNz1Fg
8bitだと128なのに16bitだと0を入れる理由ってそんなに簡単なのか・・・
スマン教えてくれ、ヘルプ見ても見つからん

833 名前:名前は開発中のものです。 本日のレス 投稿日:04/12/23 20:15:56 axgNz1Fg
>>832
俺が聞きたいのはなんで8bitが-128〜128になっていない?ってこと

836 名前:名前は開発中のものです。 本日のレス 投稿日:04/12/23 20:54:28 axgNz1Fg
>>835
何がどこどうトンチンカン?お前の読み方がトンチンカンじゃないっていう保証がどこにある?




とか言い出すやつもいるから煽るのはやめてくれ

840 名前:名前は開発中のものです。 本日のレス 投稿日:04/12/23 23:12:17 axgNz1Fg
直前のデータが0で終わってたらノイズが入るだろ
0844名前は開発中のものです。04/12/24 06:05:34ID:tmeGZDDG
最初に0でいいんじゃねーの?と言い出したのはオレなんだが、その後はおれじゃねーよw
Winじゃサウンド扱ったことなかったのでちょっと聞いてみただけだったんだが。


Winじゃどうなのかしらんが、SEやBGMの最初と最後はかならず無音(16bitなら0、8bitなら0x80)にしないと
そこから他のWAVEに切り替えた時に急激に波形が変化してプチノイズがでる場合がある。
ADPCMを搭載している場合はデータ自体が最後に使用された値への補正値になるのでどんどん音が小さく
なったり逆に大きくなったりする場合も。

と、話の流れを変えてフォローしてみる。
0845名前は開発中のものです。04/12/24 06:29:58ID:ZGuVK0jQ
ごたごた言わずにDirectSoundサンプルのStreamDataを100回嫁。
まあ実用するには(+д+)マズーな部分もあるが、0 か 128 かはわかるだろ。

wavファイルが無音で終わってないときはプチっとなるので、
ご丁寧にやるなら最後の振幅値をだんだんsageてバッファを埋めるのも。
0846名前は開発中のものです。04/12/24 10:53:20ID:llD+gkN1
「そうなってるから」じゃ納得できないやつがいるからここまで伸びたんだろ
0847名前は開発中のものです。04/12/24 12:25:06ID:b+yyVJYd
8ビットは伝統的に0〜255、中央値127or128。
音響処理をちょっとかじれば分かることだが、波形の数値って
同じ値が続いてる状態だと音は出ないのよ。スピーカに1ボルトの
電圧がかかりっぱなしでも何も音は出ない。抵抗器で熱が生まれるだけ。
だから、8ビットwavで全データが255でも0でも、音はでない。
まあ、鳴らした瞬間と鳴り終わる瞬間に「ボコッ」ってスピーカが
1回振動する音が鳴るけどね。それだけ。
0848名前は開発中のものです。04/12/24 16:23:23ID:llD+gkN1
高校で物理をやれば、というより音が波だと知っていればすぐにわかること
0849名前は開発中のものです。04/12/24 20:38:31ID:a/O4gc+z
>>847
ちがうんじゃん?
疑問に思ってるのは-128から127までになっていないことに対してじゃね?
16Bitと同じように真ん中0にしろよ!チンコ!
って話に聞こえるけど。

まあ、それはそうなってるからしょうがねぇんじゃね?
としかいいようがないけどw
0850名前は開発中のものです。04/12/25 02:12:55ID:lfdZVxAu
>>849
>ちがうんじゃん?

関東弁まるだしだな。プッ
0851名前は開発中のものです。04/12/25 11:24:53ID:DXDRJWy9
関東弁のなにが面白いのかが分からない。
標準語で話さない日本人は差別対象な脳内ルールなのか?
0852名前は開発中のものです。04/12/25 12:57:38ID:F+09wmuo
ちがうじゃん
ちがうてー
ちがうでえ
ちがうぼん
0853名前は開発中のものです。04/12/25 13:04:07ID:kk3V6VfW
さざえじゃん
ささえてー
ささえでえ
さざえぼん
0854名前は開発中のものです。04/12/25 14:51:46ID:MezRFgLp
>>851
だって、普通に考えて、方言で話されると意味が正確に通じないよ。
全国の人が見る場所で方言を使うのはナンセンスだとつくづく思う。

俺は「ちがうんじゃん」のニュアンスがいまいち分からない。
「ちがってるんでしょ?」くらいの意味かな?
0855名前は開発中のものです。04/12/25 15:38:33ID:lThwEXbn
DirectXのお話に戻ろう。
0856名前は開発中のものです。04/12/25 15:43:42ID:LYIVpwPQ
正確には関東弁じゃなくて、横浜弁だ。それも一部だ。

或いはただの若者言葉だ。方言じゃなくて
おっさんのジェネレーションギャップだろ。
0857名前は開発中のものです。04/12/25 15:58:53ID:MezRFgLp
俺は関東からは遠く離れたところに住む10代だが、
「〜じゃん」などという日本語を話す人は見たことないぞ。
0858名前は開発中のものです。04/12/25 16:01:15ID:LYIVpwPQ
ロンドンブーツの番組でも観てみたらどうだ
(俺の嫌いな)淳あたりが使いまくってるから

放送してないならしょうがないが
0859名前は開発中のものです。04/12/25 16:06:23ID:MezRFgLp
まあ確かにテレビでは良く聞くな。民放は2つしか無いけど。
0860名前は開発中のものです。04/12/25 16:29:29ID:/qLxrfjn
CS放送見れば?
0861名前は開発中のものです。04/12/25 17:13:47ID:psXyZ17i
外国人が見てる可能性は考えないのか。
0862名前は開発中のものです。04/12/25 17:22:45ID:YOsy1fps
うん
0863名前は開発中のものです。04/12/25 21:13:47ID:I+wnayTK
SEの話に流れを変えようと思ったんだがスレ違いなのでやめた。
■ このスレッドは過去ログ倉庫に格納されています