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

鬱だ氏のう DirectX (Part 6)

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものでス02/10/07 01:00ID:???
DirectXについてマターリと技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。

■旧スレ(プログラム板)
http://piza.2ch.net/tech/kako/966/966655286.html  (Part 1)
http://pc.2ch.net/test/read.cgi/tech/997101556/   (Part 2)
http://game.2ch.net/test/read.cgi/gamedev/1005119775/ (Part 3)
http://game.2ch.net/test/read.cgi/gamedev/1016276254/ (Part 4)

コピペスマソ
041538902/11/05 00:29ID:???
>>414
>RenderState、VertexBuffer、テクスチャ、メッシュ全て設定し直さなきゃいけないなら
んなこたないよーヘルプ嫁ヘルプ。D3DPOOL要参照。
041637002/11/05 01:15ID:???
>>415
RenderState以外はMANAGEDにしておけば手間が省けるってことですね。
メッシュは物によって調べる必要があるみたいですが。

話はそれますがヘルプに
CreateVertexBufferのUsageに"次の 1 つ以上のフラグの組み合わせ"
って書いてあるのにサンプル見ると0指定してあるんだけど
どういう意味でしゅおうか??
0417名前は開発中のものです。02/11/05 01:22ID:???
どれかのフラグの値が0とか?
041838902/11/05 01:32ID:???
>>416
漏れも分かんない。
その部分は真似せんほうがええと思うよ。
>>417
んなこたーない
041937002/11/05 01:34ID:???
>>417
どれも0でないみたいです。
"0以上"の間違いだろうと思い込んで寝ます。
042038902/11/05 01:36ID:???
>漏れも分かんない。
>その部分は真似せんほうがええと思うよ。
嘘ですゴメン。
042137002/11/05 01:38ID:???
>>418,420
D3DUSAGE_DYNAMICに
"D3DUSAGE_DYNAMIC を指定しないと、頂点バッファは静的に作成される。"
って書いてあるんでこれが0なのかなと都合のいい解釈をしつつ寝ます。
042238902/11/05 01:44ID:???
>次の 1 つ以上のフラグの組み合わせ。
↑これ日本語ヘルプの誤訳。
「これらのフラグは組み合わせて使えるよ」というのが正解。
何も指定しなければ静的に確保される。
俺の知ってる範囲では、ハードウェアT&Lを搭載してるカードでは
ビデオメモリ上に確保される。ロック&書き込みが重いので静的な
データ以外には使わないほうがええ。 
0423名前は開発中のものです。02/11/05 05:14ID:???
>>422
原文は「A combination of one or more of the following flags」だから、
「次の 1 つ以上のフラグの組み合わせ」という翻訳は間違いではない。
日本語ヘルプに誤訳が非常に多いのは紛れもない事実だけど、
原文の説明自体が不適切・不十分であることも少なくないのだよ。
042441002/11/05 08:07ID:???
>>370
>メッシュはものによって調べる必要があるみたいですが
 既にヘルプを呼んでいるかもしれんが、メッシュを作る時にオプションに
D3DXMESH_MANAGEDを設定すればいいだけ。
>>415
 フォロー、サンクス。っていうか肝心なことを書き忘れてたんだな、俺(笑)。
042538902/11/05 10:10ID:???
>>423
>「次の 1 つ以上のフラグの組み合わせ」という翻訳は間違いではない。
そうだね。漏れ寝ぼけ過ぎ。
0426名前は開発中のものです。02/11/05 20:23ID:???
うちのグラカだと、どう調べても、スプライトで書くよりポリゴン作って
テクスチャはった方が描画が速いんだけど、そういうグラカって結構あるもんですか?

他のマシンがないので調べられません。
0427名前は開発中のものです。02/11/06 01:21ID:NGPM1Ygr
DirectInputで、なぜかZキーを押しながら、左と下を押すと、左か下の片方しか
キー入力が取れません。
自分のプログラムが悪いのかと思ったのですが、そこらへんに転がってる
DirectX8を使用したプログラム5個ほどでも同様の現象がありました。

これって、自分の環境が駄目なんですか?
それとも、Microsoftのバグ?
0428名前は開発中のものです。02/11/06 01:27ID:???
>>427
ハードウェアの仕様
0429名前は開発中のものです。02/11/06 05:59ID:???
洋ゲーが同時押しを必須としない設計をしてたりする理由だね。
CTRLやALTキーをデフォルトにするのも、
ほかのキーよりはこれの確率が低いから。
0430名前は開発中のものです。02/11/06 06:08ID:???
>>426
D3DXSpriteは内部でポリゴンにテクスチャ張って描画してます。
使うメリットがないなら、自前のスプライト描画クラスとか
作ったほうが良いものができるかもしれない。
0431名前は開発中のものです。02/11/06 09:03ID:???
>>427
キーボードが悪い。安物はそうなる。
USBキーボードはなりにくいのでお勧め。
0432名前は開発中のものです。02/11/06 10:11ID:???
安物云々は関係ない、知ったかするな
PS2の伝達経路の数が足りず、安物だろうが高級品だろうが、
バッティングする位置が変わるだけ
インタフェイスの問題
USBはなりにくいのではなくならない
0433名前は開発中のものです。02/11/06 11:24ID:???
>>432 Nキーロールオーバーって知ってる?
0434名前は開発中のものです。02/11/06 11:53ID:F7G6Kvvh
>>432
キーボードのようなキー数の多いデバイスはキーマトリクスを
作ってスキャンしている(大昔から変わらない)ので、
なんともトンチンカンだよ。
0435名前は開発中のものです。02/11/06 12:07ID:???
>>432
うちのUSBキーボードは同時押しできない組み合わせがある。
うちのはクソということでよいか?
0436名前は開発中のものです。02/11/06 12:44ID:???
432こそ知ったか野郎でFA?

ところで427ってノートPCでも使ってる?
そこまで同時押しできないキーボードは、俺が今まで使ってきたマシン
ではThinkPadしかなかったけど。
0437名前は開発中のものです。02/11/06 14:24ID:???
結論としてはキーボードのせい。
ひっそりと大人気のこのキーボードも何個同時押ししても受け付けるYO!

東プレ Realforce 106 キーボード Part1
http://pc3.2ch.net/test/read.cgi/hard/1033925111/

いや、買っちゃったもんで嬉しくて。
0438名前は開発中のものです。02/11/06 14:40ID:???
           ドッカン
         ,、、  ドッカン
  ━━━━━) )=          ☆ゴガギーン
      ∧_∧ | |          /         / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     (   )| |_____     ∧_∧   <  おらっ!>>432出てこいゴルァ!
     r ⌒ ̄ ノ  __.  |    (´Д` )    \
     |   イ   |__|   |    /     \       ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     |    | |          .|    | |   /\\
     |    | |          .|  へ//|  |   | |
     |    | |       (\/,へ \|  |  | |
     | ∧ | |      ◎\/  \  / ( )
      | | | |.|          .|     | |
      / / / / |          .|     | |
    / / / /.| |三三三| |      |. |
    / / / /...|       |    ||


0439名前は開発中のものです。02/11/06 14:52ID:???
俺のノートPCはCtrlとCapsを入れ替えた時に、Ctrl+Shift+Zが押せずRedoできなくて泣けるんだよ、ボケが
0440名前は開発中のものです。02/11/06 15:05ID:???
問題はそこじゃなくて、ユーザがそれ買わなきゃ意味ないとこだろ( ´∀`)
0441DirectX9!!02/11/06 16:40ID:???
DirectX9!!
0442名前は開発中のものです。02/11/06 18:17ID:HmH3fN4E
http://www.theinquirer.net/?article=5168
ハヨコイ
0443名前は開発中のものです。02/11/06 20:06ID:???
DirectPlay“8.2”だってさ。
http://www.microsoft.com/downloads/release.asp?ReleaseID=43347&area=search&ordinal=4
正式版のリリースは年明けとの電波をキャッチ。
0444名前は開発中のものです。02/11/06 20:07ID:???
(DirectX9のね)
0445名前は開発中のものです。02/11/06 20:14ID:F7G6Kvvh
でもそのページにはそんなことないよね?
0446名前は開発中のものです。02/11/06 20:28ID:???
98のキーボードはよかった…
0447名前は開発中のものです。02/11/07 00:51ID:???
>>436
427ですが、ノートVAIO使っております。
家で使うときはUSB使おうかなぁ。
ということで、プログラム自体は変更することないんだね。ありがとう。
0448名前は開発中のものです。02/11/07 10:15ID:???
>>447
変更する点があるとするならば、キーコンフィグをつける点。
0449名前は開発中のものです。02/11/07 17:05ID:2yv67rKD
LPDIRECT3DDEVICE8 dev;

↑このdevを別のファイルで扱おうと思ったらどうすればいい?
別のファイルで

LPDIRECT3DDVICE8 dev2;
dev2=dev;

てやったら2重定義でゴラされた。
0450名前は開発中のものです。02/11/07 17:11ID:???
>449
Cの勉強をしなおせ
0451名前は開発中のものです。02/11/07 17:12ID:???
extern LPDIRECT3DDEVICE8 dev;
045244902/11/07 17:35ID:2yv67rKD
俺、Cは6年やってるけどな。そうかexternだな!ありがとう。
もう一つ、聞きたいのだがいいかい?

LPDIRECT3D8 d3d=NULL,d3d2=NULL;

2個用意してd3dの方でDirect3dCreate8をする。
その後、

d3d2=d3d;

とする。こうしたら以後の処理はd3dでもd3d2でもどちらを使っても
良いのかだよな?中身をコピーする、すなわちIDirect3Dインタフェースへの
ポインタがd3d2へコピーされるんだからなw
その後、オブジェクトを開放する時はどちらか一方だけリリースを呼び出せばいいんだよな?
ん?
045344902/11/07 17:40ID:2yv67rKD
>>452
よいのかだよな? ×
よいのだな?   ○

鬱だ・・・逝こう
0454まっつん02/11/07 17:48ID:???
うぜ・・・
0455名前は開発中のものです。02/11/07 17:51ID:???
449みたいなのと組まされたくは無い罠
0456名前は開発中のものです。02/11/07 17:51ID:???
>>452
はいはい、正解、あってるからさっさと仕事に戻れよ!
休憩時間はおわったんだからさ・・・・・・・・
0457名前は開発中のものです。02/11/07 17:52ID:???
>449
ム版に逝けよ。DirectX以前の問題だ。
0458名前は開発中のものです。02/11/07 17:54ID:???
どうやったら、そんなソースの書き方になるんだか不思議だ
045944902/11/07 17:54ID:2yv67rKD
うるせー馬鹿!
0460名前は開発中のものです。02/11/07 17:58ID:???
それが人にものをお願いする態度?
人生おしまいだね
0461名前は開発中のものです。02/11/07 19:17ID:???
今朝、最後のβっぽいのが出たよ>DX9
次はRelease Candidateみたい。
うまく行けば年内に来るかな?
0462名前は開発中のものです。02/11/07 20:59ID:???
449やべーよ。6年とは信じられん
d3d2=d3dはまあいいとして、どちらか一方だけReleaseとか頭いたい。

d3d2->AddRef();
d3d2->Release();
だろう
0463名前は開発中のものです。02/11/07 21:08ID:???
AddRef?
0464名前は開発中のものです。02/11/07 21:26ID:???
ときどき dialect を堂々と使う田舎者と中学生の合いの子のようなあんぽんたんがいるよね。
0465名前は開発中のものです。02/11/07 21:59ID:???
>>462
年数なんてかんけーねーよ。
馬鹿はいつまでたっても馬鹿だ。
0466名前は開発中のものです。02/11/07 22:07ID:???
むしろ年季の入った馬鹿の方が
矯正が利かない分タチが悪い。
0467名前は開発中のものです。02/11/07 23:07ID:???
インターフェイスを2つ用意する意味が全然わかんないんですが…

0468名前は開発中のものです。02/11/07 23:13ID:oHLaAcmh
教えてください。
四角形ポリゴンで描画した後に、スプライトで画像を表示させようとしても、
表示できません。

ポリゴンの後ろにスプライトが隠れているようなのですが、これをどうやったら
前に出せますか?

座標変換は行っていません。
0469名前は開発中のものです。02/11/07 23:38ID:???
>>468
スプライトのZ位置を前にすれ
0470DirectX9!!02/11/07 23:44ID:???
DirectX9!!
0471名前は開発中のものです。02/11/08 14:02ID:mLnGgDjl
>>468
Z比較ですべて書き込むALWAYSではうまくいかないのでしょうか?
0472アフォプロ ◆P6rBQWtf4. 02/11/08 14:24ID:NMeEcAJo
>>471

プログラム的に先にスプライトを描画しようとしてたらうまくいかないだろうね。
あとならたぶん描画できる。
047347102/11/08 14:33ID:mLnGgDjl
>>472
勉強になりました ありがとー
0474アフォプロ ◆P6rBQWtf4. 02/11/08 17:15ID:???
>>473

スマヌ、嘘ついたカモ。
描画されるのはZ比較を無効とした場合。
0475まっつん02/11/08 18:43ID:???
こいつつかえねー
0476名前は開発中のものです。02/11/08 20:04ID:???
相変わらずここの板は雑魚キャラ満載だな
0477名前は開発中のものです。02/11/08 23:36ID:???
Windows版FF11はなぜあんなにも画面は汚く糞重いんだろ。
何の理由で重くなってるんだか想像つく人います?
それとも、案外これがSquareの実力なのかな。
0478名前は開発中のものです。02/11/08 23:40ID:???
CPUのウェイト大きいし、CPUでスキンとか頂点処理してたりして
HWでシェーダー使えるの少ないし…
0479名前は開発中のものです。02/11/09 01:52ID:WtQZiHWM
画面がさあ、ビクッ!ビクッ!ってなるの
0480DirectX9!!02/11/09 02:05ID:???
DirectX9!!
0481DirectX10!!02/11/09 02:33ID:???
DirectX10!!
0482名前は開発中のものです。02/11/09 06:07ID:???
X9まだかよ・・・マジでNV30あわせなのか?
0483名前は開発中のものです。02/11/09 06:21ID:???
ワンスキンアニメ付きX形式に吐き出せるツールどういうのがありますか?
学校でDirectX付属のMAX用プラグイン使ったのですがスキンアニメにはならない&テクスチャが貼られないという状態なのですが。

または、ここの方々はどうやってファイル作ってますか?
自前形式と言われたらそれまでなんですが。
0484名前は開発中のものです。02/11/09 10:27ID:???
>>477
スペック低いPCなんじゃないの?
アナタのPCがどんなハードウェア構成なのかわかんないから答えようがないよ。

# UOでBantheeチップ使ってると激しく重くなる、とかそういう相性かもしれないし。
0485名前は開発中のものです。02/11/09 12:37ID:IwFQStjk
DXUtilsのDxTexというツールでDDS形式のファイルを作りたいのですが、
何を読み込んでも画像が真っ黒に表示されてしまいます。

何か改善策は無いでしょうか。
0486名前は開発中のものです。02/11/09 13:19ID:???
>>485
明日秋葉原に来な。そしたら教えてやる。
0487名前は開発中のものです。02/11/09 13:35ID:???
>>477
エミュレータで動作してるとか?
048848502/11/09 13:44ID:IwFQStjk
貧乏学生です。
明日秋葉原へ旅立てば十中八九餓死します。
048947702/11/09 14:33ID:???
>>484,487
俺自身はGF4TiとP4 2G。遊べないことはないんだ。
他のゲームと比べてパフォーマンスでていない感じがすることかな。

0490名前は開発中のものです。02/11/09 15:21ID:???
>>485
"ペイント"で作成した.bmpを読み込んでもダメ?
049148502/11/09 15:29ID:IwFQStjk
ペイントで描いて読み込んでみましたがダメでした。

Dxdiagを起動して気づいたのですが、
AGPテクスチャアクセラレータが「なし」になっていました。
もしやこれが原因なのでしょうか?
0492名前は開発中のものです。02/11/09 15:33ID:???
ワンスキンアニメは駄目だねー
ウエィトつか、ボーンの入れ方がプリレンダと違うから データー転がってないし
モーションデーターもそろわないし

素人プログラマには、手の出しにくい領域だ。よってコンバーターも充実していない
MaxかLWしかないっしょ
0493名前は開発中のものです。02/11/09 15:42ID:???
Lwでも、ボーン関係のアレが駄目コレが駄目で
苦労しました。
0494名前は開発中のものです。02/11/09 16:15ID:???
ボーン関係をツールでデザインしてプログラムに取り込むパスって
どういうのがあるかねえ
Maxのエクスポータが王道か?
0495名前は開発中のものです。02/11/09 16:22ID:???
>>492
微妙に用語が変なのは気のせいか?
0496名前は開発中のものです。02/11/09 16:26ID:???
データー
0497名前は開発中のものです。02/11/09 16:43ID:???
ウエィト
0498名前は開発中のものです。02/11/09 17:06ID:???
デバイスをリセットした時にレンダーステートを復活させるには
自前で設定し直すしかなんですか?
0499名前は開発中のものです。02/11/09 17:34ID:???
おおまかなステートについては再設定のルーチンを作ってそれを呼んでるよ
細かいのは次の描画時に設定されるからどうでもいい
050049802/11/09 17:54ID:???
>>499
リセット掛けるとStateBlock消滅するし、一つ一つGetRenderStateするのもなぁと思い、
ステートにもMANAGED見たいな機能がないかなぁと思って聞いてみました。
自前で用意するとなるとそれなりに頭を使わなきゃいけないので。
0501名前は開発中のものです。02/11/09 18:14ID:???
保守
050248302/11/09 21:31ID:???
やっぱりワンスキンやらないほうが良いのか・・・。
ツール高い&やりにくい、自作モーションエディタ作るよりは楽かなと思ったけど逆にややこしそうですね。
パーツ毎に呼び出してmikotoあたりでモーション呼び出したほうが楽かな。
返答ありがとうございました。
0503名前は開発中のものです。02/11/09 21:44ID:???
ゲーム向に適切なレベルのモーションエディタが
ないってことだな。
頑張ってつくってくれ>>483
0504名前は開発中のものです。02/11/10 00:11ID:???
>>500
StateBlockはどこかで一度は設定しないといけないんだから、ロストしたら
もう一度設定する関数を呼べば良いだけ。
050549802/11/10 00:48ID:???
>>504
リセット前にCreateStateBlockでガポッっと取って
リセット後にApplyStateBlockでドバッと適用出来ないかなと考えた訳でして。
それに代わる楽な方法はないものかと聞いてみた次第です。
あまりリセットを考えた作りにしたくないなぁと・・・
ある程度のことはPOOL MANAGEDでなんとかなりそうだし。
出来ないのであればそれしかないんですけどね。
0506名前は開発中のものです。02/11/10 01:00ID:???
つか、レンダーステート設定ってどうやるよ?
フラグまとめた構造体でも作って それをvector配列にでもstackしておいて
リセット時は再設定とか?

物体毎に直書きは駄目だろ?
0507名前は開発中のものです。02/11/10 01:02ID:???
あ、そんな必要ないか「飛んだぞゴルァ」フラグを作って全オブジェクト描画前にそれをチェックか?
0508名前は開発中のものです。02/11/10 07:47ID:???
あげん
0509名前は開発中のものです。02/11/10 11:28ID:???
>>502
 「高い」だけなら、MilkShape3Dって言う安いツールがある(20ドル)。他は
解決しないけどな。30日間は無料で使えるから、試してみる?
0510名前は開発中のものです。02/11/10 11:29ID:St+9OfWz
ん?
レンダリングステータスなんて物体毎に変更でしょ?
俺的にこんなものの変更に速度気にしてたら何も作れないと結論つけましたが
あと速度のことではテクスチャフリップも俺的に気にしないつーすたんすなんすけど。
だからステータスは全体で使う奴を憶えとくだけだけど
051150902/11/10 11:50ID:???
(ほぼ)連続カキコ、スマソ。MilkShapeの続き

・頂点数が多いものはインポートできない(1000くらいはOK。限界は不明)。という制限が
あるので、レジストする前に無料期間で確認しよう。
・ワンスキンの場合、ウェイトは0%か100%しか設定されないみたい。これがX用の
エクスポートプラグインの仕様なのか、アプリ自体の限界なのかは不明。
・メタセコでモデルを作るなら、メタセコでは「3DS形式で保存」し、インポートすると
テクスチャ座標が反映されて便利。オブジェクト分割の情報もグループとして反映
される。オブジェクトの名前は半角英数にしよう。

>>507
 Reset呼び出し直後に必ずステート設定しなおしのほうが、シンプルで
良いと思われ。
0512名前は開発中のものです。02/11/10 12:40ID:St+9OfWz
そら、逆にむだちゃう?
と、思ったら全くかわらないや速度。
毎ふれーむ設定採用決定。
だれかおそくなったひといる?
0513名前は開発中のものです。02/11/10 14:14ID:???
毎フレーム再設定にしてるよ
アフォなドライバのデバッグには付き合いたくないし
0514名前は開発中のものです。02/11/10 14:45ID:???
ウインドウが全部隠れた状態でレンダリングするとカチコチ重くなるんですけど、
何でですかね?
■ このスレッドは過去ログ倉庫に格納されています