■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

DirectX総合スレ (Part5)
501 名前:名前は開発中のものです。 :2006/09/29(金) 00:24:29 ID:gYSr6WhV
だからAeroを使えば解決すると言っているだろう。

502 名前:名前は開発中のものです。 :2006/09/29(金) 00:27:16 ID:N5SjyFNE
タスクバーのポップアップでやたら処理が重くなるのは
昔からの定番みたいなもんなんだよ。

DXUTのサンプルがそうならないってほうが意外だった。

503 名前:名前は開発中のものです。 :2006/09/29(金) 00:30:27 ID:3ckC2oiR
原因はマルチサンプルだった。マルチサンプルをONにするとサンプルでも遅くなる。
バッファのフォーマットのせいでコピーが発生してるような気がするけど、正直わからん。

>501
すまん、一応配布予定なのでAero限定は無理だ。

504 名前:名前は開発中のものです。 :2006/09/29(金) 22:25:53 ID:N5SjyFNE
ところでN氏のライブラリはどうなったんだろうか

505 名前:名前は開発中のものです。 :2006/09/29(金) 22:55:00 ID:+W9NI1Pp
もういいって。

506 名前:名前は開発中のものです。 :2006/09/29(金) 23:00:27 ID:bQHZkLAr
DirectXの中で一番好きな関数はなに?

507 名前:名前は開発中のものです。 :2006/09/29(金) 23:22:29 ID:+I2r6/3e
CreateTeapot

508 名前:名前は開発中のものです。 :2006/09/30(土) 00:19:21 ID:DBE05lgj
喉が渇いた時に便利だよね。

509 名前:名前は開発中のものです。 :2006/09/30(土) 00:34:44 ID:sEeiZqED
CreateSakuratan

510 名前:名前は開発中のものです。 :2006/09/30(土) 06:08:14 ID:5xvehRtz
mikoto2xで吐いたXファイルを、シェーダーを介してボーン変形出来るようになったんすが、
どうもMikotoでの変形結果と同じにならない

調べたらMikotoのボーン変形は、関節部を潰さないようにかなり特殊な計算をしているみたいっすね
これってどうやってるのかな。シェーダーじゃ無理っすかね

511 名前:名前は開発中のものです。 :2006/09/30(土) 08:48:50 ID:QdcbVNXK
D3DXの高レベルAPIを使っているのなら、それをやめれば解決。
クオータニオンの補間がおかしいし、その他問題が沢山あるので使い物にならない。

512 名前:510 :2006/09/30(土) 10:27:47 ID:5xvehRtz
>>511
レスどうもっす
申し訳ないっすが、姿勢行列の補間は関係なさそうっす。シェーダーなんで頂点補間の部分は当然自前です

スキニングなんて誰がやっても同じ計算(ボーンごとに変形した頂点座標を、ウェイト値に基づいて再調整)に
なるわけっすが、どうやら他の算出方法もあるらしい。それをお尋ねしたい次第っす

それとも、あまり有名じゃないんすかね。検索しても全く出てこないっすし・・・
Mikotoオリジナルっぽい気がしてきましたわ。一体どうやってるんすかね

513 名前:名前は開発中のものです。 :2006/09/30(土) 11:13:00 ID:f6Ng8zSY
定番の方法は所詮線形補間だからな。
ちゃんとやるならそれなりに面倒なコトになるだろうけど、
線形補間でもちゃんと見えるようにデータを作るほうがいいと思う。

514 名前:名前は開発中のものです。 :2006/09/30(土) 12:41:48 ID:LWd9FNUh
手作業になるけど関節の間にわざと緩んだ骨を仕込むってのがあったなー。
このへんはCG屋さんに聞いてみるのも良いんじゃない?

515 名前:名前は開発中のものです。 :2006/09/30(土) 12:58:03 ID:ZLzDkOO3
>>510
間接部の回転角度の補間はクォータニオンで扱って初めてやれる処理なんで
行列の方(つまりxファイル形式)に落とし込んじゃうともう事実上不可能だと思う
実際にはミクロマンのひざ間接みたいな二つの骨の間を埋める小さい骨を何個かつくってる
…はず

516 名前:名前は開発中のものです。 :2006/09/30(土) 17:01:55 ID:1o8uqwbg
>>512
以前、mikotoの掲示板で「bdefアンカーによる影響ってどういう計算式?」
っていう質問があって、それに対してゆーり氏が
『秘密です。
 っていうのは嘘ですが、
 詳しく説明するのもアレなので、ヒントを。
 2個以上のアンカーに影響される頂点に対して、
 その頂点と互いのアンカーの面との距離で影響力を決定しています。
 アンカーの面は最低でも6つありますが、
 どの面との距離をとればいいかは想像つきますね?』
って答えてた。
結局、正確な計算式は不明。

517 名前:名前は開発中のものです。 :2006/09/30(土) 17:21:25 ID:ZLzDkOO3
>>516
すごくいいことを聞いた
横からd

518 名前:510 :2006/09/30(土) 18:15:01 ID:5xvehRtz
>>513-514
線形補間を詰めた方がイイって事っすね。ゲームですし、線形補間の方が速そうっすしね
ただあの綺麗な曲げは捨てがたく・・・

>>516
引用感謝っす。補間方法では無さそうっすが、ウェイトを決める方法っすね

>>515
なるほど、検索結果と合わせて何となく分かってきたっす
ボーンの回転中心を、頂点が結果的に円を動くような位置へと補間していけばいいんすね

おかげでなんとか出来そうです。皆さんレスありがとうございました

519 名前:名前は開発中のものです。 :2006/09/30(土) 19:34:59 ID:3Lp8oI6E
>518
確かにMatrixの線形補間の方がはやいけど、Quaternionで補間しても
誤差程度しか差は出ないよ。
肘、ひざ、肩とか必要な箇所だけ頂点の補間法変えればよし。

520 名前:名前は開発中のものです。 :2006/09/30(土) 21:05:20 ID:f6Ng8zSY
>>519
シェーダーでやるってことを考えるなら色々と最適化を考えても場所ごとに分岐はやめたほうがいい気がする。
ツール系は全部CPUで計算しちまっても問題ないがリアルタイムなゲームだと色々面倒だぞ。


521 名前:名前は開発中のものです。 :2006/09/30(土) 21:44:59 ID:3Lp8oI6E
>やめたほうがいい気がする。
「やってダメだった」じゃなくて「気がする」って事は
試してないって事でOK?

522 名前:名前は開発中のものです。 :2006/10/01(日) 01:15:18 ID:ogT2TFR+
シェーダーの方で球面線形補間を頂点ごとにやってやろうと思ったけど
クォータニオンをマトリクスへ落とすだけでほとんど命令数を使い切っちゃう感じで駄目ですた
なにか最適化する方法があるのかもしれないんだけど頭が悪いのでわかりません

そんなわけなんで骨と骨の間にそれらを半々の割合で球面線形補間した骨をあらかじめ
用意しておいて使うことにしたんだけど、そうすると今度はシェーダーへ渡すマトリクスの
数が2倍近く増えるんでレジスタ数の限界を考えてモデルの方で使えるの骨の数に
かなりきわどい制限がでてきてしまう始末

523 名前:名前は開発中のものです。 :2006/10/01(日) 01:24:03 ID:oVrgML5A
大抵はシェーダで2パスの処理するわけだし
2度も線形補間のコードをシェーダで通すくらいなら
CPUでやったほうがよくね?

ぶっちゃけ簡単だし

524 名前:名前は開発中のものです。 :2006/10/01(日) 01:49:58 ID:ogT2TFR+
確かに何回もDrawPrimitiveしなきゃならんとなると変形をすましちゃったものを
最初から用意しておいたほうが速くなる場合もあるね
そういうどーしょもない話がDirectX10だと解消されてくるわけだ

525 名前:名前は開発中のものです。 :2006/10/01(日) 01:52:50 ID:oVrgML5A
え、そーなの?それは知らんかった。
シャドウバッファとかやるときはどうすんだ?

526 名前:名前は開発中のものです。 :2006/10/01(日) 03:27:09 ID:JJz6bZ2w
ここはゲーム製作板なのに、レベル高いなぁ。

527 名前:名前は開発中のものです。 :2006/10/01(日) 12:46:08 ID:dPbmkgF9
シャドウバッファとかは素直に書くしかない。
CPUとGPUを比べた場合現状はGPUの特に頂点シェーダーは
よほどのことがない限り遊んでるから頂点シェーダー側で命令が増えるのは
そんなにペナルティにならないことが多い。

一般的にゲームを作っていて処理がきつくなるのはCPU負荷とピクセルシェーダー部分。
とくにDrawPrimitiveはGPUコマンド発行するだけだがこれがべらぼうにCPU負荷食う。
ここはDirectX10で緩和されると言われてるね。

>>522
確かにボーンが増えてそれを全部定数レジスタに入れようとすると結構厳しくなるね。
とくにVS1.1だとボーンなんて10本くらいがいいとこだから現実的じゃないね。

最低でもVS2.0くらいのレジスタ数は欲しいねぇ。

できればVS3.0にしてボーンのマトリックスをfp16/fp32のテクスチャにいれて、
頂点シェーダー内でボーンのマトリックスをテクスチャからサンプリングするという方法もある。
これなら3テクセルに1ボーン入るからかなりの量のボーンが使える、ハズ。



528 名前:名前は開発中のものです。 :2006/10/01(日) 12:54:03 ID:iXDGlJTF
モデリング時に頂点辺りの最大数を設定して最適化するしかない。

529 名前:名前は開発中のものです。 :2006/10/01(日) 12:57:10 ID:PqisUcBy
すいませんちょっと聞きたいことあります。
すでにDirectXで作ったゲームがあるんですが、
これをネトゲにしようかと思ってます。

そこで気になったことが1つあります。
うっかりウィンドウキーを押してしまうと最小化されてしまい、
その間にやられて死んでしまう可能性です。
人間同士の駆け引きを楽しむネトゲにしたいんで、
こういった部分は全て排除していきたいんです。

一応ウィンドウキーを無視するようにはできたんですが、
これはマナー違反みたいな意見もあるかと思いまして、
ちょっと迷っているところです。

つまり、
A.ウィンドウキーを無効にしてゲームの快適さを優先
B.うっかりウィンドウキーを押して死んでしまってもWINのマナーを優先
どちらにすべきか・・・ということです。
個人的にはA.と思うんですが・・・。

よろしくおねがいします。

530 名前:名前は開発中のものです。 :2006/10/01(日) 13:02:43 ID:iXDGlJTF
余計なことはして欲しくない。
世に言うところの、小さな親切大きなお世話。
どうしてもやるんだったら、後から設定するオプション扱い。

531 名前:名前は開発中のものです。 :2006/10/01(日) 13:05:39 ID:PqisUcBy
>>530
なるほどオプションですか。
これならばウィンドウキーの有効・無効が自由にできますね。
そうするとデフォは普通にウィンドウキーが有効になっていて、
ネトゲに熱中しちゃう人はオプションで無効にできるから、
うっかり押しちゃって死ぬなんてことはない・・・と。

とてもいいアドバイスありがとうございました。

532 名前:名前は開発中のものです。 :2006/10/01(日) 13:09:47 ID:dPbmkgF9
・Windowsキーをブロックするのは確かにルール違反。
 だがやっているゲームも存在する。
 そもそもの問題としてキーフックはWindows2000以降でなければできない。

・ALT+TABをブロックするのはかなり嫌われるコトになるけどそっちをどうするのか?

・ALTキーを押したときに動作が停止しないか?

・タイトルバーをクリックしてウィンドウを移動させるときにゲームが停止しないか?

動作に関して気になるならこの辺も全部確認しとき。
ちなみに個人的にはWindowsキーやALT+TABは自己責任で
デバイスロスト状態からの復帰をきちんとサポートってのが好み。
普通はWindowsキーってそうそう押さないし。

533 名前:名前は開発中のものです。 :2006/10/01(日) 13:15:22 ID:bcMO92DK
>>527
頑張れば2テクセルでいけるな。
姿勢だけなら自由度6だから、6つのパラメータ有れば十分。
VSからテクスチャ参照するコストと、VS内で行列を生成するコストを
天秤にかけることになるが。

>>529
キーフックとかで無効にしてるのならやめよう。
DISCL_NOWINKEYでググるべし。

534 名前:名前は開発中のものです。 :2006/10/01(日) 13:18:22 ID:dPbmkgF9
>>533
姿勢で持つにしても別途移動と親からのオフセットは必要にならない?

535 名前:名前は開発中のものです。 :2006/10/01(日) 13:19:36 ID:PqisUcBy
>>532
>・ALT+TABをブロックするのはかなり嫌われるコトになるけどそっちをどうするのか?
これにつきましては何もしないつもりです。
ウィンドウキーは1つ押しただけでスタートメニューが出てしまうので、
こういった操作ミスによるキャラ死亡だけは避けたかったんです。
ALT+TABは2つ押すんで操作ミスはありえないと思ってます。

>・ALTキーを押したときに動作が停止しないか?
>・タイトルバーをクリックしてウィンドウを移動させるときにゲームが停止しないか?
これについては後で考えますが、
現在はフルスクリーンのみで動くようになってます。

>>533
現在はキーフックでやってますが、
これはいいのを教えてもらいました。 →DISCL_NOWINKEY
早速取り込んでみたいと思います。

ありがとうございました。

536 名前:名前は開発中のものです。 :2006/10/01(日) 17:20:55 ID:ogT2TFR+
>>523
DirectX10だと頂点シェーダー通った頂点をまたビデオメモリへ書き戻せるんだってさ
だから結構重たい変形処理を頂点シェーダーにやらせても次のパスではその結果を再利用できる

てか俺vs1.1で動かないといやなのにDirectX10とか何いってるんだろうね

537 名前:名前は開発中のものです。 :2006/10/01(日) 17:26:08 ID:iXDGlJTF
ビデオカード側が対応していないと、全部CPUでやることになるけどね。

538 名前:名前は開発中のものです。 :2006/10/01(日) 17:36:19 ID:dPbmkgF9
>>536
vs1.1を前提にするならそもそもレジスタが全く足りないので
ボーン処理は不可能と考えたほうがいい。

全部CPUでやるか固定機能でやるのが定番だな。

VS1.1ってGeForce3あたりだっけ?GeForce4も含まれるのかな。
どっちにしろそんな今となっては屑みたいなビデオカードをサポートすることで
クオリティを落とすというのはどうかと思うが趣味でやる分には別にいいのか。

GeForce3とかをHALでサポートするっていう前提の場合、
CPUも世代を合わせるとPen3の1000Hzあたりがターゲットってコトだよな。

日本は2D信仰が病的な程あるが、その強い影響で低スペックマシンを
前提として考える傾向が抜けないよなぁ・・・

低スペックマシンはオプションでギリギリ動くんじゃない?程度にしといて、
標準機能をは現行スペックにあわせて作ればいいのに。

539 名前:名前は開発中のものです。 :2006/10/01(日) 17:37:00 ID:dPbmkgF9
1000Hzじゃなくて1000MHzネ・・・

540 名前:名前は開発中のものです。 :2006/10/01(日) 17:41:36 ID:y/oaRnBb
>>538
↓で説教してきてください。

エロゲメーカーはいい加減低スペックPCを切り捨てろ
http://pie.bbspink.com/test/read.cgi/erog/1114845529/

541 名前:名前は開発中のものです。 :2006/10/01(日) 17:54:14 ID:7roD0klY
趣味でやる分には切り捨てても良い、の間違いじゃね

>>515
行列に落としても出来るっしょ
逆にXファイルにクォータニオンで持たせることも(標準テンプレ範囲で)可能

542 名前:名前は開発中のものです。 :2006/10/01(日) 18:02:29 ID:dPbmkgF9
いや業務でやる分にはとりあえず現行スペックにあわせて作ったうえで、
最終的には低スペックのマシンでも「表示がされなかったり動かなかったりはしない」
っていうレベルにしとけばいいわけだし。
切り捨てるっていうか基準を上にシフトさせるってコト。

そもそもvs1.1で作ったってGeForce2じゃHardwareTnLで動かんのだし。
MatroxG400じゃvsなくてもHardwareTnLで動かんわけだし、
作るときはこの辺でも全部「表示はされてゲームは動く」レベルには合わせるだろ。

まぁゲームのソースはビデオカードのサポート具合に合わせて
大量に機能毎の分岐やらシェーダー切り替えが出てくるケドナー。

543 名前:名前は開発中のものです。 :2006/10/01(日) 18:03:29 ID:iXDGlJTF
>>538
足りないというのは、一頂点辺りいくつのボーンを前提にして足りないといってるんだ?
固定で出来る数なら1.1で十分に対応できるんだが、いったい何の話をしているんだ?

544 名前:名前は開発中のものです。 :2006/10/01(日) 19:17:28 ID:dPbmkgF9
>>543
それはボーン数というかウェイト数だろう。
1回のDrawPrimitiveに使えるボーンの数が少なすぎるという話。

定数レジスタが96しかないんだからすべてをボーンに使ったって32本しか使えない。
だが実際には透視変換・ライティング・フォグ・テクスチャアニメーションなどの頂点処理で
レジスタを使わないといけないのだから1回のDrawPrimitiveで使えるボーンはせいぜい20本がいいトコだろ。

vsで凝ったことをするほど1回のDrawで使えるボーンの数が減っていくんだよ。
逆に凝ったことをやらないなら固定機能で十分なわけだ。


545 名前:名前は開発中のものです。 :2006/10/01(日) 19:29:57 ID:iXDGlJTF
それはGeforce系でMaxVertexBlendMatrixIndexの数を確認した上での発言か?

546 名前:名前は開発中のものです。 :2006/10/01(日) 19:37:58 ID:6J1M+7ut
Vistaが出るからこれからのメーカ製PCのグラフィック機能も底上げされる

といいな

547 名前:名前は開発中のものです。 :2006/10/01(日) 19:55:43 ID:LpXzSsQ4
底上げされても結局OSにパワー食われてしまうのでは?
と不安です。

548 名前:名前は開発中のものです。 :2006/10/01(日) 20:06:55 ID:4Fg07nio
どうせAeroは切れるし底上げしなきゃ喰われて死ぬしw

549 名前:名前は開発中のものです。 :2006/10/01(日) 20:13:34 ID:dPbmkgF9
>>545
とりあえずGeForce6600

固定機能ライト数 : 8
ブレンドマトリックス数 : 4 ← MaxVertexBlendMatrices
ブレンドマトリックスインデックス数 : 0 ← MaxVertexBlendMatrixIndex

頂点シェーダー定数数 : 256
頂点シェーダーバージョン : 3.0
ピクセルシェーダーバージョン : 3.0
動的フロー制御命令のネスティング : 24
静的フロー制御命令のネスティング : 4

DirectX9世代のビデオカードでは固定機能はもうサポートされてないね。
メーカーの言うとおり全部シェーダーでやれっていうことなのだろう。
DirectX8世代はサポートしてるらしいけどねぇ。

そういうメーカーやAPI側の問題も踏まえたうえでDirectX8=vs1.1は使い物にならんと言ってわけだが。
ちょっと言い方に問題あったな。
固定機能は除外してくれ。

VS2.0ベースで作って対応してなきゃD3DCREATE_MIXED_VERTEXPROCESSINGと
SetSoftwareVertexProcessing()で分岐って感じがいいと思うけどが一般的じゃないのかねぇ。

550 名前:WindowsVista :2006/10/01(日) 20:14:59 ID:QL6n0Hv/
Radeon X以下の性能のベデオカード搭載機なんてPCである資格はありませんですぅ><

551 名前:名前は開発中のものです。 :2006/10/01(日) 20:41:42 ID:ogT2TFR+
くだらない煽りあいはもういいよ

>>541
>行列に落としても出来るっしょ
どうやるか教えてください!

552 名前:名前は開発中のものです。 :2006/10/01(日) 21:10:25 ID:9AU5rKoE
モデル読み込めてシェーダーも知識不要でテクスチャ読み込ませるだけで作成できて
プレビューもできるようなソフトない?


553 名前:名前は開発中のものです。 :2006/10/01(日) 21:29:58 ID:oVrgML5A
>>536
あー、なるほど。そういう仕組みなのか。
最近新しいことについていけねーよ・・・悪い傾向だなぁ

554 名前:名前は開発中のものです。 :2006/10/01(日) 22:32:09 ID:IrowYbpc
5000円もしないFX5200w@2z4i4b@ewXPよりかるいのに
底上げとかないだろ

555 名前:名前は開発中のものです。 :2006/10/01(日) 22:56:16 ID:lU6LhM6k
高いイメージがあるグラボも中古で探せば意外と安かったりする。

後はまぁ、規格が合うか調べる能力とか
コンピュータの蓋を外して中を弄ることについての多少の努力とか

556 名前:名前は開発中のものです。 :2006/10/02(月) 00:53:03 ID:OdW/jKpG
>>552
Unreal Editor
半分マジレス

557 名前:名前は開発中のものです。 :2006/10/02(月) 01:31:38 ID:kV9hqfDm
>>556
今出回ってるUE2はシェーダー関係一切使えない
マトモにUE3使ってエディタ外さないタイトルはUT2k7
すなわち来年

FarCryのエディタで代用できそうだけどメンドイ
誰か作れ

558 名前:名前は開発中のものです。 :2006/10/02(月) 02:38:01 ID:7H4MMFEr
サンプルのShadowMapをいじってまして、これはデフォルトではスポットライトみたいな
効果が出るのですが、無限遠光源の表現に改造しようとしています
とりあえずg_mShadowProj(光源から見た場合の射影行列)を正射影で作るようにしてみた
のですが、細かいシマシマが出るようになってしまいました。
何となくShadowMap.fx内のsourcevalsをいじっているあたりが怪しいと思っているのですが、
よくわかりません。
一応シャドウマップの原理は理解したつもりなんですが、ここは何だか難しい事をやってるようで。。。
どう直したら良いのか教えて下さい。

559 名前:名前は開発中のものです。 :2006/10/02(月) 08:59:30 ID:OdW/jKpG
>>557
をいをい…「シェーダー関係」ってHDRとか法線マップ使えないと
「一切使えない」ってことになるのか?
UEDのマテリアルエディタ触った事ある?
描画パスの勉強するには必要充分なシェーディング機能だぞ。

560 名前:名前は開発中のものです。 :2006/10/02(月) 09:14:15 ID:aFY/cqAR
>>558
簡単にいうと、遠近射影と正射影とでは誤差の乗り方が違うのよ。
とりあえず SHADOW_EPSILON を 100倍にしときなさい。

561 名前:名前は開発中のものです。 :2006/10/02(月) 10:11:45 ID:CTih6+Zy
正射影でシャドウマップを作る場合は、wで割らない方がいいのですか?

562 名前:名前は開発中のものです。 :2006/10/02(月) 10:36:11 ID:aFY/cqAR
>>561
正射影の場合 w は常に1だから、深度値は常に線形になる。
遠近射影の場合は、wで割ると深度値が非線形になる。(一応線形で求めることもできる。)
非線形だと、遠くの方ほど深度の変化が緩やかになるから、
そのサンプルだとたまたま、極少のバイアスでもうまくいってるんだと思う。
一方で線形は、深度値を頂点シェーダの方で求めても正しく補完されるメリットがあるみたい。
とりあえず正射影なら線形一択ね。

563 名前:名前は開発中のものです。 :2006/10/02(月) 10:55:48 ID:CTih6+Zy
>>562
thx!
だけどホントはwで割る理屈が勘でしかわかってないから、線形と非線形について調べます。m(_ _)m

564 名前:名前は開発中のものです。 :2006/10/02(月) 11:20:01 ID:IdJRfXBf
>>560
ありがとうございます!
もっと大きな値(0.01とか)で上手く行きました。
このサンプルではライティングをピクセルシェーダーでやってるのですが、これは何か意味があるんでしょうか?
仕組み上こうするしかないんですか?

565 名前:名前は開発中のものです。 :2006/10/02(月) 12:52:14 ID:aFY/cqAR
>>564 スポットライトの内外判定を正確にするためね。

566 名前:名前は開発中のものです。 :2006/10/02(月) 13:07:48 ID:IdJRfXBf
>>565
なるほど。。。
ありがとうございました。すっきりしました。

567 名前:名前は開発中のものです。 :2006/10/02(月) 21:44:16 ID:CTih6+Zy
>>562
遠近射影の場合のwの導出式はあるのでしょうか?

何となく
w=kZ (kは定数)

みたいな気がしているのですが、これから

Z=w/k

になってしまうので、変な気がするのですが…

568 名前:名前は開発中のものです。 :2006/10/02(月) 22:25:57 ID:aFY/cqAR
>>567
詳しくは下を見てね。
http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/directx9_c/directx/graphics/reference/d3dx/functions/math/d3dxmatrixperspectivefovlh.asp
Zp = (Zv - near) / (far - near) * far, Wp = Zv ね。
Zv = near〜far を遠近射影で変換すると
Zp = 0〜far, Wp = Zv になって、
depth = Zp / Wp で、(非線形の)0.0〜1.0になるわけね。
ちなみに depth = (Zv - near) / (far - near) だと(線形の)0.0〜1.0ね。
シャドウマップの深度値を非線形で求めるメリットってあまりないと思うから、
後者の方でいいと思うけどね。
(PSMとかの場合はどうしても非線形になるけど)

569 名前:名前は開発中のものです。 :2006/10/02(月) 22:46:34 ID:CTih6+Zy
>>568
サンクス!分かるようにがんばってみます。

>depth = Zp / Wp で、(非線形の)0.0〜1.0になるわけね。
の「非線形」というのは、Zp と Wp の2変数の関数になっているから
「非線形」なのですか?

>ちなみに depth = (Zv - near) / (far - near) だと(線形の)0.0〜1.0ね。
こちらは Zv の1変数だけの関数だから「線形」なのですか?

570 名前:名前は開発中のものです。 :2006/10/02(月) 23:38:14 ID:aFY/cqAR
>>569
グラフにしたときに
y=ax みたいに直線になる(均等に変化する)のがそこで言う線形で
y=1/x みたいに曲線になるのがそこで言う非線形ね。
深度値が線形変化だと、頂点間のパラメータ補間も線形補完だからそりがあうのね。
後は自力で頑張ってねw

571 名前:名前は開発中のものです。 :2006/10/02(月) 23:42:29 ID:CTih6+Zy
>>570
がんばります

572 名前:名前は開発中のものです。 :2006/10/03(火) 00:59:45 ID:DSdGAOLr
ttp://www.nomuraz.com/denpa/prog006.htm#IDPROG0034
ここを読んでクロスシミュレーションを勉強しています。
基本的な理屈は分かったのですが、これだけだと、例えば棒の上に布を被せた
場合、最終的には布が棒に完全にフィットしてしまう事になります。
もうちょっと末広がりのスカートにクロスシミュを適用させたいと思っている
のですが、広がった状態を保つのに何か良い方法はないでしょうか。

573 名前:名前は開発中のものです。 :2006/10/03(火) 01:18:57 ID:7Ux3dkLn
下から風を当て続ける

574 名前:名前は開発中のものです。 :2006/10/03(火) 01:42:04 ID:DSdGAOLr
このやり方だと下から風を当ててもスカートが膨らむ訳ではないんですよ。上下になびくだけで。

575 名前:名前は開発中のものです。 :2006/10/03(火) 01:45:32 ID:7Ux3dkLn
あらボケにマジレスが付いてしまった・・(´Д`lli)ゞ

>>572 の方法を見てないんだが、ベースとなるモデルでスカート広げといて
それである程度制限つけて何とかならないものかなあ?

576 名前:名前は開発中のものです。 :2006/10/03(火) 02:19:05 ID:vWVbEwXE
スカート着せないでスク水着せるってのはどうだろう?

577 名前:名前は開発中のものです。 :2006/10/03(火) 02:23:39 ID:DSdGAOLr
そうなんです、「なるべく元のメッシュの形に戻る」というのをやりたいんです。
上の方法は、隣り合う頂点同士がばねで結合してあって、各頂点が重力や風の影響を
受けて動きつつ、お互いに引っ張り合う というような簡単な実装なんですが、
これをどう発展させれば良いのか・・・
単純に「各頂点は元居た位置に戻ろうとする」みたいなルールにすると、想像しただけで
変な動きになりそうな・・・。

578 名前:名前は開発中のものです。 :2006/10/03(火) 02:27:28 ID:vWVbEwXE
だよね。
巨乳やめてひんぬーにすれば乳揺れ演算の手間が省けるし萌えもアップする

579 名前:名前は開発中のものです。 :2006/10/03(火) 02:28:45 ID:DSdGAOLr
ちょっと、なるべく前向きに考えていきたいのですが・・・

580 名前:名前は開発中のものです。 :2006/10/03(火) 02:50:14 ID:aoBC2TiS
ID:DSdGAOLrよ。
スカートのシミュレーションはDirectXとは直接の関係はない。
かろうじて3Dというキーワードで関連性があるだけだ。
いい加減ここで論じてもネタになるだけだと気づけ。

真に技術的な話をしたければオマエにピッタリのスレがあるから、
↓↓↓↓↓↓↓↓↓紹介してやる↓↓↓↓↓↓↓↓↓

【おっぱい】エログラミング Ver.0【まん○】
ttp://pc8.2ch.net/test/read.cgi/gamedev/1159714969/

(本当に真面目にやってるから困るw

581 名前:名前は開発中のものです。 :2006/10/03(火) 05:15:00 ID:y9F7IyNg
>>577
>各頂点は元居た位置に戻ろうとする
これでOKだよ。ペナルティ法みたく力を加算してやればいい。
けど結局重力との兼ね合いがあるからなかなか思ったようにはいかないんだよね
…と思ったけど戻ろうとする位置を重力の強さから計算して少し上にすると
そういう心配がいらないのか今思いついた

582 名前:名前は開発中のものです。 :2006/10/03(火) 06:57:20 ID:vgAfYw3G
あーうぜぇ。
DirectX9でプログラム組んだら、
実行ファイルといっしょにd3dx9d_27.dllもつけてくばれよ。
どうやってdll取得すりゃいいんだよ。

583 名前:名前は開発中のものです。 :2006/10/03(火) 07:07:35 ID:YfYGNZyI
そこで.NETですよ

584 名前:名前は開発中のものです。 :2006/10/03(火) 07:11:05 ID:vgAfYw3G
てか、普通、dllといっしょに配布するもんなんだろ?

585 名前:名前は開発中のものです。 :2006/10/03(火) 07:22:48 ID:vgAfYw3G
ってか、d3dx9「d」_27.dllってデバッグバージョンかよ。
もう、死ねw
デバッグビルドで配るのかよ。
これじゃ、dllどうしようもねぇよ。
ってか、製品かよwこれw
担当者首吊っていいぞw

586 名前:名前は開発中のものです。 :2006/10/03(火) 07:27:40 ID:YfYGNZyI
どういう状況かわからないので詳しく

587 名前:名前は開発中のものです。 :2006/10/03(火) 08:35:12 ID:P7VMQaAC
DLL配布がマジでうざいので俺はOctober2004が手放せない。

588 名前:名前は開発中のものです。 :2006/10/03(火) 11:21:37 ID:XIIuodg5
まさにDLL HELL。MSは新しいD3DX出したらWindows Updateで配るべきだ。

589 名前:名前は開発中のものです。 :2006/10/03(火) 13:14:44 ID:M3DXFH7V
>>60
ドラえもんのセリフだったのか。

590 名前:名前は開発中のものです。 :2006/10/03(火) 23:09:52 ID:4Fizvc7m
>>585
>デバッグビルドで配るのかよ。
これって配布しちゃダメなんじゃないっけ?
(d.dllは配布NGだよな・・・)

591 名前:名前は開発中のものです。 :2006/10/04(水) 03:39:54 ID:4wzn7ySy
っつーか、DLL自体も配布禁止じゃねーの?
ちゃんとランタイム入れさせたら問題ないよ。

592 名前:571 :2006/10/04(水) 03:41:52 ID:DSlHTxnP
>>568
度々すいません。やっと計算が合いました。

Pv = ( Xv , Yv , Zv , 1 ) で、Pp、Pv を列ベクトルとすると

Pp = ( DirectXのパースペクティブ射影行列 ) * Pv

と計算をしていたから、計算が合いませんでした。。


DirectXの行列の場合は、Pp、Pv を行ベクトルとし、Pp = ( Xp , Yp , Zp , Wp ) とすると

Pp = Pv * ( DirectXのパースペクティブ射影行列 )

が正しいですよね。


普通の数学の行列とDirectXの行列の掛ける順番が、逆だった事を忘れてました。。


>ちなみに depth = (Zv - near) / (far - near) だと(線形の)0.0〜1.0ね
これは 「 depth = Zp / Wp 」 の式で
Wp = far ( Wp は far で常に一定 )
とした時の結果だと思うのですが、どういうときに Wp = far で
「 Wp = 一定 」 となるのですか?

度々ですが、よろしくお願いいたします。

593 名前:571 :2006/10/04(水) 03:59:49 ID:DSlHTxnP
何となく
( DirectXのパースペクティブ射影行列 )

( DirectXの左手座標系正射影行列 )
にすれば、上の疑問が解決しそうな気がしてきました。。

594 名前:571 :2006/10/04(水) 04:05:47 ID:DSlHTxnP
おさわがせしました.。。>>593で解決しました。。m(_ _)m

595 名前:名前は開発中のものです。 :2006/10/04(水) 06:15:19 ID:Ktl66vb4
>>591
リリースならいーんじゃなかったっけ?

596 名前:名前は開発中のものです。 :2006/10/04(水) 08:51:54 ID:XNeWH2d0
リリースのDLLは開発者が配布するんじゃなかったっけ?

597 名前:名前は開発中のものです。 :2006/10/04(水) 11:20:48 ID:OxntC239
Redistに入ってるインストーラという形なら再配布おk。
DLLをアプリに付けるのはアウト。

しかし、DirectX 9.0c End-User Runtimes (February 2006)とかわかりにくすぎるよな。
DirectX 9.1とか9.2にしないのはなんでなんだ?


598 名前:名前は開発中のものです。 :2006/10/04(水) 12:14:36 ID:2xOQlnLJ
開発者が自由に決めていいんじゃなかったっけ?

599 名前:名前は開発中のものです。 :2006/10/04(水) 14:54:41 ID:4wzn7ySy
みんな再配布に関する知識が適当だな・・・(;´д`)
>>597 でFAです。

バージョンは 9.0「c」の時点で怪しいよね。
内部処理の変更だけっていうなら納得もでくるけど、そうでもないし・・

600 名前:名前は開発中のものです。 :2006/10/04(水) 15:44:34 ID:MKHuD+QX
>>597
DX9は場繋ぎだからな
DX8のあと手をかけたのはDX10のほうで
DX9はこの間を埋めるために作られただけ
だからDLLとか変な形で配布するようになってる
9.1とか9.2とか気軽にバージョン刻んじゃうと
Vistaが遅れたらエライ目にあってしまう

601 名前:名前は開発中のものです。 :2006/10/04(水) 20:36:35 ID:SU/1cxSP
んで実際VIstAが遅れているため変なバージョンが乱発されたと

602 名前:名前は開発中のものです。 :2006/10/04(水) 21:21:29 ID:OxntC239
なるほど。しかも、DirectX10はVistaオンリーだからな・・・繋ぎのDirectX9が当分主流になる悪寒。

603 名前:名前は開発中のものです。 :2006/10/05(木) 21:30:05 ID:nihkvWc+
>>602
>繋ぎのDirectX9が当分主流になる悪寒。

内心そうであって欲しいと思ってる俺は悪い子です。

604 名前:名前は開発中のものです。 :2006/10/05(木) 21:50:19 ID:SqDbZcnZ
DirectX9主流に意義はないが、
マイナーチェンジのたびに配布DLL増やすのは辞めろといいたい。

605 名前:名前は開発中のものです。 :2006/10/05(木) 21:52:16 ID:UDop+ZrD
つまりソースで配布してユーザーがコンパイルする時代がDirectXにも来るということか

606 名前:名前は開発中のものです。 :2006/10/05(木) 22:20:45 ID:CyAerv/D
配布ってなんだよw
MS Update通せって書いとくだけだろ

607 名前:名前は開発中のものです。 :2006/10/05(木) 22:22:09 ID:PrJx0YGz
D3DXに関してはアップデートでは入らない。

608 名前:名前は開発中のものです。 :2006/10/05(木) 22:28:34 ID:ekRcqY1k
ネットにつなげない状況にある子もなんとか救ってやりたい次第。

609 名前:名前は開発中のものです。 :2006/10/05(木) 22:51:12 ID:/NLAzQcl
October2004あたりでビルドしておけば無問題?

610 名前:名前は開発中のものです。 :2006/10/06(金) 00:02:54 ID:sTGhBtZC
Managed DirectX使えばいいじゃん。
今日付けでMDX2.0ベータは使えなくなったから、MDX1.1で。

611 名前:名前は開発中のものです。 :2006/10/06(金) 00:21:12 ID:zAgFoh35
>>609
2年も前のSDKとか使うなよ・・

612 名前:名前は開発中のものです。 :2006/10/06(金) 01:25:50 ID:fUtYCWOE
2年前のSDKと今のSDKってぶっちゃけてD3DX関係しか違わないからあまり最近のにする意味もない。


613 名前:名前は開発中のものです。 :2006/10/06(金) 01:29:38 ID:zAgFoh35
>>612 は WindowsUpdate をしないタイプ。

614 名前:名前は開発中のものです。 :2006/10/06(金) 02:25:18 ID:5tz0fyrT
D3DXが大事なんだよ

615 名前:名前は開発中のものです。 :2006/10/06(金) 07:45:44 ID:POFlOsAD
それはない。D3DXは単なるオマケ

616 名前:名前は開発中のものです。 :2006/10/06(金) 07:52:39 ID:GYdEeNvt
VistaそしてDX10が出たときどうなるかだよな
MSはしばらくの間はDX9も新機能に対応させると言ってるが
どう考えても新機能が20あったら2か3しかDX9では対応しなそう

617 名前:名前は開発中のものです。 :2006/10/06(金) 08:43:50 ID:TKIe5Gjx
その新機能が欲しいかどうか?ってところだな。

618 名前:名前は開発中のものです。 :2006/10/06(金) 08:47:03 ID:fUtYCWOE
いちいちDLL添付して配布しなきゃならん時点で
ネット上での公開が激しく面倒。

619 名前:名前は開発中のものです。 :2006/10/06(金) 12:19:54 ID:o6y9NZtR
もういっそのことGDIを廃止してDirectXを内包してしまえばいいのに

620 名前:名前は開発中のものです。 :2006/10/06(金) 13:04:39 ID:BGqaNsol
>>619
坊や、Aeroって何か知ってる?

621 名前:名前は開発中のものです。 :2006/10/06(金) 14:28:41 ID:0Zp/+Eil
空気入りのチョコレート?
http://aero-land.jp/top

やっべ、ブーンしてる

622 名前:名前は開発中のものです。 :2006/10/06(金) 17:41:22 ID:xMPGWF4i
>>619
Vistaがそれだろ
廉価版はGDI系列だけど

623 名前:名前は開発中のものです。 :2006/10/07(土) 10:35:36 ID:Lg8HECqT
いやアロエも窓枠の中はGDIのまま
DirectX使うにはAvalonで書く必要がある

624 名前:名前は開発中のものです。 :2006/10/08(日) 16:58:14 ID:u5wlUUpD
このスレの200くらいまでを読んで
無駄にDirectXの話はしない
無駄に煽る
無駄に釣られる
無駄に俺語りをする
素晴らしいスレだとおもいまちた

625 名前:名前は開発中のものです。 :2006/10/08(日) 17:36:38 ID:J/lw30NR
どなたか、モーションキャプチャでキャラを動かした経験のある方いらっしゃいませんか。

626 名前:名前は開発中のものです。 :2006/10/08(日) 18:08:12 ID:t4f9uuWm
モーションキャプチャの機材の使用経験を聞きたいのか
それともネットで配布されているキャプチャデータの話を
聞きたいのかどっちなんだ?

627 名前:名前は開発中のものです。 :2006/10/08(日) 21:41:40 ID:J/lw30NR
機材もそうなんですが、主にキャプチャした後のデータをどうこねまわすのか、
話を伺いたいです。経験おありですか?

628 名前:名前は開発中のものです。 :2006/10/08(日) 23:16:37 ID:YNWehYqo
最近は知らんが、キャプチャーしたデータにはノイズが入ってそのままでは使えないから
オペレータとかに修正を依頼するのが普通だったね。
その時に、出力形式とか決めたり、適用するモデルのスケルトンを渡したり。

出来上がったデータは普通に使ったらいいじゃん。

何より、モーションキャプチャーしてる会社に聞いてみたほうが早いよ。

629 名前:名前は開発中のものです。 :2006/10/08(日) 23:24:43 ID:HYvBv04F
>>625
それ以前に人体のモデリングとかリグを組んだりとか、
キャプチャー以前に至る経験はあるのか?

630 名前:名前は開発中のものです。 :2006/10/08(日) 23:55:49 ID:J/lw30NR
>>628
修正作業はデザイナーにやってもらったんですか。実は一番知りたいのがそこだったり・・・
ノイズも問題になるでしょうけど・・・・
・100fpsで記録されてる生データを重要なキーフレームだけ取り出したい
・歩くキャラのつま先が地面にめり込んだり、デブキャラの腹に自分の腕が
 めり込むのを修正したい(可能なら自動で)
といった作業は、何て言うアプリで編集すれば良いですかね。
どのアプリもモーキャプデータの編集なんて全然考えてない・プラグインも
無いみたいなんですが・・・どうやって間引き&ポーズ修正したか分かりませんか。

>>629
デザイナーがやるので、そういう経験は無いです(花瓶くらいなら作れるでしょうが・・・)

631 名前:名前は開発中のものです。 :2006/10/08(日) 23:57:10 ID:57ON1ch9
そういうのは、MotionBuilder一択じゃないの?

632 名前:名前は開発中のものです。 :2006/10/09(月) 00:02:29 ID:FuiQQBpr
例えばセガのスペースチャンネル5ですが、あれは一つの(と思われる)
モーキャプファイルで、スリムな主人公から相当デブなキャラまで、それなりに
辻褄が合うように動かしてます。
モーキャプデータから抽出したキーフレームが充分に少なければ、手作業で修正
する事も出来るでしょうが、スペチャンのキーフレームはかなり密度が高い上に、
殆ど全編踊りですから時間も長いです。
何か効率的に修正出来る有名な製品でもあるのかなと思いまして・・・

633 名前:名前は開発中のものです。 :2006/10/09(月) 00:03:08 ID:J/lw30NR
>>631
MotionBuilderですか!ありがとうございます、調べてきます。

634 名前:名前は開発中のものです。 :2006/10/09(月) 00:26:10 ID:g6Zja+3M
> 修正作業はデザイナーにやってもらったんですか。実は一番知りたいのがそこだったり・・・
デザイナーじゃないよ。
モーションキャプチャースタジオのオペレーターさんに
キャプチャーからデータ加工までを一括でお願いする感じ。

古い話だから今は知らんよ。

635 名前:名前は開発中のものです。 :2006/10/09(月) 00:33:24 ID:NQHfVOFR
633 は今ごろ、MotionBuilderの値段を見て、ビビっているかもw
Standard無くなっちゃたしね。


636 名前:名前は開発中のものです。 :2006/10/09(月) 00:59:43 ID:3eM7knO2
フルスクリーンにしたらスプライトがぼやけるんですけど
これってビデオボードの問題ですかね

637 名前:名前は開発中のものです。 :2006/10/09(月) 01:02:54 ID:ERqi5yh1
ぼやけるのはスプライトだけなのか?

638 名前:名前は開発中のものです。 :2006/10/09(月) 01:06:05 ID:FuiQQBpr
>>634
ざっくりとした加工はまとめてやってもらっても、細々したのはこっちでやりたいんですわ
運用してみて問題が出るたびに修正に出す、ていうのも大変ですし。

>>635
まあ、自分の財布から出るわけじゃないからね。

639 名前:名前は開発中のものです。 :2006/10/09(月) 02:05:01 ID:g6Zja+3M
>>638
そこまで決まってるんなら、なぜココで質問したのか?

640 名前:名前は開発中のものです。 :2006/10/09(月) 13:09:14 ID:rZ6e1XGZ
>>636
デフォルトの設定でフィルタかかってるビデオボードも結構多い


641 名前:名前は開発中のものです。 :2006/10/09(月) 14:25:05 ID:btmawUgC
まさか液晶使ってるってオチじゃないよな

642 名前:636 :2006/10/09(月) 14:43:29 ID:3eM7knO2
レスあざーす

>>637
今のところそうです
文字とかはくっきり表示されてます
>>640
そうなんですか…
GDIだったらちゃんと表示されるからそっちにしようかな
>>641
えっ液晶だとだめなの?(汗
ノーパソなんですけど…
やっぱ古いノーパソでDirectX使ったゲーム作るのは間違ってたかな・・

643 名前:名前は開発中のものです。 :2006/10/09(月) 15:02:44 ID:rCZTHJGt
>>642
液晶はWindowed modeは別としてフルスクリーンにすると
標準の解像度以外だとぼやけるでしょ?

ってそういう話じゃなくって?

644 名前:名前は開発中のものです。 :2006/10/09(月) 15:34:42 ID:t31lpLSa
CRTモニタが減っているよな実際。

645 名前:名前は開発中のものです。 :2006/10/09(月) 15:41:25 ID:SdlywCzM
>>642
自分でボケないようにフィルタ設定すればいいだけだよ

646 名前:名前は開発中のものです。 :2006/10/09(月) 16:35:44 ID:ERqi5yh1
まぁ、あれだ
平面(じゃなくてもいいけど)ブラウン管ディスプレイを一台買え
ゲーム用に中古で

647 名前:名前は開発中のものです。 :2006/10/09(月) 19:36:43 ID:g6Zja+3M
> 自分でボケないようにフィルタ設定すればいいだけだよ
そういう問題なのか??

ノートとか液晶だと固定解像度だから、嫌でも引き伸ばされるはず。
まあ、液晶の解像度に合わせれば大丈夫って話なんだが。

648 名前:名前は開発中のものです。 :2006/10/09(月) 20:33:37 ID:L1UKMrZX
質問です。
左から右に行くほどどんどん透明になるテクスチャを表示したいんですけど
どうやるかわかりません。
スプライト->draw(〜,D3DCOLOR(r,g,b,a))でaの部分をいじるとテクスチャ全体
のアルファ値が変わるのでどうすればいいんでしょうか?

649 名前:名前は開発中のものです。 :2006/10/09(月) 20:53:12 ID:FuiQQBpr
最初からそういうアルファ値を持ったテクスチャを用意しておけば。

650 名前:名前は開発中のものです。 :2006/10/09(月) 20:57:08 ID:AkqysJFv
スプライト->drawでやるならpngでそういう画像用意した方がいいんじゃね?
あるいはサーフェスをロックして書き換えるとか

651 名前:名前は開発中のものです。 :2006/10/09(月) 20:59:21 ID:AkqysJFv
あ、かぶったw
あと用意するのマンドクセーけど、DDS使うとか

652 名前:名前は開発中のものです。 :2006/10/09(月) 21:07:05 ID:2wqecqNX
ID3DXSpriteを使わず、普通に頂点にαをセットすればいいだけ。
そんな物に頼っているから、その程度の簡単な処理すら出来ない。

653 名前:648 :2006/10/09(月) 21:48:49 ID:L1UKMrZX
ddsを使ったらめっちゃ楽にできました。
ありがとうございました。

654 名前:名前は開発中のものです。 :2006/10/09(月) 23:00:48 ID:ujCaQUcv
>>652
無知は罪ですか?

655 名前:名前は開発中のものです。 :2006/10/09(月) 23:05:49 ID:EKjsv0Kz
罪ではないし、俺らにとってはどうでもいいコトだが。
仕組みの理解をしておくことは後々役に立つかも知れ無い。

656 名前:名前は開発中のものです。 :2006/10/09(月) 23:15:43 ID:vhVClLX6
そもそもDirectXに頼っている時点で素人がまともなゲームを作ることは論外

657 名前:名前は開発中のものです。 :2006/10/09(月) 23:20:09 ID:EKjsv0Kz
ではぷろふぇっしょなるな方はWindowsではGDIかOpenGLを使うのが常識ということですね。

658 名前:名前は開発中のものです。 :2006/10/09(月) 23:26:17 ID:btmawUgC
プロは必要に応じて最適なAPIを使い分ける

てゆうかDirectXに頼らないなら来なくていいよ>656

659 名前:名前は開発中のものです。 :2006/10/09(月) 23:32:49 ID:FuiQQBpr
コンピュータなんかに頼っている時点で(ry

660 名前:名前は開発中のものです。 :2006/10/10(火) 04:07:10 ID:VJTBF9e5
多細胞でしか生きていけない時点で(ry

661 名前:名前は開発中のものです。 :2006/10/10(火) 05:51:58 ID:xblaH6lZ
2chなんかに頼っている時点で(ry

662 名前:名前は開発中のものです。 :2006/10/10(火) 08:00:49 ID:j0PxGh8F
DirectXに頼っている時点で(ryって奴は確かにこのDirectX総合スレに来る意味無いなw
でも確かにD3DXに関してはもう頼れなくなったなぁ。
Oct2004まではD3DXに頼ってても何の不便も無かったのに・・・。

663 名前:名前は開発中のものです。 :2006/10/10(火) 11:15:17 ID:2TluMEZs
そうか、D3DX使わなきゃ不毛なdll問題起きないんだよな
そこに気づけなかった俺ヘボいぜ
調べたらD3DXCreate*Texture*()以外使ってないし、ddsのロードは別環境用に用意してあるし
面倒が一つ減ったぜヤッホイ

664 名前:名前は開発中のものです。 :2006/10/10(火) 11:18:19 ID:znCtx2eH
FXファイル周り、メッシュの最適化、ベクトル・行列クラスのアセンブラ化。
ここら辺が手放せないから、D3DX捨てるのは俺は無理だ。
どれも自分で書けないわけじゃないが、趣味プロだと他にやることが多すぎる。

665 名前:名前は開発中のものです。 :2006/10/10(火) 14:31:39 ID:2KxtSwlF
XBOXのソフト開発者に謝れ

666 名前:名前は開発中のものです。 :2006/10/10(火) 15:40:47 ID:VJTBF9e5
すいません

アニメーション付きのX Fileを読み込んで、複数アニメーションを切り替えて表示できる
ビューワってありますか?
DirectX Viewerではできないようなのですが!

667 名前:名前は開発中のものです。 :2006/10/10(火) 15:42:57 ID:0+hhpTt+
付属のViewerで普通にできる。

668 名前:名前は開発中のものです。 :2006/10/10(火) 15:44:45 ID:obWAIVxp
いやmviewで出来るんじゃね
それともDirectX Viewerってのは、mviewとは違うのか
mviewは少なくとも2004 Summerには入っているな

669 名前:名前は開発中のものです。 :2006/10/10(火) 17:17:31 ID:VJTBF9e5
最新版には入っていないようですね。
2004 summerをダウンロードしてみます。ありがとう。
早とちり氏ねよ。

670 名前:名前は開発中のものです。 :2006/10/10(火) 17:53:26 ID:KlJC55XH
付属のViewerでも読み込めないXファイルもあるが。
(自分で組んだプログラムでは動く)

671 名前:名前は開発中のものです。 :2006/10/10(火) 18:31:07 ID:VJTBF9e5
はいはい君は天才だ
DirectXを使わせたら右に出る者はいない良かったね

672 名前:名前は開発中のものです。 :2006/10/10(火) 18:42:02 ID:VJTBF9e5
?

673 名前:名前は開発中のものです。 :2006/10/10(火) 18:54:10 ID:2TluMEZs
ID:VJTBF9e5が不思議な挙動を見せている

674 名前:名前は開発中のものです。 :2006/10/10(火) 18:56:03 ID:4sC3iTHG
「今ひどい自演を見た」と書いていいものかどうか10秒くらい迷ったけど書かなかった

675 名前:名前は開発中のものです。 :2006/10/10(火) 19:15:44 ID:RntNEutj
しかたないので>>674の代わりに「今ひどい自演を見た」と書いてきた。

676 名前:名前は開発中のものです。 :2006/10/10(火) 19:16:34 ID:RntNEutj
>>675
おまえ正真正銘のバカだろwww

677 名前:名前は開発中のものです。 :2006/10/10(火) 20:17:10 ID:2KxtSwlF
言って欲しいの?

678 名前:名前は開発中のものです。 :2006/10/10(火) 21:08:13 ID:VJTBF9e5
君の口から聞きたいんだ

679 名前:名前は開発中のものです。 :2006/10/11(水) 00:17:10 ID:UlzNoGLX
行列Aと行列Bがあります。
行列Aに対して行列Cをかけて、行列Aが行列Bと同じになるようにしたいです。
その場合、行列Aに対してかけるべき行列Cはどうやったら求められますか。

680 名前:名前は開発中のものです。 :2006/10/11(水) 00:19:37 ID:trFIvV+b
>行列Aが行列Bと同じになるようにしたい
ムリ

681 名前:名前は開発中のものです。 :2006/10/11(水) 00:19:54 ID:UlzNoGLX
A=B;すりゃ良いじゃん・・・という事ではなく、行列Aと行列Bの差分の、行列C
そのものが欲しいのです。
よろしくおねがいします

682 名前:名前は開発中のものです。 :2006/10/11(水) 00:21:06 ID:UlzNoGLX
>>680
浮動小数点の計算誤差なんかは気にしないのですが
それでもムリですか?

683 名前:名前は開発中のものです。 :2006/10/11(水) 00:24:19 ID:rDqWvzjU
逆行列を掛けるだけ

684 名前:名前は開発中のものです。 :2006/10/11(水) 00:25:36 ID:UlzNoGLX
BにAの逆行列をかければCが得られるんですね

685 名前:名前は開発中のものです。 :2006/10/11(水) 00:59:15 ID:xBMfHgNK
A・C=B
→Inv(A)・A・C=Inv(A)・B
∴C=Inv(A)・B

でおk?
ようわからんけど・・・

686 名前:名前は開発中のものです。 :2006/10/11(水) 01:01:45 ID:1sECxPrk
いや無理なんじゃね?
逆行列は関係ない気がする。
そもそも行列で差分って何につかうんだ?

687 名前:名前は開発中のものです。 :2006/10/11(水) 01:02:05 ID:xBMfHgNK
たぶん間違えた。
A・C=B=A にしたいってことか。
難しいな・・・

688 名前:名前は開発中のものです。 :2006/10/11(水) 01:23:10 ID:U5zzbWGT
>>685でOKじゃないの?

689 名前:名前は開発中のものです。 :2006/10/11(水) 01:36:32 ID:RAcYP2kE
>>679
>>685で正解。

あとは、かける順序に注意。
それから、Aの逆行列が求まらない場合はCは一意とならない。

690 名前:名前は開発中のものです。 :2006/10/11(水) 02:41:06 ID:UlzNoGLX
>>685-689
ありがトン!
>Aの逆行列が求まらない場合はCは一意とならない。
はい、それはもう・・・
いや〜たすかりました

691 名前:名前は開発中のものです。 :2006/10/11(水) 03:42:19 ID:1ONjsgnr
>684
「よつんばいになれば免許を返して頂けるですね」の改変に見えた俺はとっとと寝ろ

692 名前:名前は開発中のものです。 :2006/10/11(水) 10:18:27 ID:v2mXemUL
アッー!

693 名前:名前は開発中のものです。 :2006/10/14(土) 01:39:42 ID:pah3fq2S
ID3DXAnimationControllerでアニメーションをやっているのですが、
アニメーションの全長(時間)はどうやったら取得できるんでしょうか?
それから、アニメーションを構成するキーフレームがそれぞれ何秒のところにあるのか
を取得したいのですが、そういう手段はあるんでしょうか?

694 名前:名前は開発中のものです。 :2006/10/14(土) 07:14:00 ID:uIeEv6ah
>>693
ヒント:xファイルに書かれてる

695 名前:名前は開発中のものです。 :2006/10/14(土) 13:23:21 ID:sQHed/jL
そんな関数無い

696 名前:名前は開発中のものです。 :2006/10/14(土) 14:05:43 ID:E4qGi0KR
じゃフレームが出力できるxファイルを作る必要があるじゃん
メタセコで出来る?

697 名前:名前は開発中のものです。 :2006/10/14(土) 15:14:09 ID:urG12ahb
データ作った人間には何フレームあるかわかるだr

698 名前:名前は開発中のものです。 :2006/10/14(土) 18:08:41 ID:y7B7XSEr
ドラゴンボールのビームとか
ガンダムのビームとかの棒
どうやって描画してるの?
円柱モデルじゃないでそ
ビルボードは、点を中心のやつじゃないとダメだし
ぬう

699 名前:名前は開発中のものです。 :2006/10/14(土) 18:41:11 ID:urG12ahb
別に円柱でもそれっぽく見えればいいんだよ

700 名前:名前は開発中のものです。 :2006/10/14(土) 18:47:28 ID:rEq95AFn
6〜8角厨

701 名前:名前は開発中のものです。 :2006/10/14(土) 19:46:32 ID:5CSzso0u
>>698
六角柱だけをライトなしの真っ白でレンダしてぼかすんだよ

702 名前:名前は開発中のものです。 :2006/10/15(日) 00:49:28 ID:5NiZDasq
>>698
>ビルボードは、点を中心のやつじゃないとダメだし
んなわけない。

703 名前:名前は開発中のものです。 :2006/10/15(日) 06:01:12 ID:T/ORfnUd
>>698
Gems3に載ってるやつは?
長方形のポリゴンの端に三角形がついてるやつ

704 名前:名前は開発中のものです。 :2006/10/15(日) 11:47:05 ID:QPC2ckl/
>>698
「ビームの始点から終点までを結んだベクトル(以下、ビーム・ベクトル)」と
「カメラの位置からビームの端の点1つを結んだベクトル」の外積から
この2つベクトルに直角なベクトルを求める。
そのベクトルとビーム・ベクトルの外積からこの2つベクトルに直角なベクトルを求める。
このベクトルを法線ベクトルとする板ポリを描画するばOK

ただ、カメラの視線ベクトルとビーム・ベクトルが平行に近いと板ポリであることが
はっきりと分かってしまうので、それの対処方法は以下の2つがある。

1つは板ポリの両端に普通のビルボードをくっつける方法(>>703が言っている方法)と、
もう1つはカメラの視線ベクトルとビーム・ベクトルが平行に近いときには普通の
ビルボードに切り替える方法がある。

705 名前:名前は開発中のものです。 :2006/10/15(日) 15:50:40 ID:ncIQLCOH
光り系の加算テクスチャとかパーティクルも重要

706 名前:名前は開発中のものです。 :2006/10/15(日) 17:38:15 ID:lHeBAk5n
アクションゲームの連続攻撃とかみたいな、ボタンの連続入力判定って
DirectInputでやる場合やっぱりバッファリングでやった方がいいんですかね?

707 名前:名前は開発中のものです。 :2006/10/15(日) 19:20:54 ID:nExnDBy1
連続入力のときに1/60よりも速い単位でボタン入力を受け付けるならバッファリングだろうなぁ。

708 名前:名前は開発中のものです。 :2006/10/15(日) 19:41:13 ID:1awBMXDQ
ゲームコントローラは割り込みデバイスではないから、バッファリングでも
Pollを呼んだときしかデータ取得してないよ。

709 名前:名前は開発中のものです。 :2006/10/15(日) 21:18:43 ID:lHeBAk5n
バッファリングでやってもあまり利点無いってことですかね
とりあえず直接取得でやってみます

710 名前:名前は開発中のものです。 :2006/10/16(月) 03:58:38 ID:4O9ZIClz
1/60で連打できる奴以内だろ

711 名前:名前は開発中のものです。 :2006/10/16(月) 11:47:04 ID:akp78//4
連打機

712 名前:名前は開発中のものです。 :2006/10/16(月) 11:47:31 ID:1DRIsy8R
>>710
連打は無理だろうが、1/60フレーム風神拳とか入力できる変態はいるよなー

>>706
アクションとか格げーだとバッファリングしたほうが楽なような気がするが。
あとで、リプレイとかつけたくなるかもしれんし。

713 名前:名前は開発中のものです。 :2006/10/16(月) 11:55:28 ID:idfGKmvC
そういや、VF5のアキラの膝が
K+G→1フレーム後にG離す
だったな
個人的には最風よりむずい

714 名前:名前は開発中のものです。 :2006/10/16(月) 12:33:55 ID:dJZ5IjFP
VF5は知らないがいまだにそのコマンドなの?
VF2でバグでそのコマンドで膝が出てたけど。

>>712
バッファリングだろうと直接データだろうと、入力の履歴は
アプリケーションに組み込むもの。
リプレイ等にDirectInputの設定は関係ないと思うが。

715 名前:名前は開発中のものです。 :2006/10/16(月) 12:47:06 ID:uxehlBoP
VF1からの伝統なのにVF5のとか書いてるところを見ると
十代だろうな

716 名前:名前は開発中のものです。 :2006/10/16(月) 14:17:08 ID:idfGKmvC
26ですが
今、VF5やってるからVF5って書いてしまっただけ

717 名前:名前は開発中のものです。 :2006/10/16(月) 16:54:09 ID:cOg4Ko/j
>>714
入力の履歴を保持する場合って、ボタン毎に数回分の入力時間を保持してればだいたいOKかな?

718 名前:名前は開発中のものです。 :2006/10/17(火) 00:01:47 ID:Pi/yMn9O
>>717
最低でも、コマンド受付可能時間×FPS数だけは記憶させないとだめだろ。

すなわち、ファイナルターンパンチ(溜め60秒)×60FPSで記憶域3600個w

719 名前:名前は開発中のものです。 :2006/10/17(火) 00:03:50 ID:WKs3wEDm
VF1からの伝統なのにVF5のとか書いてるところを見ると
ちんぽが十代だろうな

720 名前:名前は開発中のものです。 :2006/10/17(火) 00:11:33 ID:xez2dOmh
>>719
元気そうでうらやましい… orz

721 名前:名前は開発中のものです。 :2006/10/17(火) 00:40:46 ID:MdWVn9/c
>最低でも、コマンド受付可能時間×FPS数だけは記憶させないとだめだろ。
正直な話、ボタンのため分をカウントしていれば、開始から発動までのバッファは要らない

「60秒押していたボタンを離した」と判定する、1フレーム分あればいい
波動拳コマンドの最長受付フレーム数が60フレームの場合なら バッファは60ほしい

これはバッファに入力を保存して、後からコマンドを検査する場合ね

722 名前:名前は開発中のものです。 :2006/10/17(火) 01:41:52 ID:b/Pd8rNN
>>718は語尾にwがついてるから冗談として極端な実装の例を挙げたんだろうけど、
>>721の実装は利点がよく分からんな。

>>721
> 「60秒押していたボタンを離した」と判定する、1フレーム分あればいい
その考えを押し進めると、
「押下したこと、離したこと、これらの時間間隔を記録すれば十分」ということになる。
だから、タメ時間を保持するためには、バッファの長さは60も要らなくて、2で済む。

最初に押下したときに、記録開始時刻からの時間を記録して、
次に離したときには、押下したときからの時間を記録して、
二度目に押下したときには、前に離したときからの時間を記録して、
……というように記録すればいい。

723 名前:名前は開発中のものです。 :2006/10/17(火) 02:35:27 ID:39vQ4qdS
入力が変化するまでの時間を記録する方式は、ワーストケースで
毎フレーム入力が変化していた場合に、結局は入力受付時間分の
バッファが必要になるという事実。

724 名前:名前は開発中のものです。 :2006/10/17(火) 03:45:09 ID:b/Pd8rNN
で?

725 名前:名前は開発中のものです。 :2006/10/17(火) 05:27:56 ID:q1fUJa/G
それでどうやってコマンド方式を判断するんだ?

726 名前:名前は開発中のものです。 :2006/10/17(火) 09:47:10 ID:WApPQYbc
カプコンは、ボタンを離したときもコマンド入力調べてる
SNKは、省略コマンドがある 21416→246

727 名前:名前は開発中のものです。 :2006/10/17(火) 11:19:02 ID:39vQ4qdS
>>726
それは省略コマンドじゃなくて、最初から246しか判定してないだけだよ。
むしろ発表されているコマンドが冗長なだけ。

ちなみにスト2のスクリューも斜め入力は必要なくて、4方向だけでいい。

728 名前:名前は開発中のものです。 :2006/10/17(火) 12:48:13 ID:PzA+Fa3w
つーかボタン入力制御も知らないような奴がなんでこんなところにいるんだ?
基本的な常識も知らないでゲームを作りたいとか論外なんだが。

729 名前:名前は開発中のものです。 :2006/10/17(火) 12:59:54 ID:Un2Q1nYv
そうだね、プロテインだね

730 名前:名前は開発中のものです。 :2006/10/17(火) 15:35:29 ID:ZPE2JhJ0
そう、常識だ。いや、常識だと多くの人々が思っている。
だが、実はCO2が地球温暖化の原因だという証拠は無いんだよ

731 名前:名前は開発中のものです。 :2006/10/17(火) 15:55:16 ID:HnFFLO9E
D3DLIGHT_DIRECTIONAL な光源で
メッシュを描画しているのですが
scale=1.0f な時 白→黒な球体が描画されるのですが
scale=10.0fな時 灰色になるんです

何の影響なんでしょうか?

732 名前:名前は開発中のものです。 :2006/10/17(火) 16:36:26 ID:g8mAqjlU
地球温暖化の影響



もしくは法線非正規化の影響

733 名前:名前は開発中のものです。 :2006/10/17(火) 19:01:46 ID:HnFFLO9E
dクス

拡大の温暖化を防ぐには
SetRenderState( D3DRS_NORMALIZENORMALS, TRUE );
すればいいのね



734 名前:名前は開発中のものです。 :2006/10/17(火) 20:02:50 ID:pnwQy0ug
RenderStateSet)TRUE, D3DRS_NORMALIZENORMALS(
が正解

735 名前:名前は開発中のものです。 :2006/10/19(木) 11:57:34 ID:KYn/6wBS
おっぱいスレで質問したけど、答えが返ってこないので、こっちにマルチします。

おっぱいをデフォメーションさせてたゆんたゆん揺らせるには
メッシュオブジェクトの乳の部分だけを属性バッファで指定して、さらにその頂点バッファにアクセスして
頂点を動かせばいいの?

↑でいいとしても、乳の部分だけの属性バッファを作る方法が分かんない。

ヒント、この辺読め、カス!だけでもいいので教えてください。

736 名前:名前は開発中のものです。 :2006/10/19(木) 12:57:59 ID:ux0Pyl4u
X-File?
だったら判定するためのデータ埋め込めばいいじゃない

737 名前:名前は開発中のものです。 :2006/10/19(木) 14:02:37 ID:Rx5m3XDA
人体にチップを埋め込まれる、の間違いだな

738 名前:名前は開発中のものです。 :2006/10/19(木) 23:40:34 ID:jUoY2I1o
モルダー落ち着いてモルダー

739 名前:名前は開発中のものです。 :2006/10/19(木) 23:53:22 ID:5SYTgZVc
モルダー、あなた疲れてるのよ

740 名前:名前は開発中のものです。 :2006/10/19(木) 23:59:01 ID:6/7GAxoT
おしっこモルダー

741 名前:名前は開発中のものです。 :2006/10/20(金) 00:03:50 ID:CFUBASIq
モルダー、あなたマジで疲れてるのよ

742 名前:名前は開発中のものです。 :2006/10/20(金) 03:24:19 ID:L3hW3qR3
美しい河よ、モルダーよー

743 名前:名前は開発中のものです。 :2006/10/20(金) 10:23:26 ID:ax2q1ay6
IndexBufferとVertexBufferの意味って何?

座標とか全部メモリにいれて
DrawIndexPrimitiveとかやればいいじゃん。

制限とか違うの?

744 名前:名前は開発中のものです。 :2006/10/20(金) 14:14:11 ID:/RdCkbLO
>座標とか全部メモリにいれて
>DrawIndexPrimitiveとかやればいいじゃん。

それでいいんだよ。
ちょうてんばっふぁとか
いちいちつくるのめんどうだもんね!

745 名前:名前は開発中のものです。 :2006/10/20(金) 16:04:45 ID:YHKhyEQt
何にでも疑問を持つのは良いことだ
次は自分の人生に意味を求めて自殺だレッツゴー

746 名前:名前は開発中のものです。 :2006/10/20(金) 22:38:41 ID:pRFrOnQi
>743
いくらなんでもそれはひどい・・・
もっと上手く釣れ。

747 名前:名前は開発中のものです。 :2006/10/21(土) 00:15:28 ID:HWb3gyzX
どうせ三途の川でくだらない釣りをしてるだけだろ。ホキでも食ってろ。

748 名前:名前は開発中のものです。 :2006/10/21(土) 00:54:06 ID:0t6G1cyR
質問です.
HDRフォーマット(D3DFMT_A16B16G16R16)のテクスチャをレンダリングターゲットにした場合,
D3DFMT_X8R8G8B8のターゲットに使用していた固定パイプラインの機能を
そのまま使用しても正しく描画できるのでしょうか?

描画前に一時的なターゲットとしてHDRテクスチャを咬ませただけで
アルファブレンディングが上手くできなくなってしまったのですが…….orz

749 名前:名前は開発中のものです。 :2006/10/21(土) 01:05:12 ID:0t6G1cyR
間違えましたorz
× D3DFMT_A16B16G16R16
○ D3DFMT_A16B16G16R16F

750 名前:名前は開発中のものです。 :2006/10/21(土) 01:12:03 ID:h4fJ9Plf
レンダリングは出来るんじゃない?
もっとも意味があるとは思えんが。


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.