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


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

【C++】 DirectX初心者質問スレ Part5 【C++】
251 名前:デフォルトの名無しさん :2005/08/13(土) 11:09:30
まだ固執してるか、キモすぎ。
まさに思考停止だな。
ほんと全て引数渡しでがんばってくれと切に願うね。
そして一人で誰にも迷惑かけずにやってくれと。

252 名前:マイク ◆yrBrqfF1Ew :2005/08/13(土) 12:05:53
qAppもグローバルだな。

253 名前:デフォルトの名無しさん :2005/08/13(土) 12:16:25
>>251
その言葉、そっくりそのままお前に送るます

254 名前:デフォルトの名無しさん :2005/08/13(土) 12:23:39
もうやめてやれよ。
論点ずらしまくりのキチガイなんだから。


255 名前:デフォルトの名無しさん :2005/08/13(土) 12:38:02
>>254
その言葉、そっくりそのままお前に送るます

256 名前:デフォルトの名無しさん :2005/08/13(土) 12:45:44
>>250
デザパタなんか現場じゃ全く使ってないのにねw

257 名前:デフォルトの名無しさん :2005/08/13(土) 13:15:44
いやデザパタスレの常連キチガイは>>256みたいな感じな人だよ

258 名前:デフォルトの名無しさん :2005/08/13(土) 13:16:42
お前ら本当はプログラミングのプの字もできないんだろ?
俺知ってるぜ

259 名前:デフォルトの名無しさん :2005/08/13(土) 13:22:11
>>257
とりあえず、ナムコ、カプコン、スクエニではデザパタは使ってないですw

260 名前:デフォルトの名無しさん :2005/08/13(土) 13:44:02
・ゲーム製作現場が全てだと思っている
・デザインパターンを「使う物」だと思っている
・なんか子供っぽい権威を持ち出す(ナムコ、カプコン、スクエニ)

なるほど痛いな

261 名前:デフォルトの名無しさん :2005/08/13(土) 14:59:50
勝手に使ってないことにすんなよw

262 名前:デフォルトの名無しさん :2005/08/13(土) 17:06:37
dinput.hはインクルードしてあって
lpDevMouse->SetDataFormat( &c_dfDIMouse2 );
やっても
error LNK2001: 外部シンボル "_c_dfDIMouse2" は未解決です
になります。
他に何かやる事ありますか?

263 名前:デフォルトの名無しさん :2005/08/13(土) 17:19:07
>262

dinput.libかdinput8.libがリンクされてないとか。


264 名前:デフォルトの名無しさん :2005/08/13(土) 18:07:30
>>263
そんなことは……

当たりでした…orz。

265 名前:デフォルトの名無しさん :2005/08/13(土) 19:03:38
すいません
マウスの初期化はできたんですが、
マウスの軸移動の情報がウィンドウ外でしか入手できてないみたいなんです。
クリックはウィンドウ内でも受け付けてるんですが…。

266 名前:デフォルトの名無しさん :2005/08/13(土) 19:07:36
すいません。自己解決…

267 名前:デフォルトの名無しさん :2005/08/13(土) 20:23:54
>>224ですけど
226さんのリンク先をたどると
ttp://codecentral.borland.com/Item.aspx?id=16547
ここのサイトでユーザー登録しないと
ライブラリが手に入らないらしいんですが、
それでいいんでしょうか?

268 名前:デフォルトの名無しさん :2005/08/13(土) 20:51:35
>>267
http://www.excite.co.jp/world/

269 名前:デフォルトの名無しさん :2005/08/13(土) 20:54:36
clootie

270 名前:デフォルトの名無しさん :2005/08/13(土) 20:57:38
http://www.clootie.ru/

あ、URL変わってるのでこっちで
前のは重たい

271 名前:267 :2005/08/13(土) 21:28:59
>>268
エキサイト一応やりましたが…意味不明で確信がもてません。

>>269-270
dです。でも書かれてる内容が分かりません。
ここからDLできるんですか?

272 名前:デフォルトの名無しさん :2005/08/13(土) 23:24:32
>>271
あの程度わからないならBCCでDirectX使おうなんて
身の程違いもいいところだよ…。馬鹿は素直にVC買っとけ。

273 名前:デフォルトの名無しさん :2005/08/14(日) 15:04:06
むしろ学校のお勉強が先だと思うな。。。

274 名前:デフォルトの名無しさん :2005/08/14(日) 15:38:06
>>271
とりあえず登録しておけ

275 名前:デフォルトの名無しさん :2005/08/14(日) 19:31:54
GPU Gems1 の 94ページに
「アルファブレンディングを使って描画呼び出しでz-テスト/書き込みを有効にすれば」
                                          ~~~~
とあるのですが、無効の間違いでしょうか?
(私は半透明なオブジェクトではどちらも無効にして最後に書いてました)

276 名前:デフォルトの名無しさん :2005/08/15(月) 01:08:09
>>275
その本持ってないのでそれだけの情報では分からないな。

277 名前:デフォルトの名無しさん :2005/08/15(月) 01:25:36
>>275
その本は知らないが、半透明を描画する際にZテストは
無効にしちゃ駄目だろう。無効にするのは書き込みだけ。

278 名前:デフォルトの名無しさん :2005/08/15(月) 13:42:50
半透明オブジェクトを書く順番で、有効無効が違うだろ。


279 名前:デフォルトの名無しさん :2005/08/15(月) 15:38:28
無知素人278発見

280 名前:デフォルトの名無しさん :2005/08/15(月) 17:27:39
無知っていうかZバッファの比較と書込みの違いがわかってないんじゃないかな…

281 名前: ◆YlfFTVBogg :2005/08/16(火) 00:43:52
最近暇が出来まして、DirectXの勉強をC++.netで始めております。
現在、自動車教習所のシミュレータのパクりを作ろうと考えています。
半年前二輪免許取ったときのシミュレータが楽しくて、是非自分で実現しようと思いまして。

細かい仕様をだいたい決定して、さて次は具体的に技術を考えようと思った矢先に
フィールドに関する事項で躓きました。

みなさんフィールドの実装はどのようにされていますか?高低差を含んだフィールド
の実装方法を教えて下さい。
また、それを載せているサイトでも構いません。

現在考えている方法は、
・2次元の高さ配列を作り、それをメッシュにする。
・メタセコイアでがんがって作ってXファイル表示。
です。何か良い方法などありましたらサイト、書籍構わず教えて下さい。

当方VisualC++での開発経験はあります。(あくまで自分用の制御系ツールですが
英語の資料は無理なく読めます。よろしくお願い致します。

282 名前:デフォルトの名無しさん :2005/08/16(火) 01:07:04
>>281
あー、「ナビゲーションメッシュ」とか「オクトツリー」で
ググるとそこ周辺の情報がついてくるよ。
英訳してググルとさらに当たると思われる。

283 名前:デフォルトの名無しさん :2005/08/16(火) 01:13:18
普通にコースのメッシュを作ればよろしいと思うが。
そこそこ茨の道だと思うので覚悟するように。

284 名前:デフォルトの名無しさん :2005/08/16(火) 01:41:42
>>283
多分、見た目用のモデルと、当たり用のモデルを用意するって手法(?)を知らないと思われる。
2次元の高さ配列なんていってっけど、それをどうやって作るのか考えてないと思われ。

285 名前: ◆YlfFTVBogg :2005/08/16(火) 01:50:00
>>282
なるほど。Game Programming Gemsが欲しくなるような検索結果でした。
しかし、結構な情報が手に入りました。また熟考してみたいと思います。
ありがとうございました。

>>283
単なるメッシュを作ることも考えましたが、後の拡張性を考えて、う〜ん
と悩んでいたところです。

>>284
当たり判定云々は知ってます。
二次元配列はDXF形式のデータを三次元加工用に三次元配列に変換する
プログラムを作ったことがあるので、その技術を流用しようかと考えています。

286 名前:デフォルトの名無しさん :2005/08/16(火) 02:01:08
>>285
そんな面倒なことしなくても、メタセコでモデル作ったときに当たり用のモデルも作っちゃえばいいじゃん。
当たり用のモデルの名前だけ特定のものにしておけば楽じゃん。

287 名前: ◆YlfFTVBogg :2005/08/16(火) 02:07:07
>>286
当然その予定です。
ただ、配列を用いたと仮定したときの場合を述べました。
分かり難くてすみませんです。


本題に戻りますが、
http://www.gamedev.net/reference/list.asp?categoryid=45
にLandscapeの話が載っていました。
面白そうなので、少し読んでみます。

またお世話になると思いますので、今後ともよろしくお願い致します。

288 名前:デフォルトの名無しさん :2005/08/16(火) 14:41:57
3DCGツールで作ったアニメーションを再生させるのってどうしてる?
良いライブラリとか知らない?
みんな自作してるの?

289 名前:デフォルトの名無しさん :2005/08/16(火) 14:58:22
D3DXLoadMeshFromXで三つ以上メッシュ読み込むと、
ものすごく遅いんですが、どうにもなりませんか?

290 名前:デフォルトの名無しさん :2005/08/16(火) 15:37:43
メッシュの頂点数を減らす
見えないときはDrawしない
ハードウェアを良いものに買い換える


291 名前:デフォルトの名無しさん :2005/08/16(火) 15:40:36
ロードが遅いのか描画が遅いのか

292 名前:デフォルトの名無しさん :2005/08/16(火) 15:59:51
描画が遅いです。
やっぱ細かいとこつきつめてくしかなさそうですな。
ありがとうございました。

293 名前:271 :2005/08/16(火) 20:40:37
おかげ様でライブラリらしきものを入手できました。
皆様ありがとうございました。
しかし、初期化処理にはd3d8.hヘッダファイルが
必要らしくそれもDLできないでしょうか?

294 名前:デフォルトの名無しさん :2005/08/16(火) 20:44:24
>>293
物事自分で調べられない奴はプログラミングには向いてないと思うよ

295 名前:271 :2005/08/16(火) 20:45:03
>>294
調べようがなくて、すみません。

296 名前:デフォルトの名無しさん :2005/08/16(火) 20:52:05
>>295
いんたーねっとにはべんりなけんさくえんじんというほーむぺーじがあります
http://www.google.co.jp/

297 名前:デフォルトの名無しさん :2005/08/16(火) 21:30:37
>>293
Microsoftのサイトから落としてこい。

298 名前:デフォルトの名無しさん :2005/08/16(火) 21:56:38
ンヒヒヒヒヒ!すいません!

299 名前:271 :2005/08/16(火) 21:59:26
>>296 キーワードが思い当たらないって意味です
>>297 すみません。どこにあるのか検索しても見つからないです


300 名前:デフォルトの名無しさん :2005/08/16(火) 22:04:24
>>299
キーワード:DirectX SDK
てか君まず検索の練習から始めた方がいいよ・・

301 名前:271 :2005/08/16(火) 22:15:19
>>300
d3d8.hを落とせないか調べたいのですが…

302 名前:デフォルトの名無しさん :2005/08/16(火) 22:22:24
>>301
釣り?釣りじゃないなら
もう君プログラミングやめた方が良いよ。

303 名前:271 :2005/08/16(火) 22:23:34
>>302
あ、そですか。論外ですか。
あとはどーにでもしますわ。

304 名前:271 :2005/08/16(火) 22:31:50
>>303
偽物は出てこないで下さい。
d3d8.hがどこにあるかだけ分かればいいんです、おねがいしますorz

305 名前:デフォルトの名無しさん :2005/08/16(火) 22:34:12
なんだ釣りか

306 名前:271 :2005/08/16(火) 22:37:34
>>304
偽物うぜぇ。

もうお前らには要はねーよwww
糞野郎どもがw

307 名前:デフォルトの名無しさん :2005/08/16(火) 22:40:21
まーめがほしいかそらやるよ

308 名前:デフォルトの名無しさん :2005/08/16(火) 23:03:53
>>271
マジレスすると、>>272が書いてあることが一番的を射ている感じがする。

おそらく君はDirectX(SDK)がどういうものなのかも分かっていないし、
コンパイラがどういう仕組みで動いているのかも分かっていない。
(プログラミング経験も無いんじゃないか?)

つまり、何を調べれば動くようになるのかすら分からない状態なわけだ。

素直にVisualC++.NETとDirectXの入門書を買ってくることを薦めるよ。


309 名前:271 :2005/08/17(水) 19:35:05
>>308
ありがとうございます。

改めて今日探して見ましたが
Microsoft DirectX 9.0 SDK Update (August 2005)
のソフトウェア開発キットというのに
ヘッダやライブラリがすべてありました。
どうもお騒がせしました。

310 名前:デフォルトの名無しさん :2005/08/17(水) 20:11:13
Directx8で
頂点カラーとテクスチャカラーの合成をしたとき
頂点カラーが0.5のときに、テクスチャカラーがそのままでて
頂点カラーが0.5より上なら明るく、下なら暗く
という感じの設定って無いでしょうか?

311 名前:271 :2005/08/17(水) 21:00:18
たびたび申し訳ありませんが質問です。
初期化処理をしたところ
>309でダウンロードした中のd3d8.libファイルにリンクしてもエラーが出てしまいます。
>270さんに紹介してもらったclootieというサイトで
DLしたライブラリだとなぜか上手くいきました。
前者のファイルでおこったエラーは以下の通りです。
Error: 'C:\BORLAND\DIRECTX\LIB\X86\D3D8.LIB' contains invalid OMF record, type 0x21 (possibly COFF)
どういう事でしょうか。教えてください。お願いします。

312 名前:271 :2005/08/17(水) 21:02:21
自己解決しました。すいません。

313 名前:271 :2005/08/17(水) 21:17:54
>>312
そんなにうざいですか?

314 名前:デフォルトの名無しさん :2005/08/17(水) 21:30:42
????

315 名前:デフォルトの名無しさん :2005/08/17(水) 21:41:56
>>310
固定機能なら D3DTOP_MODULATE2X でいけるんじゃない?

316 名前:デフォルトの名無しさん :2005/08/17(水) 22:10:40
>>311
LIBファイルの変換が必要
詳しいことはBorland C++スレで聞け

317 名前:デフォルトの名無しさん :2005/08/17(水) 22:40:35
>>315
SetTextureStageですね、MDULATE2XかADDSIGNEDがそれっぽい感じがします
他にも色々なことができるみたいですね、ありがとうございました

318 名前:311 :2005/08/17(水) 22:54:54
>>316
ありがd

319 名前:デフォルトの名無しさん :2005/08/17(水) 23:03:24
>>313
少しも自分で調べようとしないで人に片っ端から聞きまくって恥ずかしくないの?

320 名前:デフォルトの名無しさん :2005/08/17(水) 23:10:20
>>313
どうせお前は伸びない。

321 名前:デフォルトの名無しさん :2005/08/18(木) 02:01:29
Directx8で質問です
ライティングを有効にすると頂点カラーは使えないのでしょうか?

322 名前:デフォルトの名無しさん :2005/08/18(木) 02:11:35
質問する前にまずステートのヘルプを読め。

323 名前:321 :2005/08/18(木) 12:09:43
ライティングを無効にするとDIFFUSEに頂点カラーが入って
有効にするとライティング計算済みの色がDIFFUSEに入るということでしょうか?

324 名前:デフォルトの名無しさん :2005/08/18(木) 12:20:58
ヘルプを読め。

325 名前:321 :2005/08/18(木) 12:29:46
ってことはできるということなのでしょうか?
読んでも見つからないっす
COLORARG1にD3DTA_TEXTURE
COLORARG2にD3DTA_DIFUSE
を設定して
COLOROPにD3DTOP_MODULAT
を設定してるのですが
これだとD3DTA_DIFUSEはどちらかになりますよね?
他になにか設定必要なのですか


D3DA_TEMPって一般的には使って良いのでしょうか?
例えば、例えばフェードアウトとか半透明表示する場合のアルファレートなどに
後、レジスタの値をどこで設定するかわかりません、デフォルトは0.0.0としか書いてない

326 名前:デフォルトの名無しさん :2005/08/18(木) 13:07:32
俺からも言おう。ヘルプを読め。
TextureStageStateだけでなく、RenderStateのところも読め。

D3DA_TEMPはテクスチャステージの途中の段で値を一時的に
保存しておくためのもの。D3DTSS_RESULTARGで書き込む。
確認してないが、シェーダ使えるチップならみんな使えるんじゃない?
逆に言うと、シェーダが使えないチップではまず無理。

327 名前:デフォルトの名無しさん :2005/08/18(木) 13:26:31
全然無理じゃないが。

328 名前:デフォルトの名無しさん :2005/08/18(木) 13:28:15
はい

329 名前:デフォルトの名無しさん :2005/08/18(木) 14:41:42
・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。
 「ググれ」「SDK見れ」以外の回答でおながいします。

お前ら天麩羅嫁

330 名前:デフォルトの名無しさん :2005/08/18(木) 14:46:43
ここに限らず2ch全体が、ググれ、ヘルプ読めで停滞しているからな

331 名前:デフォルトの名無しさん :2005/08/18(木) 15:11:53
>>328
はいじゃないが。

332 名前:デフォルトの名無しさん :2005/08/18(木) 15:41:42
>>329
取り扱い説明書見れば書いてあることを
わざわざ文章書いて説明しろってのも変な話だ

取り説のこの文章の意味がわからん
なら話は違ってくるがな

つーかお前が教えてやれよ

333 名前:デフォルトの名無しさん :2005/08/18(木) 15:49:08
ねテンプレに従えないならレスするなよ
こなんのためのテンプレだ
大アホか



334 名前:デフォルトの名無しさん :2005/08/18(木) 15:56:07
質問があるのですが、
よくテクスチャサイズは2のべき乗にしなさいと言われますが、
これは縦と横のサイズも同じじゃないとだめでしょうか?
(例)256x256はOK, 256x128はNG

335 名前:デフォルトの名無しさん :2005/08/18(木) 16:19:32
256x128でもOK

336 名前:デフォルトの名無しさん :2005/08/18(木) 16:29:56
>>335
OKですか、ありがとうございました

337 名前:デフォルトの名無しさん :2005/08/18(木) 16:35:07
>>325
だから、ヘルプの「Render States」のところを読めって言ってるだろうがボケ
http://msdn.microsoft.com/library/en-us/directx9_c/directx/graphics/programmingguide/gettingstarted/direct3ddevices/states/renderstates.asp

338 名前:321 :2005/08/18(木) 18:50:02
SetRenderStateの所読みました

D3DRS_COLORVERTEXって何ですか?
これをFALSEにしても頂点カラーが有効のままなのですが
これはなにか根本的に設定が間違ってたりするのでしょうか?

339 名前:337 :2005/08/18(木) 18:52:18
('A`)ハァ…

340 名前:321 :2005/08/18(木) 18:56:21
即レスであきれるような事書いて申し訳ないです
でもわからんのです

341 名前:デフォルトの名無しさん :2005/08/18(木) 18:56:39
バトルフィールド2のような細かい起伏の地形を作ろうと頑張っていますがどうにも上手くいきません。
現在碁盤の目のようにプリミティブを配置し、頂点のy座標に高さを持たせて起伏を表現しています。
細かくすると視野内(〜FogEnd)だけでも数千になり、DrawIndexedPrimitiveで一括描画してもかなり重いです。
荒くすると大雑把なマップになりますし思ったような地形を組むことができません。
xファイル1つでマップ1つを表示させるのは作るのも表示させるのも無謀ですよね。
クォータービューの2Dっぽいゲームなら碁盤の目のようにプリミティブ(頂点)を置いても問題ないですが、
3Dのゲームだとこのやり方は適さないのでしょうか?

地形の作成・描画方法について何か参考になるようなことをご存知の方がいればアドバイスをお願いします。
DirectXで作っていますがアルゴリズムの質問なので聞くところ間違えてたらすみません。


342 名前:デフォルトの名無しさん :2005/08/18(木) 19:07:08
>>340
だから、SetRenderStateじゃなくて>>337の「Render States」のページは読んだのか?
「Per-Vertex Color State」の説明でわからないなら俺にはお手上げだ。

343 名前:デフォルトの名無しさん :2005/08/18(木) 20:11:56
>>336
ビデオカードによる

344 名前:デフォルトの名無しさん :2005/08/18(木) 20:21:12
正方形じゃなきゃ駄目というビデオカードはないだろ
DirectXにそんなCaps項目ないし

345 名前:デフォルトの名無しさん :2005/08/18(木) 20:28:03
>>344
あるぞ

346 名前:デフォルトの名無しさん :2005/08/18(木) 20:35:36
>>344
はたぶん2のn乗にしろってことの意味を理解してないのだろう


347 名前:345 :2005/08/18(木) 20:36:00
ちと調べてみた。D3DCAPSのMaxTextureAspectRatioだな。

348 名前:321 :2005/08/18(木) 20:42:50
長々と申し訳ありません、
なんとか出来たような気がします
アンビエントライト、ディフューズライトの設定で
頂点カラーの色を飛ばしてしまっていました

これの計算式は、
ディフューズライトx頂点カラー+アンビエントライト
になるのでしょうか?
ディフューズライトが当たっていない部分は頂点カラーの色が無くなってしまうのですが

349 名前:345 :2005/08/18(木) 20:44:08
>>341
そういうのはLODの考え方を採用するべし。
遠いものは荒いメッシュで、近くのものは細かく描画。
具体的なアルゴリズムに関しては長くなるので…
LODで調べれば何かヒットするでしょ。

350 名前:デフォルトの名無しさん :2005/08/18(木) 20:52:25
>>345>>347
指摘サンクス
dxinfoで調べてみたら、S3 ProSavageがMaxTextureAspectRatio=1だった
こんな環境も存在するのね・・・

>>346
もちろん理解してるよん

351 名前:デフォルトの名無しさん :2005/08/18(木) 20:54:26
>>348
頂点カラーの色を無条件にそのまま加算したければ、
D3DRS_EMISSIVEMATERIALSOURCEでEMISSIVEに
頂点カラーを使用する指定を行う。
アンビエントカラーの影響を考えたいなら
D3DRS_AMBIENTMATERIALSOURCEに頂点カラーを設定。

他の部分のマテリアルソースもちゃんと調整すること。

352 名前:351 :2005/08/18(木) 21:04:34
×アンビエントカラー
〇アンビエント光

353 名前:341 :2005/08/18(木) 21:19:47
>>349
ありがとうございます。早速調べてみたいと思います。
新しい単語が出るとなぜかワクワクしてしまう(ノ∀`)

354 名前:デフォルトの名無しさん :2005/08/19(金) 20:30:53
ttp://wisdom.sakura.ne.jp/system/directx/dxg4.html
ここのプログラムが上手くビルドできません。
エラーは出ないのですが、終了ボタンを押しても正式に止まりません。
開発環境はノートPCでBCC、clootieのライブラリにリンクしてます。
原因を教えてください。お願いします。

355 名前:デフォルトの名無しさん :2005/08/19(金) 20:58:32
>>354
終了ボタンってなんだよバカ
そもそもBCCを疑うぐらいならVCTK使え

356 名前:デフォルトの名無しさん :2005/08/19(金) 21:17:01
512x512などの大きいテクスチャを用意しておいて
読み込むときに256x256に縮小することってできますか?

357 名前:デフォルトの名無しさん :2005/08/19(金) 22:27:35
>>356
D3DXCreateTextureFromFileExでWidthとHeightを指定しる

358 名前:デフォルトの名無しさん :2005/08/19(金) 23:32:01
描画処理の負荷を計測したいのですが、
描画前にtimeGetTime()を実行し
Presentメソッドを呼び出した直後に再度timeGetTime()を実行すると
その差分が描画にかかった時間になるのでしょうか?

359 名前:デフォルトの名無しさん :2005/08/19(金) 23:38:49
ならない

360 名前:デフォルトの名無しさん :2005/08/19(金) 23:41:21
ではどうすれば良いでしょうか?

361 名前:デフォルトの名無しさん :2005/08/20(土) 00:02:13
もの凄いアホな質問で申し訳ないのですが、
描画負荷を大きくするとPCからノイズのような音が聞こえてきます
こいつはなんなのでしょうか?
もう1台のPCの方では特に変化はありません

ノイズが鳴る方のPC
アスロン64 3200+ Radeon9600 ファンレス
ノイズが鳴らないPC
P4 1.8G GeforceMX440 ファンレス

SpeedFanでファンの回転数を見ても変化していません(つД`)

362 名前:デフォルトの名無しさん :2005/08/20(土) 00:11:59
>>360
どうにもならない

363 名前:デフォルトの名無しさん :2005/08/20(土) 01:04:22
>>361
音響系の配線の引き回しに注意。ボードやましてチップが原因ならお手上げだけど、
大抵は筐体内の配線を見直すだけで改善する(かも知れない)。

364 名前:デフォルトの名無しさん :2005/08/20(土) 01:12:54
>>363
怪現象などではなくて、普通にありえる問題ということでしょうか?
スピーカーは繋いでません、サウンドはオンボードで近くのPCIスロットを使用しているとかではないです
CPUだけに負荷をかけても影響ないので、ビデオカードに負荷をかけると
干渉?してノイズが出るという感じでしょうか?
とりあえず壊れるような問題でなければこのまま使うことにします
ありがとうございました

365 名前:デフォルトの名無しさん :2005/08/20(土) 01:43:02
>361
それはマザボが死にかけてるよ。自作PC板参照。

366 名前:デフォルトの名無しさん :2005/08/20(土) 01:48:59
>>365
マジですか、買ってから1ヶ月・・・orz
自作板逝って来ます

ちなみにDOSパラのショップブランド・・・
ビデオカードは3年ぐらい前に買ったものですが

367 名前:デフォルトの名無しさん :2005/08/20(土) 02:21:04
何で俺と同じような人をココで見かけるんだ…

うちもノイズが入って仕方が無い。
Radeon9600
Athlon 1.2GHz

SW1000XG というカードからノイズが混入している模様。
気温が高いと特に乗りやすく、ウィンドウをスクロールしただけで出たりする。


とりあえずスレ違いsage

368 名前:デフォルトの名無しさん :2005/08/20(土) 03:09:36
うちもGPUの高負荷時にノイズが聞こえたことがあったけど、
そのときは電源が原因で、別の電源に交換したら鳴らなくなった。
スイッチング回路のコイルが物理的に振動していたらしい。
マザボのコイルが鳴るってのもあるみたいだね。

369 名前:デフォルトの名無しさん :2005/08/20(土) 10:19:39
CPUの動作ノイズをラジオに拾わせて音楽を奏でていた時代もあったらしい

パソコンどころかマイコンという言葉すらメジャーではなかった時代の話

370 名前:デフォルトの名無しさん :2005/08/20(土) 19:13:04
VCToolkit落としたんですが、DirectX開発環境にしたいのです。
どうすればいいでしょうか?

371 名前:デフォルトの名無しさん :2005/08/20(土) 19:15:12
そういう質問をする人間には向かない開発環境なので、
知識がなければお金を出して開発環境を買ってください。

372 名前:デフォルトの名無しさん :2005/08/20(土) 19:22:31
>>371
はい。すみましぇん。

373 名前:デフォルトの名無しさん :2005/08/20(土) 21:26:04
コンデンサも振動するぞ。
よくある話なのでそれほど気にしなくてもいい。

374 名前:デフォルトの名無しさん :2005/08/20(土) 21:57:19
自作からの誤爆の上、すでにスレが流れているところに今頃レスとは…。

375 名前:デフォルトの名無しさん :2005/08/20(土) 22:14:01
>>374
スレを汚してすみません
Directxで負荷が大きい描画やPresent命令を短期間で何度も呼び出したりしてると
なんか変な音が聞こえてきて、気になったので書き込みしました
普段使ってるときはそんな音全然聞こえなかったので・・・

376 名前:デフォルトの名無しさん :2005/08/21(日) 00:24:34
レンダリングステート設定のD3DSHADE_GOURAUD指定の
グローシェーディングは、RadeonやGeForce等のビデオボードが
無いと補間されないのでしょうか?


377 名前:デフォルトの名無しさん :2005/08/21(日) 17:46:06
すみません。
BCCでDirectXを動かそうとしているのですが、
ttp://www.kohgakusha.co.jp/books/detail/4-7775-1112-X
この書籍の2Dプログラムのサンプルコードをビルドすると
Error: 外部シンボル 'DXTraceA' が未解決(D:\MYPROG\JUNK\TEST4\DEBUG\DXGSAMPLE04.OBJ が参照)
Error: 外部シンボル 'Direct3DCreate9' が未解決(D:\MYPROG\JUNK\TEST4\DEBUG\DXGSAMPLE04.OBJ が参照)
とエラーコードが出てしまいます。ライブラリはclootieのです。
原因を教えてください。お願いします。

378 名前:デフォルトの名無しさん :2005/08/21(日) 22:20:46
>>377
bcc32.cfg、ilink32.cfg のDirectXライブラリのパスを

-L○○○○;×××× ←尻にではなく、

  ↓頭に追加
-L××××;○○○○

379 名前:デフォルトの名無しさん :2005/08/22(月) 12:19:07
>>378
ありがとうございます。
しかし、上手くいきませんでしたが、
リンクするライブラリを本書のp26の通りに変えて
リリースと上手くいきました。
ですが、コンパイルが上手くいっても
白紙のウィンドウで全く動きません。
エラーは全くないのですが、どういう原因が考えられる
でしょうか?

380 名前:デフォルトの名無しさん :2005/08/22(月) 13:59:05
その本は持ってないから分からんが、
2D ならテクスチャが読み込めてないとか?

381 名前:デフォルトの名無しさん :2005/08/22(月) 14:27:04
上の人と同じくBCCでDirectXを使いたいのですが
下のエラーが出てコンパイルできません。
コンパイルできるようにするにはどうすればいいんでしょうか?

エラー E2268 C:\Program Files\Microsoft DirectX 9.0 SDK (August 2005)\Include\d3dx9math.inl
1578: 未定義の関数 'sqrtf' を呼び出した(関数 D3DXVec2Length(const D3DXVECTOR2 *) )

382 名前:デフォルトの名無しさん :2005/08/22(月) 14:47:14
DX9c(2004December)にしたら、文字列表示関数を使ったら、
悉くコンパイラーにはじかれるようになったorz
エラーが出るのは仕様変更されたみたいだけど、意味が分からないorz
(省略)
//フォントの設定
LOGFONTLogFont ;
LogFont.lfHeight = 16 ;//高さ( 0 で標準)
LogFont.lfWidth = 0 ;//横幅( 0 で自動 )
LogFont.lfWeight = 1000 ;//太さ( 0 〜 1000 の範囲 : 100 刻み )
LogFont.lfItalic = FALSE ;//斜体
LogFont.lfUnderline = FALSE ;//下線
LogFont.lfStrikeOut = FALSE ;//打ち消し線
LogFont.lfCharSet = SHIFTJIS_CHARSET ;//文字コード
lstrcpy(LogFont.lfFaceName, FONT_NAME1);//フォント設定( "" で標準 )
D3DXCreateFontIndirect(lpD3DDevice, &LogFont, &lpFont);//フォントを初期化
lpFont->OnResetDevice();
(省略)
//文字描画
lpFont->Begin();
RECT rc = {0, 100, 200, 200};
lpFont->DrawTextA(NULL ,"文字表示", -1, &rc, DT_LEFT | DT_NOCLIP, D3DCOLOR_ARGB( 255, 255, 255, 255));
lpFont->End();
(省略)

383 名前:デフォルトの名無しさん :2005/08/22(月) 15:09:43
>>381
#define sqrtf(f) (float)sqrt(f)

384 名前:デフォルトの名無しさん :2005/08/22(月) 15:48:57
>>382
2004Octの日本語ヘルプを落とすとよろし。

385 名前:デフォルトの名無しさん :2005/08/22(月) 17:27:14
ポイントスプライトなんですが
D3DRS_POINTSPRITEENABLEのヘルプの説明がよくわかりません。
これがTRUEになっている時は
ビルボード表示の為に、4スミのテクスチャ座標が生成されるというのはわかるんですが
FALSEの場合、どのような動作をするのかわかりません。
ヘルプでは、
>FALSE の場合、頂点テクスチャ座標はポイント全体で使われます。
>D3DRS_POINTSPRITEENABLE が FALSE に設定されている場合は、頂点テクスチャ座標は頂点それぞれで複製されます。
とあります。どういう意味でしょうか?

386 名前:デフォルトの名無しさん :2005/08/22(月) 19:53:24
本の付録についてるDirectX SDKについて質問ですが、
これがあればspy++使えますか?


387 名前:デフォルトの名無しさん :2005/08/22(月) 20:07:28
Spy++はVisualStudioに付いてくるツールだが。

388 名前:379 :2005/08/22(月) 20:08:25
>>380
ソースうpしていいですか?

389 名前:デフォルトの名無しさん :2005/08/22(月) 20:10:32
アニメーション付きのxファイルを再生するプログラムのサンプル、
もしくはサンプルを公開しているサイトを教えてください
もの凄いくアホで申し訳ないです
とっかかりがまったくわかりません

390 名前:デフォルトの名無しさん :2005/08/22(月) 20:12:14
>>389
http://www.microsoft.com/japan/msdn/directx/default.aspx

391 名前:デフォルトの名無しさん :2005/08/22(月) 23:48:26
ウインドウモードでカーソルのちらつきを抑えるのってどうやるんですか?
一応SetCursorPropertiesでのソフトウェアエミュレーションは試してみたんですが何も効果なし…
ご存知の方いらしたら教えてください。

392 名前:391 :2005/08/22(月) 23:50:17
追記です。
描画したクライアント画面そのものはまったくちらつかないんですがマウスカーソルだけがちらつく状態です。

393 名前:デフォルトの名無しさん :2005/08/23(火) 00:41:42
マウスカーソルは表示させないでおき、
独自にマウスカーソルを描画するとかどう?

いや、テキトーなこと言ってるけど。

394 名前:デフォルトの名無しさん :2005/08/23(火) 00:48:52
>>385
「頂点テクスチャ座標は」を「(元の)頂点のテクスチャ座標が」に変えれば少しは意味が通るかと。
「頂点それぞれ」ってのはスプライト生成後の四隅の各頂点のことね。
マイクロソフトの手抜き翻訳は何とかならないもんかねぇ・・・。

395 名前:デフォルトの名無しさん :2005/08/23(火) 09:31:18
D3DXMatrixShadow() を使って平面にキャラを投影してシャドウを描こうとしているのですが、
この関数で得られた行列をワールド行列としてモデルを描画すると
Zテストが正しく行われていないかのような描画結果になってしまいます。

まずキャラを描画し、次に地面の近くの平面に投影しているのですが、
ぺったんこになったキャラが、最初に描いたキャラで隠面消去されずに描画されてしまいます。
この問題はどういった原因が考えられますでしょうか?

396 名前:デフォルトの名無しさん :2005/08/23(火) 09:41:48
プログラム通りの正しい結果が得られているので、何も問題はない。

397 名前:デフォルトの名無しさん :2005/08/23(火) 09:51:55
質問です。
pd3dDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_WIREFRAME )
でワイヤーフレームの描画を試みていますが、ポイントスプライトがワイヤーフレームではなく、
元のテクスチャが表示されてしまいます。何か他にステートを変更する必要があるのでしょうか?

開発環境:
SDK:9.0(June)
グラフィックボード:RADEON9000Pro



398 名前:395 :2005/08/23(火) 10:09:06
>>396
シャドウのポリゴンが隠面消去されずに描画されてしまうという状態が起こっているのですが、
これは問題ではないということでしょうか。
なにかレンダーステートで足らない設定があるのでしょうか?

399 名前:379 :2005/08/23(火) 13:10:46
>>380
49uperの73429です。
画像が特殊なのかddxという形式でよく分かりません。
エラーの原因を教えてください。

400 名前:385 :2005/08/23(火) 16:10:44
>>394
今わかったんですが
D3DRS_POINTSPRITEENABLEがFALSEの時って
ポイントスプライトを使わない普通のポリゴン表示モードなんですよね。
ヘルプの意味はわかりませんでしたが、単にポイントスプライトのフラグとだけ
覚えておけばいいみたいですね。
お答えありがとうございました。

401 名前:デフォルトの名無しさん :2005/08/23(火) 16:30:20
>>395
ワールド行列には、投影行列をそのままじゃなくて、
(キャラクタ自体のワールド行列)×(投影行列)を設定しているかしら。

402 名前:395 :2005/08/23(火) 17:11:19
>>401
はい、行列は (キャラクタ自体の回転行列)×(平行移動行列)×(投影行列)×(カメラ行列)
という順番で設定しています。

先程気が付いたのですが、光源の位置を、
light(0.0f, 1000.0f, 0.0f, 1.0f);
というように、Y軸上に置いた場合だけは問題が起こらないみたいです。
よろしくお願いします(´・ω・)

403 名前:デフォルトの名無しさん :2005/08/23(火) 18:07:19
ピクセルフォーマットが24bitのbmpを16bitのサーフェスに読み込もうとした場合、
bmpのピクセルフォーマットはは自動で16bitに変換されるのでしょうか。
それとも、自分で処理したいと駄目なんでしょうか。

404 名前:デフォルトの名無しさん :2005/08/23(火) 18:49:32
最近、2次元でしか抜けなくなってきたのですがDirectXの力で何とかならないでしょうか

405 名前:デフォルトの名無しさん :2005/08/23(火) 19:07:56
>>404
おまいに必要なのはDirectseXだ。

406 名前:デフォルトの名無しさん :2005/08/23(火) 19:09:56
>>393
うーん、それだとタスクバーとクライアント領域の中間でカーソルが表示されない空白地帯ができないですか?

407 名前:デフォルトの名無しさん :2005/08/23(火) 20:17:49
>>402
とりあえず、おかしくなるときのキャラクタ座標、ライト、平面の
数値を例で挙げてみて。
あと、まさかWバッファは使ってないわね。

408 名前:395 :2005/08/23(火) 21:34:27
>>407
レスありがとうございます。
キャラクタは、XZ平面上に立っている人型モデルです。
高さはY座標で20.0f程度です。XZ平面上のどの場所にいても起こります。

ライトは、 
D3DXVECTOR4 light(100.0f, 100.0f, 100.0f, 1.0f);
D3DXVec4Normalize(&light, &light);
という感じに設定しました。正規化をしないとシャドウが消えてしまうみたいです。

平面は、
D3DXVECTOR3 point = D3DXVECTOR3( 0.0f, 0.01f, 0.0f ); //平面上の一点
D3DXVECTOR3 normal = D3DXVECTOR3( 0.0f, 1.0f, 0.0f ); //法線
という感じです。

Wバッファは使っていません。Zバッファは16ビットです。
カメラのZNearとZFarを色々と変えてみたのですが、変わりありませんでした。

409 名前:デフォルトの名無しさん :2005/08/23(火) 23:20:48
>>408
ライト座標の正規化は不要(しても意味がない)のはずだけど、
それで結果が変わるのはおかしいわね。
リファレンスラスタライザで試してみて。

410 名前:395 :2005/08/24(水) 00:32:45
>>409
ライトは正規化しても意味がないのですか、怪しいですね。。

リファレンスラスタライザで試してみましたが、結果は同じでした。
うーん。。

411 名前:デフォルトの名無しさん :2005/08/24(水) 01:44:39
D3DXMatrixShadowに渡すpLightってのは
位置座標だろ、正規化しちゃ駄目だろ。
隠面消去されないってのもおかしい。
Zバッファリングが有効になっていれば必ずされます。(当然その他もろもろの設定が正しいとして)
どうなるべきのものがどう違っているのか、もっと詳しく述べるべき。
俺はD3DXMatrixShadowを使ったことないから正確じゃないけど
これはZバイアスがいるんじゃねーの?

412 名前:デフォルトの名無しさん :2005/08/24(水) 02:07:04
>>411
pLightは同次座標だから定数倍しても位置は不変なんだけど・・・

413 名前:395 :2005/08/24(水) 02:50:08
>>411
Zバッファは有効になってますし、シャドウ以外のモデルは正しく隠面消去が行われてますです。
Zバイアスというのは知らなかったので、先程使ってみたのですが、
Value値を16にしても何も変わりませんでした(つД`)

http://gamdev.org/up/img/3062.jpg
これが症状です。シャドウは床スレスレに存在しているのですが、なぜか兵士の上側に
描画されてしまっています。

414 名前:デフォルトの名無しさん :2005/08/24(水) 03:28:08
>>413
もし固定機能の頂点ブレンドを使ってるのなら、これが参考になるかも。
ttp://bbx.hp.infoseek.co.jp/cgi-bin/bbx.cgi?log=42&vew=318

415 名前:395 :2005/08/24(水) 13:07:10
どうも、解決しました!
>>414のリンク先が参考になりました。

これまでシェーダーに以下のように記述してました。
float3 position;
position = mul(float4(vertex.pos, 1), (float4x3)matWorld);
position = mul(float4(position, 1), (float4x3)matView);
ret.pos = mul(float4(position, 1), matProjection);

これを以下のように修正しました。
float4 position;
position = mul(float4(vertex.pos, 1), matWorld);
position = mul(position, matView);
ret.pos = mul(position, matProjection);

これまでワールドビュー変換では、W成分を使わなかったのですが
平面投影行列を使うとW成分を使うことになるので、射影変換の結果がおかしくなっていた
ということでしょうか。どうも皆さんありがとうございました!

416 名前:デフォルトの名無しさん :2005/08/24(水) 13:29:36
いえいえ、僕は何もしてませんので

417 名前:379 :2005/08/24(水) 15:39:32
BCCでビルドしているのですが、
原因が分かりません。ソース等をうpしたので
教えてください。
ttp://49uper.com:8080/html/img-s/73761.zip
pはメル欄です。

418 名前:デフォルトの名無しさん :2005/08/24(水) 15:45:36
>>417
>>399>>417のreleaseのEXEを実行すると、どちらも、
青い背景に、「DirectX graphics サンプル」と言う文字がフェードイン、フェードアウトを繰り返してるけど・・


419 名前:デフォルトの名無しさん :2005/08/24(水) 16:28:19
>>415
D3DXMatrixShadowの行列は一般に4×4のすべての成分が非ゼロになるからね。
この機会に、同次座標や射影幾何学について理解を深めてみると面白いと思うよ。
とりあえずは、pLightやpPlaneの4次元ベクトルを適当に定数倍しても影が動かないことや、
pLightのw成分だけを0に近づけていくと光源が遠ざかっていくことなどを観察してみましょう。

420 名前:379 :2005/08/24(水) 16:40:23
>>418
そうです。それを自分でコンパイルするとエラーは出ないのですが、
白地のウィンドウで止まってしまうんです。なぜでしょうか?

421 名前:395 :2005/08/24(水) 17:21:49
>>419
同時座標などは考慮せずにやってきましたので、、勉強してみようと思います。
射影幾何学ですか、面白そうですね。

422 名前:デフォルトの名無しさん :2005/08/24(水) 23:56:15
>>420
おまいのPCのグラフィックカードが酷くオンボロ

423 名前:デフォルトの名無しさん :2005/08/25(木) 00:23:33
nVidiaのサンプルソースコンパイルしようとすると、
incorrect version of Direct3D
というエラーが出ます。

d:\bld_sdk7.pl\devtools\sdk\9.5\sdk\libs\src\dxut\dxut.cpp(494): D3DXCheckVersion hr=Unknown (0x80040909)

という出力がでており、うまくバージョンが取得できていないようですがなにが問題なんでしょうか?

環境は
VS.NET 2003 C++.
DirectX 2005 Aug.
VideoCard GF6600GT
です。
他の自作プログラムやらなんやらは普通に動きます。

424 名前:デフォルトの名無しさん :2005/08/25(木) 10:10:29
>>379
ヒント:戻り値
ヒント:DirectX コントロールパネル

425 名前:379 :2005/08/25(木) 13:06:00
>>422>>424 アドバイスありがとうございます。今から模索してみます。
それから情報の小出しスマソ。
DirectXランタイムというのを使うとエラーらしきものが出ました。
Direct3D9: (ERROR) :HAL Disabled: Device doesn't support texturing
上手くいかない原因に関係あるでしょうか?

426 名前:デフォルトの名無しさん :2005/08/25(木) 13:08:26
>>425
そのままでは?

427 名前:デフォルトの名無しさん :2005/08/25(木) 14:38:55
>>379
>>422

428 名前:デフォルトの名無しさん :2005/08/25(木) 15:47:48
そういえばMilleniumでゲームやると、
テクスチャが張られなくて全部真っ白(影はある)だった事があったなぁ。

いまどきテクスチャに対応してないカードってなんだろ・・・


429 名前:379 :2005/08/25(木) 16:44:39
>>426
>>427
ありがとうございます。
グラフィックボードは
ATI RAGE Mobility P/M PCI (A21/2)
というらしいんですが、
動作はできても、作成する事ができない
ことってあるんですか?

430 名前:デフォルトの名無しさん :2005/08/25(木) 17:54:56
ATI RAGE って DirectX 6 くらいの世代? ちょっと古いね。
本にはコンパイルずみのバイナリーは付いてないの?

431 名前:379 :2005/08/25(木) 19:56:57
>>430
すみません。バイナリーの意味が分からないので
もう吊ってきます。

432 名前:デフォルトの名無しさん :2005/08/25(木) 20:49:31
つまり、すでにできあがって exe になっているやつ。

433 名前:デフォルトの名無しさん :2005/08/25(木) 20:55:12
てかGF2MXですらHALでの初期化に失敗するんだからそんな
ノーパソのオンボのグラボじゃ無理でしょ・・・

434 名前:デフォルトの名無しさん :2005/08/26(金) 07:00:28
DirectX 9.0c SDK August 2005使ってます。
なぜかピクセルシェーダがセットされません。
シェーダはコンパイルもセットも成功しているようなのですが、
まったく反映されないのです。
どうもデフォルトのシェーダみたいなものがセットされているみたいで、
SetPixelShaderをすっとばしても描画はされます。(意図したものではない)

問題がどこにあるか、お分かりになる方はいらっしゃいますか?


435 名前:434 :2005/08/26(金) 07:04:33
書き忘れました。
使用ハードはパナのR3Eで、チップセットが855GME(GPUは82855?)です。

436 名前:デフォルトの名無しさん :2005/08/26(金) 08:03:13
>>434-435
ピクセルシェーダを使いたい場合には、デバイス作成時に必ず
IDirect3DDevice9::GetDeviceCaps で PixelShaderVersion をチェックしなさい。

437 名前:434 :2005/08/26(金) 08:57:30
>>436
どうもです。
DeviceCapsはDirectX Caps Viewerで確認することはできませんか?
今はps_2_0でコンパイルしていますが、
非対応の場合はコンパイルエラーになりませんか?

438 名前:デフォルトの名無しさん :2005/08/26(金) 09:05:07
>>437
で、Caps Viewerで確認したらどうだったんだ?
なぜ非対応だとコンパイル時にエラーが出ると思うんだ?

439 名前:デフォルトの名無しさん :2005/08/26(金) 09:35:21
>>437
>非対応の場合はコンパイルエラーになりませんか?
そのコンパイラくれ。

440 名前:デフォルトの名無しさん :2005/08/26(金) 10:04:45
directx8で質問があります
方向ライトを当てたときの光が当たったときの明るさを制御したいです
ちょっと説明しにくいのですが、

光に対し面の傾きが
角度0 = 100%
角度45 = 50%
角度90 = 0%
のときは、こんな感じだと思うのですが、これを
角度0 = 100%
角度45 = 25%
角度90 = 0%
のように2乗にするとかで、光の当たりを極端にすることはできるのでしょうか?

441 名前:デフォルトの名無しさん :2005/08/26(金) 10:06:46
>>438
Caps Viewer上のどこを見てよいのか分かりません。
PS20Capsという項目があるので対応しているのではないかと思いましたが、
そう判断していいのかが分かりません。
ps_2_0非対応のデバイス使用時にD3DXCompileShaderでエラーになるのではないかと。

>>439
そちらの環境ではD3DXCompileShaderは使えませんか?

442 名前:デフォルトの名無しさん :2005/08/26(金) 11:12:53
>>441
[D3D Device Type]->[HAL]->[Caps]のPixelShaderVersion。
あと、コンパイルの段階ではビデオカードが非対応でもエラーは出なくて、
その後でD3DXCreatePixelShaderを呼んだときにエラーになるはずだわ。
D3DXAssembleShader じゃなくて D3DXCompileShader を使ってるみたいだけど、
アセンブラじゃなくHLSLなのかしら、それならエフェクトの方が
楽じゃないかしら。

443 名前:434 :2005/08/26(金) 11:32:21
前回名前入れ忘れたorz

>>442
PixelShaderVersion確認できました。ありがとうございますです。
CreatePixelShaderのエラーコードを華麗にスルーしてましたorz
どうもお騒がせしました。

なお、PixelShaderVersionが2.0のPCでは問題なく表示できました。
CF-R3Eはこれが0.0・・・、って一切対応していないのか。

>アセンブラじゃなくHLSLなのかしら、それならエフェクトの方が
>楽じゃないかしら。
エフェクトの効果をよく理解していないのではずしているかもしれませんが、
テクスチャの重ね合わせ処理にピクセルシェーダを使ってます。

重ね重ね、どうもありがとうございました。

444 名前:デフォルトの名無しさん :2005/08/27(土) 03:03:31
質問です。
バンプマップのときのtangentとbinormalって、頂点ごとに1つなのでしょうか?

三角形ABCと三角形CDEと三角形CFGとあったとき、
頂点Cのtangentとbinormalは1つと考えてもいいのでしょうか?

445 名前:デフォルトの名無しさん :2005/08/27(土) 03:06:48
>>444
法線と同じように考えればいい

446 名前:デフォルトの名無しさん :2005/08/27(土) 03:12:07
>>445
レスありがとうございます。
足して、正規化しちゃっていいということでしょうか?

447 名前:デフォルトの名無しさん :2005/08/27(土) 04:20:51
これからDirectXを始めようと思うのですが、手元にDirectX 5の本があります。
最近API仕様がけっこう変わってると聞くのですが、DirectX 5で勉強しといても問題ありませんか?
最近の仕様のほうが分かりやすいインターフェースだとすればそちらを勉強したほうがいいのかな、とも思います。
アドバイスお願いしますです。必要なら新しい本を買おうと思ってます。

448 名前:447 :2005/08/27(土) 04:22:13
書き忘れたのですが、基本的に使う機能は2Dのみで、新しい機能を使うつもりはないです。

449 名前:デフォルトの名無しさん :2005/08/27(土) 05:04:16
せめてDirectX7にしなさい

450 名前:デフォルトの名無しさん :2005/08/27(土) 09:02:10
そして8以降を使おうとするとあまりの変わりっぷりに愕然とする罠

451 名前:デフォルトの名無しさん :2005/08/27(土) 11:51:52
>>447
基本的に2Dっつってもポリゴンで2Dっぽく描画するか、
ほんとに2D描画なのかってところでわかれるんだけど
DirectX8,9ぐらいになるとDirectDrawが削除されてるから、
ポリゴンで2Dっぽく描画するしかなくなってる。

もう、プログラマとしての発展はのぞまねーよ。ただ、2Dゲーム(ショボイ)をつくれりゃいいんだよ。
っていうなら、多分、DirectDrawでほんとに2D描画したほうが手っ取り速い。

でも、プログラマとしてもスキルアップしていきたいな。もし、できるなら将来3Dも触ってみたい。
っていうなら、DirectX9推奨。

452 名前:451 :2005/08/27(土) 11:56:58
ただ、ホントにショボイ機能しかないから気をつけて。
AVGのキャラのまわりの淵を市販のゲームみたいに綺麗にしたいとかDirectDrawでやろうとすると
yaneSDKとかに頼ったりした方がいいかも。
もう、こういう小細工とかやろうとするとすげー知識いるからそのつもりで。
誰かのライブラリにたよることでなんとかなるかも?

じゃあDirectX8,9ではその辺楽になってるのかというと、そうでもなくてだな。
今度はアルファ云々の3Dまわりの知識が必用になる。

453 名前:デフォルトの名無しさん :2005/08/27(土) 12:42:03
2Dのライブラリだったら、DXLIBがいいと思うよ。

454 名前:デフォルトの名無しさん :2005/08/27(土) 14:33:41
>>449-453
ありがとうございます。

ドット絵の貼り合わせでゲームを作るつもりなので
DirectDrawで十分かな、と思いましたが、新しいバージョンだと使えないんですね…
ビットマップ描画するにも、テクスチャにして、ポリゴンの表面に貼り付ける、
って形になるのでしょうか。(基本的な概念もよく分かってないので変な言葉使ってたらごめんなさい)
3D機能は後々使っていきたいので、DirectX9にチャレンジしようと思います。
いろいろ新しいこと勉強する覚悟で。(3D周りの理論?とか)

DXLIBも検討してみます。
ありがとうございました。

455 名前:デフォルトの名無しさん :2005/08/27(土) 16:59:42
D3DXSPRITEは無かったことにされてるんだなw

456 名前:デフォルトの名無しさん :2005/08/27(土) 18:24:36
自分は>>451氏の言うショボイゲームでも作りたいのですが、
どうすればいいですか?
前バージョンの開発キットのようなものは残ってないですか?

457 名前:デフォルトの名無しさん :2005/08/27(土) 19:06:18
ようなものってアンタ…

458 名前:デフォルトの名無しさん :2005/08/27(土) 19:11:20
>>457はバールのようなもので闇に葬られました

459 名前:デフォルトの名無しさん :2005/08/27(土) 19:29:41
Cマガジンのバックナンバーを注文すれば手に入ります
http://www.cmagazine.jp/contents/index.html

460 名前:デフォルトの名無しさん :2005/08/27(土) 20:42:01
>>459
dクス

461 名前:460 :2005/08/27(土) 21:07:46
っていくら過去の記事を溯っても、それらしい物が見当たらないのですが…

462 名前:デフォルトの名無しさん :2005/08/27(土) 22:20:08
よくわからんがDirectXが特集されてる号のCD-ROMに入ってんじゃないの?

463 名前:デフォルトの名無しさん :2005/08/27(土) 22:46:07
>>461
2000年3月号

464 名前:デフォルトの名無しさん :2005/08/27(土) 22:59:11
>>456
#define DIRECTDRAW_VERSION 0x0500
#include <ddraw.h>

465 名前:デフォルトの名無しさん :2005/08/27(土) 23:18:41
>>456
これからだったら、こっちのほうが応用が利いていいかも
http://www.microsoft.com/japan/msdn/directx/japan/dx9/mxd10.asp

466 名前:デフォルトの名無しさん :2005/08/28(日) 00:00:57
上のほうで無かったことにされてるD3DXSpriteを使ってるんだけど、
それで描画したドット絵を拡大してみると
ふちがアンチエイリアスぽくなってる。
バイリニアフィルタ?のせいらしいんだけど、
これをかからなくする方法を教えてください。

467 名前:460 :2005/08/28(日) 00:27:04
>>462-465
皆さんありがとうございます。
>>464氏のこれってまさか
最新のバージョンのDirectXでもDirectDrawが使えるってことですか?
すみません。勘違いだったら…
開発キットとかぬかして、お手間取らせて
>>463氏ごめんなさい皆さんごめんなさ(ry吊ってきます。


468 名前:デフォルトの名無しさん :2005/08/28(日) 00:47:51
>>466
別に無かったことになんてしてませんよ。
3Dで描画すると3Dの知識がいるっていってるでしょう。
D3DXSpriteだけ例外のわけないでしょうよ。
とりあえず、ここにバイリニアフィルタのON/OFFを制御できる関数があるので調べてくださいな。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/directx9_c/directx/graphics/reference/d3d/interfaces/idirect3ddevice9/setrenderstate.asp
ところでなんでOFFにしたいんでしょうか?
バイリニアフィルタなら綺麗だからかかっててもいいじゃないですか?
もしかしてフィルタ云々と別の理由でOFFにしようとしてません?

469 名前:デフォルトの名無しさん :2005/08/28(日) 00:53:17
>>468
私は466ではありませんが、フィルタがかかっているのが常に嬉しいとは限りませんよ。
ドット絵とかだったら、そのまま拡大したいときもあると思います。
私は別の理由でしばしばMAGFILTER切ったりしますよ。

って、あれ?MAGFILTERならSetSamplerStateだよな。
466氏の要望はどっちだべ?

470 名前:デフォルトの名無しさん :2005/08/28(日) 01:19:55
>>ALL
すみません。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/directx9_c/directx/graphics/reference/d3d/interfaces/idirect3ddevice9/setsamplerstate.asp
SetRenderStateからヘルプをググってSetSamplerStateのページ開いてアドレスコピーしたんだけど
IEのアドレスバーに入ってるアドレス変わって無かったw

>>469
拡大するならなおさら、かかってた方が綺麗な気がするけど。
具体的にどういう場合なの?

471 名前:デフォルトの名無しさん :2005/08/28(日) 01:29:05
フィルタが必要かどうかは、好みや、実現したい表示によるわな。
フィルタをかけるのが綺麗とは限らない。

472 名前:466 :2005/08/28(日) 01:34:22
私はドット絵の細い線がにじんだりするのがイヤです。
拡大縮小しないでそのまま描こうとしてもにじむのを何とかしたい。

ds.d3ddev->SetSamplerState( i, D3DSAMP_MAGFILTER, D3DTEXF_POINT );
ds.d3ddev->SetSamplerState( i, D3DSAMP_MINFILTER, D3DTEXF_POINT );
ds.d3ddev->SetSamplerState( i, D3DSAMP_MIPFILTER, D3DTEXF_POINT );

とりあえずこれやってみたけど効果なかったorz
どうするんでしょう?

473 名前:デフォルトの名無しさん :2005/08/28(日) 01:37:51
みんな人が悪いな。縁の滲みが気になるんだから
clampの設定がマズいんでしょ。

>>472
D3DSAMP_ADDRESSU
D3DSAMP_ADDRESSV

この設定だと思われ。

474 名前:デフォルトの名無しさん :2005/08/28(日) 01:55:17
>ところでなんでOFFにしたいんでしょうか?
2chではこういう返しをする奴多いけど
なんでだろ?

475 名前:デフォルトの名無しさん :2005/08/28(日) 01:57:57
2chだからってわけじゃないだろ

476 名前:デフォルトの名無しさん :2005/08/28(日) 02:03:30
>>473
俺も始めそれかと思ったんだけど、
細い線がどうとかいってるから違うと思われ。

477 名前:デフォルトの名無しさん :2005/08/28(日) 02:04:16
理由を聞くのは要求仕様策定の基本だろ?

478 名前:デフォルトの名無しさん :2005/08/28(日) 02:12:41
>>474
もしかしたら、フィルタを消したいわけじゃなくて、
>>473の問題で悩んでるんじゃなかろうか?と考えた。

なんつーかね。
質問する側が
「作ってるもんの現状がどんな状態で、こういう風にしたい。」
ってのがなくて、ただ、
「アンチエイリアスっぽくなってる、バイリニアフィルタじゃなかろうか?」
っていってるから、
「それってバイリニアフィルタが問題じゃねーんじゃねーの?
そもそもなんでフィルタ消したいの?」
って疑問が回答者から消えない。
だから、
「どうしてそれがやりたくて、結果どうなってほしいのか?」
ってのがこっちから聞かなきゃならない。

で、結局、バイリニアフィルタをOFFにしても問題は解決していない(かもしれない)わけだ。

とりあえず、>>472はそのコードでバイリニアフィルタのON・OFFが効いてるのかどうか
もっとわかりやすい画像で試してくれって感じだな。

479 名前:デフォルトの名無しさん :2005/08/28(日) 02:27:28
>>473で解決するなら、質問者の言う"ふち"というのは、
テクスチャそのものの"ふち"ということになるけど、
そうなのかな?>>466どの

>>470
>拡大するならなおさら、かかってた方が綺麗な気がするけど。
>具体的にどういう場合なの?
質問者のケースはドット絵、例えば32x32のアイコンを
拡大して見せたいような場合はフィルタ切りますな。
あとは、ビデオのインタレースをそのまま表示したい場合とか。

>>472
サンプラステ−ジインデックス合ってる?

480 名前:デフォルトの名無しさん :2005/08/28(日) 02:34:13
>>472
> 拡大縮小しないでそのまま描こうとしてもにじむのを何とかしたい。

テクスチャの幅が 2の累乗じゃないのでは?

481 名前:デフォルトの名無しさん :2005/08/28(日) 02:48:19
最近は該当部分のコードやスクリーンショット、開発環境も教えないで質問者を試すような事をするのが流行りなのか?

482 名前:デフォルトの名無しさん :2005/08/28(日) 02:53:26
>>481
自分で自分を試すの

483 名前:464 :2005/08/28(日) 02:55:32
>>467
そゆこと。これを使えば最新のSDKだけで過去の資産も生かせる。
ほかにもDIRECT3D_VERSIONとかいろいろあるよ。

ちなみに、DX8以降ではDirectDrawの更新が凍結されたので、
DIRECTDRAW_VERSIONはデフォルトで0x0700になる。
だから、DX7のDirectDrawは最新のSDKでそのまま使えるはず。

484 名前:466 :2005/08/28(日) 03:10:43
>>478
その通りです。

現状は、絵をそのままの大きさで描画するときに、
細い線や絵がアンチエイリアスがかかったように滲むので
それを滲まないようにしたいです。
バイリニアと書いたのは一番症状が近いかなと思ったもので、
確信があるわけではないです。

>>479 サンプラステージ
たぶんあってます。
デフォルトは0ですよね?一応不安になって0から7までforで回してみたんでiになってますけど。

>>480 テクスチャの幅
64*512 スプライトで表示するときは64*64
一応512*512にしてみたけど変化ないです。

今のところ、SetRenderStateもSetSamplerStateも、いじってみても変化がない。
なんだか根本から間違ってるような気がしてきた。


485 名前:デフォルトの名無しさん :2005/08/28(日) 03:26:15
ゲ製作にDirectX7使ったゲームのソース転がってるじゃん

486 名前:デフォルトの名無しさん :2005/08/28(日) 08:00:12
位置座標を-0.5ピクセルずらすとか。

487 名前:デフォルトの名無しさん :2005/08/28(日) 08:48:50
>>484
ステートの変更はBegin-End間でやってるか?
ID3DXSpriteはブラックボックスだから何ともいえないが。

488 名前:466 :2005/08/28(日) 12:23:38
解決しました。

根本的な原因はバックバッファとウィンドウのサイズが微妙に違うということでした。
そりゃぁにじむに決まってる。
で、それを直した後もにじんでたのは>>487でした。
Begin-End間でもやってみたことはあったんですが、ウィンドウのサイズを直す前だったので、
場所は関係ないのかと思って別の場所においたのが原因みたいです。

>>486 -0.5ピクセルずらす
念のため-0.5ピクセルずらしてますが影響はないようです。

Begin End間で
ds.d3ddev->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_POINT );
を行えば同サイズでの描画の際に、にじみはなくなるようです。

数々の助言ありがとうございました。

489 名前:473 :2005/08/28(日) 16:14:06
漏れが読み違えてたか。

まぁ、解決してヨカタね。

490 名前:デフォルトの名無しさん :2005/08/29(月) 01:12:34
Directx8での描画の最適化で質問があります、

ヘルプに載ってるパースペクティブ補正は必要なときだけとありますが、
これはどの命令で変更するのでしょうか?それっぽいのが見当たりません
またSetRenderStateのD3DRS_NORMALIZENOMARLSはどういう意味があるのでしょうか?
パフォーマンスに影響無いように思えるのですが

491 名前:デフォルトの名無しさん :2005/08/29(月) 07:37:36
>>490
DX7以前はD3DRENDERSTATE_TEXTUREPERSPECTIVEで手動でオンオフできましたが、8から消えました。
デバイスのD3DPTEXTURECAPS_PERSPECTIVEが有効になっている限り、自動的に補正がかかります。

現在のグラフィックスハードウェアはパースペクティブ補正を前提に設計されていますので、
たとえ無効にできたとしても、速度の向上はほとんど見込めないと思います。

492 名前:デフォルトの名無しさん :2005/08/29(月) 07:44:33
http://www.microsoft.com/downloads/details.aspx?FamilyID=3904b19a-02b9-447b-ab58-c12e2456e9ba&DisplayLang=en
これみるとwin2kは対応してないみたいなんだけど
directx使って開発するにはxpにしないとだめなんですか?


493 名前:デフォルトの名無しさん :2005/08/29(月) 10:30:44
>>493
最新じゃないSDK使えばよい。

494 名前:デフォルトの名無しさん :2005/08/29(月) 16:16:43
>>492
win2k対応は(December 2004)まで
日本語ヘルプが出てるのは(October 2004)まで

495 名前:492 :2005/08/29(月) 18:54:07
なるほど。
解決しました。

dxguid.lib(dxguid.obj) : fatal error LNK1103
というリンクエラーが出たのでファイルが壊れてるのかと
入れ直そうといろいろ調べていた所だったのです。
上のエラーが無くなったのは October 2004 のでした。
ググってみると VisualStudio6 との問題らしいです。

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

496 名前:デフォルトの名無しさん :2005/08/30(火) 22:56:48
DirectDrawの質問で、フルスクリーンではなく
通常のウィンドウを初期設定したいのですがどうすればいいですか?

497 名前:デフォルトの名無しさん :2005/08/30(火) 23:38:39
( ゚Д゚)y─┛~~ さて、この馬鹿をどうしてくれようか

498 名前:デフォルトの名無しさん :2005/08/30(火) 23:50:54
  ∧¶∧
 ( ・∀・) 市中引き回しの上火あぶり
 ( ∪ ∪
 と__)__)

499 名前:デフォルトの名無しさん :2005/08/30(火) 23:51:24
殿!!

500 名前:デフォルトの名無しさん :2005/08/31(水) 09:18:42
Direct3D 9でGetRenderTargetData()を連発して呼ぶと、数秒後にシステム
全体がフリーズしてしまい、リセットボタンを押す羽目になります。
GetRenderTargetData()を呼び出す間隔をある一定以上にすると
問題はありません。他の方はどうですか?

うちは、Athlon64 3200+ Geforce6800(ドライバ77.76)を使用しています。


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