1 名前:名前は開発中のものです。 [04/05/05 12:33 ID:dP7V/vQq] DirectXについては基本このスレで話していこうとものです。 基礎的な質問+高度な質問も簡潔かつ簡単に答えることをモットーにして頂き このスレの回転を早めて常にアクティブなスレにしたいと思っております。 このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。 質問に対する答えも簡潔に出来る限りわかりやすくお願い致します。
373 名前:名前は開発中のものです。 mailto:sage [04/07/30 15:07 ID:tikmpGO/] 使用した機能によってそのバージョン以上のランタイムが必要。 9.0SDKで作ってもDirectX8.0までの機能しか使っていなければ、 8.0以上のランタイムがあれば動作する。
374 名前:名前は開発中のものです。 mailto:sage [04/07/30 17:10 ID:r2gunRKx] 回答ありがとうございます >>367 RADEONのほうが高機能だけれども、みんながRADEON使ってるってわけでもないから 結局無意味になるような・・・という感想です (低機能製品に合わせたものを作らざるおえない) >>369 両方ですか!?それはむずかしい・・・・ ATI系はミスに厳しすぎて手間取りそうだから、nVidia系にしときます。
375 名前:名前は開発中のものです。 mailto:sage [04/07/30 23:18 ID:lgfh8BvZ] でこぼこなフィールドを作っているのですが、 キャラをその上で歩かせるために、ポリゴンのある一点のY座標を取得 したいのですが、そんな都合のいい関数ありますか?
376 名前:名前は開発中のものです。 mailto:sage [04/07/30 23:48 ID:xVvwlJFX] RAYじゃダメなの? サンプルにあるでしょ。
377 名前:名前は開発中のものです。 mailto:sage [04/07/30 23:57 ID:lgfh8BvZ] Pickのやつでしょうか? D3DXIntersectの関数だけで大丈夫ですか? 使ってみたんだがいまいちうまくいかない。
378 名前:名前は開発中のものです。 mailto:sage [04/07/31 00:03 ID:Yg3TW/Ca] >>377 そそ、RayPick。こんな感じ。 kim1.hp.infoseek.co.jp/iroiro/pick.html
379 名前:名前は開発中のものです。 mailto:sage [04/07/31 00:21 ID:5nbqJytr] >>378 おお、サンクスです。 vPickRayOrigにはカメラの位置と同じ座標でいいのでしょうか? vPickRayDirの意味がいまいち分からない。とりあえずこれと同じようにやってればいいのかな。
380 名前:名前は開発中のものです。 mailto:sage [04/07/31 00:48 ID:mgl1+hTz] 多分誤解しているというか、レイの考え方を理解してないので、一度 自分で図に書いてみることをお勧めする。 レイはキャラクター位置の適当な高さから、真下に向けて飛ばす。 んで、ポリゴンとの交点からキャラの足元の高さを求める。
381 名前:名前は開発中のものです。 mailto:sage [04/07/31 01:12 ID:5nbqJytr] 親切にありがとうございます!だいぶ分かってきました。 これから試行錯誤して頑張ってみます。
382 名前:名前は開発中のものです。 mailto:sage [04/07/31 03:35 ID:eXTMz7H8] >>373 DirectMusicにバージョン定数が見あたらないのはそういう事? でも3DやInputは指定しといた方がいいよね多分。
383 名前:名前は開発中のものです。 mailto:sage [04/07/31 07:35 ID:zkl0g2VN] Pickって充分速いの? なんか全部のポリゴン調べてそうなんで、フィールドのメッシュは あらかじめ自前で用意しマップ区画にポリゴン割り当てて、高さを検索 するようにしてんだけど、素直にPick使ったほうがいいのか?
384 名前:名前は開発中のものです。 mailto:sage [04/07/31 07:38 ID:r+SIFMd9] MMOみたいに広大なマップはどうやって作ってるんでしょうか? 一定区画毎に3Dソフトでモデル作成してるの?
385 名前:名前は開発中のものです。 mailto:sage [04/07/31 07:55 ID:Ws6CvG/6] >>384 Morrowindっていうゲームのエディタ覗いてみるといいかも 2Dも3Dも基本的には地面はゲームエンジン上でハイトマップとかで作られてて そこに乗せるオブジェクトなんかをモデラーで作ってインポートして配置してる
386 名前:371 mailto:sage [04/07/31 08:55 ID:3u9dAkWC] >>372 >>373 なるほど。回答ありがとう。 これで安心して9.0 SDKをインスコできます。 まあ使い方はこれから勉強するわけですが‥‥。
387 名前:名前は開発中のものです。 [04/07/31 13:05 ID:OQmxmCVI] 前は出なかったのに Direct3D9: Decl Validator: X1039: (Global Error) Declaration can't map to fixed function FVF because nonzero stream index is used. DxGameLib.exe の 0x77e33887 で初回の例外が発生しました : Microsoft C++ exception: long @ 0x0012eaf8。 Direct3D9: (ERROR) :DrawPrimitive failed. こんな↑エラーが出るようになった。 つまりどうしろと・・・。
388 名前:名前は開発中のものです。 mailto:sage [04/07/31 13:12 ID:1SHYiP+f] >>387 エラーメッセージそのままのことするだけだが。
389 名前:名前は開発中のものです。 [04/07/31 13:24 ID:OQmxmCVI] >>388 ゼロでないストリームインデックスが使用されるので、宣言は固定関数FVFに写像することができません。 ってつまりどうすりゃいいのですか?
390 名前:名前は開発中のものです。 [04/07/31 14:31 ID:MH/J5A09] DirectX8.1でDirectPlayをしています、ランチソフトでホスト、クライアントを作りたいのですが。 ふたほうともユーザーサイドで作ることにして、クライアント側ではネット上でIPなしにホストを認識できるのでしょうか? サービスプロバイダーを介して処理するプログラムをよく見ますが、こいつが処理してくれるのでしょうか? ふたほうともSDKサンプルServer、Clientを参考に作ってます。 「ふたほう」って何ですか?
391 名前:名前は開発中のものです。 [04/07/31 14:35 ID:A32qmFzS] ふたほう。それは甘く切ない。 ふたほう。それは全ての希望。 ふたほう。それはやがて気づく自分の愚かさ。
392 名前:名前は開発中のものです。 mailto:sage [04/07/31 14:37 ID:MH/J5A09] >>391 なるほど。やがて気づくものだったんですね。 ありがとうございました。
393 名前:名前は開発中のものです。 mailto:sage [04/07/31 14:57 ID:19Xe+kkr] 鍋の蓋が加熱によって生じた圧力で吹き飛ぶ、蓋砲のことです。 大変危険ですので、子供は真似するなよ。
394 名前:名前は開発中のものです。 mailto:sage [04/07/31 15:01 ID:A32qmFzS] イメージ エイゾウ ○| ̄|_煤:'、―=≡●
395 名前:名前は開発中のものです。 mailto:sage [04/07/31 15:53 ID:3fTekrtj] >>389 固定機能TLでは、複数のストリームは使えないはずだが。 つまりストリーム0にPosition、ストリーム1にtexcoordとかは駄目。 それがやりたきゃTLはSWシェーダにするとか。
396 名前:名前は開発中のものです。 [04/07/31 18:54 ID:OQmxmCVI] >>395 HLSL使ってるんですけど、複数のストリームって使えないんですか? >つまりストリーム0にPosition、ストリーム1にtexcoordとかは駄目。 これ↑駄目なんですか? 9.0bまでは動いていたんですけど・・・。困りました。
397 名前:名前は開発中のものです。 mailto:sage [04/07/31 22:44 ID:19Xe+kkr] >>390 皮肉って突っ込まれているのに、結局素で返されてるよ…。 永遠に間違ったまま人生を終えるんだろうか?
398 名前:名前は開発中のものです。 mailto:sage [04/08/01 08:43 ID:IUr3PcEr] >>396 それぞれのD3DVERTEXELEMENT9の配列みせてみそ。
399 名前:名前は開発中のものです。 [04/08/01 14:10 ID:xMA3M3cR] >>398 //普通の D3DVERTEXELEMENT9 normal[] = { 0, 0,D3DDECLTYPE_FLOAT3,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_POSITION,0, 1, 0,D3DDECLTYPE_FLOAT3,D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL,0, 2, 0,D3DDECLTYPE_FLOAT2,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_TEXCOORD,0, D3DDECL_END() }; //バンプマップ D3DVERTEXELEMENT9 bump[] = { 0, 0,D3DDECLTYPE_FLOAT3,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_POSITION,0, 1, 0,D3DDECLTYPE_FLOAT3,D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL,0, 2, 0,D3DDECLTYPE_FLOAT2,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_TEXCOORD,0, 3, 0,D3DDECLTYPE_FLOAT2,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_TEXCOORD,1, 4, 0,D3DDECLTYPE_FLOAT3,D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TANGENT,0, 4,12,D3DDECLTYPE_FLOAT3,D3DDECLMETHOD_DEFAULT,D3DDECLUSAGE_BINORMAL,0, D3DDECL_END() }; すいません。こんな感じです。 上はエラーは出ませんが、表示はされません。 下はエラーが出て、表示もされません。
400 名前:344 mailto:sage [04/08/01 18:22 ID:KObr4ywu] 俺のバンプも表示されなくなっちまったぜ〜へっへっへっ…うわ〜ん! D3DVERTEXELEMENT9 declDisplay[] = { {0, 0, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_POSITION, 0},//x,y,z {0, 12, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_NORMAL,0},//nx,ny,nz {0, 24, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR,0},//color {0, 28, D3DDECLTYPE_D3DCOLOR, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_COLOR,1},//specular {0, 32, D3DDECLTYPE_FLOAT2, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 0},//tu0, tv0 {0, 40, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD,1},//tu1,tv1,tw1 {0, 52, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 2},//sx,sy,sz {0, 64, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 3},//tx,ty,tz {0, 76, D3DDECLTYPE_FLOAT3, D3DDECLMETHOD_DEFAULT, D3DDECLUSAGE_TEXCOORD, 4},//xx,xy,xz D3DDECL_END() };
401 名前:名前は開発中のものです。 [04/08/01 21:38 ID:xMA3M3cR] >>400 実はまだ手をつけていないんですが、 HLSLで組んだもの(自作)は今のところ全滅ですw 今からSDKのサンプル見て違いを探します。
402 名前:名前は開発中のものです。 [04/08/02 00:55 ID:Cumi6unV] デバッグしてたら、変なところぶっ壊したらしく PCがおかしくなりますたw
403 名前:名前は開発中のものです。 mailto:sage [04/08/02 06:32 ID:RAsJjWQB] (ノ∀`)アチャー
404 名前:名前は開発中のものです。 [04/08/02 12:58 ID:48yMNFmC] RPGツクールXPは、RPGを作るためのソフトです。 非常に高性能・高機能ですので、RPG以外のゲームを作ることもできます。現時点では、最高のツクールソフトと言えるでしょう。 RGSSというスクリプト言語がベースになっており、プログラミング言語に近いことができます。 また、従来のツクールシリーズの作り方も踏襲しており、RGSSを意識しなくても、ゲームを作ることができます。 簡便さと発展性を兼ね備えた、究極のツクールと言って良いでしょう。 と、言ってみる
405 名前:名前は開発中のものです。 mailto:sage [04/08/02 17:19 ID:5/vDCotE] C++は、ゲームを作るためのソフトです。 非常に高性能・低機能ですが様々なライブラリを使用できるので、ゲーム以外のソフトを作ることもできます。現時点では、最高の作るソフトと言えるでしょう。 Cというプログラミング言語がベースになっており、スクリプト言語より凄いことができます。 また、従来のCの作り方も踏襲しており、オブジェクト指向を意識しなくても、ゲームを作ることができます。 簡便さと拡張性を兼ね備えた、究極の言語と言って良いでしょう。 でどうだ。
406 名前:名前は開発中のものです。 mailto:sage [04/08/02 17:31 ID:V0vfFI6d] >405 C++はソフトじゃありません。
407 名前:名前は開発中のものです。 mailto:sage [04/08/02 17:37 ID:UJk791LC] また微妙なとこを突いてきたな
408 名前:名前は開発中のものです。 [04/08/02 17:45 ID:2byonaka] 「ふたほう」の、 BBXの例の漢字読めない厨房って、 >>333 が書いてる「厨房回答者」と同一人物だ・・・。
409 名前:名前は開発中のものです。 [04/08/02 18:21 ID:D6TGTUyj] >>399-400 特に問題ないね、なぜ駄目なんだろう。 俺はノートPCに開発環境を移した関係で ピクセルシェーダー関係は確認していなかったんだが やっぱりバンプは失敗するのかな。 とりあえず頂点シェーダーのみは無問題だったが。
410 名前:名前は開発中のものです。 mailto:sage [04/08/02 19:57 ID:5/vDCotE] ふた:訓読み ほう:音読み すごいと思った。 参考にしようと思った。 >>409 を書き換えてあげます。 特にといだいないね、なぜだもくなんだろう。 俺はノートPCにひらはつたまきょうを移したせっけいで ピクセルシェーターせっけいはたしにんしていなかったんだが やっぱりバンプはうしぱいするのかな。 とりあえずいただきてんシェーダーのみはなといだいだったが。
411 名前:名前は開発中のものです。 [04/08/02 22:02 ID:Cumi6unV] >>409 ご迷惑おかけしました。 SDKのソースと見比べてみたところ、 実はエフェクトの設定を下のように設定しなければいけなかったみたいです。 これで表示されるようになりました。 お付き合い頂き誠にありがとうございました。 effect->Begin(&tem,0); effect->BeginPass(mPass); //描画処理 effect->EndPass(); effect->End();
412 名前:名前は開発中のものです。 mailto:sage [04/08/02 22:29 ID:07o4uf2l] 俺もPassをBeginPassに変更した点以外同じ。 でも駄目だった。 何が悪いのか考えるのも、めんどっちーから前のバージョンに戻した。 時が解決してくれるだろうw
413 名前:名前は開発中のものです。 [04/08/02 22:33 ID:Cumi6unV] >>412 前のバージョンではBeginとEndが無くても動いたわけですがその辺は大丈夫でしょうか? つまり、私の場合はeffectのBegin関数とEnd関数が無かったわけですが。
414 名前:名前は開発中のものです。 mailto:sage [04/08/03 09:57 ID:FP35Pks2] >>412 オレの場合、EndPass()を忘れていた所があって、9bでは動いていたけど、9cではエラーになったよ。 Begin( numPass, 0 ); BeginPass(0); draw(); EndPass(); ←これを忘れていたら9cでは×だった。 End(); もし、VC++使っているんだったら、DirectXコントロールパネルでDirect3DをDebugモードに切り替えると、VCの"output"ウィンドウにDirectXのエラーメッセージがでるよ。 メッシュをちゃんと描いているのに画像が出ないとかDirectX内部でエラー処理されて無視されているわけわかんないバグ取りに役立つ。
415 名前:名前は開発中のものです。 mailto:sage [04/08/03 10:07 ID:b+weJY54] エフェクトは挙動がおかしいところがちょっとあるな。 ID3DXEffect::SetTechniqueの直後に ID3DXEffect::GetCurrentTechniqueを呼び出すと 同じテクニックが返ってきたり返ってこなかったり。
416 名前:名前は開発中のものです。 [04/08/04 19:09 ID:WFS4G4PK] ある基底行列mBasisをmRotationで回転させたいのですが D3DXMatrixMultiply( &mBasis1, &mBasis, &m_mRotation ); と D3DXVECTOR3 vR( mBasis( 0, 0 ), mBasis( 1, 0 ), mBasis( 2, 0 ) ); D3DXVECTOR3 vS( mBasis( 0, 1 ), mBasis( 1, 1 ), mBasis( 2, 1 ) ); D3DXVECTOR3 vT( mBasis( 0, 2 ), mBasis( 1, 2 ), mBasis( 2, 2 ) ); D3DXVECTOR3 vR1, vS1, vT1; D3DXVec3TransformNormal( &vR1, &vR, &m_mRotation ); D3DXVec3TransformNormal( &vS1, &vS, &m_mRotation ); D3DXVec3TransformNormal( &vT1, &vT, &m_mRotation ); mBasis1 = D3DXMATRIX( vR1.x, vS1.x, vT1.x, 0.0f, vR1.y, vS1.y, vT1.y, 0.0f, vR1.z, vS1.z, vT1.z, 0.0f, 0.0f, 0.0f, 0.0f, .0.0f ); では違う値になってしまいます。 下は望む結果が出るのですが、上は誤差?なのか下と微妙に違う結果になります。 なぜでしょうか?
417 名前:名前は開発中のものです。 mailto:sage [04/08/04 19:24 ID:WFS4G4PK] 自己解決しました。 mBasisが転置になってました。 もうちょっと調べてから書き込めばよかった・・
418 名前:416 mailto:sage [04/08/04 19:48 ID:WFS4G4PK] 違った。 正解はこれみたい。 D3DXMatrixMultiplyTranspose( &mBasis1, D3DXMatrixTranspose( &D3DXMATRIX(), &mBasis ), &mRotation ); 行列は頭がこんがらがるなぁ。
419 名前:名前は開発中のものです。 mailto:sage [04/08/04 20:00 ID:hSk7Y9/8] DirectDrawSurfaceで教えてくらはい 16bppのSurfaceのピクセルフォーマットは555と565以外の物って存在するんすかね? あと、16bppでPrimarySurface作った後でSYSTEMMEMORY上に16bppオフスクリーンSurface作った時、 ピクセルフォーマットは同じである保証はあるのでしょうか? (Primaryが565でOffScreenが555だったりしたらイヤン)
420 名前:名前は開発中のものです。 mailto:sage [04/08/04 21:21 ID:uI3nmk7+] >>419 この世に生き残っているのは555と565だけ。 プライマリとオフスクリーンのフォーマットは同じ。
421 名前:名前は開発中のものです。 mailto:sage [04/08/04 21:27 ID:4TyN42HM] RGB5A3だな
422 名前:419 mailto:sage [04/08/04 21:49 ID:hKOnHnTA] マリガトン いらん心配だったみたいね
423 名前:名前は開発中のものです。 mailto:sage [04/08/09 15:31 ID:YK+Ecc2p] NVIDIA、デスクトップ用チップ不振で大幅減益 www.itmedia.co.jp/news/articles/0408/07/news010.html?nc30 >「市場で異例の出来事がいくつか重なった結果 いや、自業自得だろ。
424 名前:名前は開発中のものです。 mailto:sage [04/08/10 14:09 ID:x3RQWXF2] >>419 明示的に指定すればプライマリと違うフォーマットでも作れるぞ。 何も指定してなければプライマリと一緒。 というわけで、保証されてはいないが、特に指定した覚えがなければ 気にする必要はない。
425 名前:名前は開発中のものです。 [04/08/10 16:50 ID:s68euKkc] アニメーションっていうのかな? 3Dの人などのモデルを歩かせたいんだけど間接とかで動かしたいん だけどどうすればいいのかわかりません。 どなたか助けて
426 名前:名前は開発中のものです。 mailto:sage [04/08/10 16:52 ID:ci9GUBOp] >>425 ワンスキン・スキニング・ボーンなどなど。 SDKサンプルに入っているのを見ようとは思わない?
427 名前:名前は開発中のものです。 mailto:sage [04/08/10 19:40 ID:wVs3skAG] スキンメッシュ使ってんなら、 自分で指定した行列をセットすればできるよ。
428 名前:名前は開発中のものです。 [04/08/10 22:12 ID:OALsNdeP] DirectX9cを使ってる人はどれくらいいんの?
429 名前:名前は開発中のものです。 mailto:sage [04/08/10 23:54 ID:FRiHxzCj] 838861人くらいかな
430 名前:名前は開発中のものです。 mailto:sage [04/08/12 03:57 ID:fg6dyKsT] BBXでカキコしたけど相手にされなくて こっちに来て助けを求めている羊が何名かいるようだな。
431 名前:名前は開発中のものです。 mailto:sage [04/08/12 05:02 ID:ouic0Ye9] 【ふたほう】厨房王国BBX【効率を削減ライブラリ】 【ホーマット】厨房王国BBX【重いどうり】
432 名前:名前は開発中のものです。 [04/08/12 12:08 ID:Pu8PGMOq] 【MMO】みんなでネトゲ作ろうぜ【RPG】スレ ttp://etc3.2ch.net/test/read.cgi/entrance/1092231466/ ↑のスレのスレ主です、まだぜんぜん白紙なのですが いまはまだ白紙の状態なのですがいま他のスタッフとスレの人とでアイディアを出し合っています お願いします俺はこのプロジェクトに賭けているんです。 どうか、どうか協力してください。゚(゚´Д`゚)゚。
433 名前:名前は開発中のものです。 mailto:sage [04/08/12 15:07 ID:Ervrl36o] いきなりMMOにチャレンジする初心者の多いこと… まずは一人で遊べる「インベーダーゲーム」とかでも作ってみたらどうよ? そんでもって、インベーダーと砲台をMMO化しると。
434 名前:名前は開発中のものです。 mailto:sage [04/08/13 02:02 ID:KHJl2h+v] 作りたいゲームと作れるゲームには大抵ひらきがあるからな。
435 名前:名前は開発中のものです。 mailto:sage [04/08/13 02:48 ID:PB6WbjSS] MMO企画厨は、技術検証もせずに たいていシナリオ先行型w
436 名前:名前は開発中のものです。 mailto:sage [04/08/13 18:39 ID:GTonJWbj] MMO厨でシナリオ先行って聞いたことないなw 大抵スキルとか生産とかで大妄想して ネットワークコードも書かずに終わる
437 名前:名前は開発中のものです。 [04/08/13 20:31 ID:eFu2IU8S] Xファイル出力でキャラを表示させたのですが、アニメーションの最前線では どういった形で動いてるの? Xファイル(頭、手、体、足)みたいに分けてそれを行列を使ってとかですかね? それともXファイルをいくつも用意してそれを変えてく? さあ、どっち!!
438 名前:名前は開発中のものです。 mailto:sage [04/08/13 20:41 ID:cquwXCm5] > アニメーションの最前線 分野が広すぎて、どの分野のことを言っているのか分からず意味不明。 とりあえずXファイルじゃないことは確か。
439 名前:名前は開発中のものです。 mailto:sage [04/08/13 21:01 ID:bns5xtH0] >>438 ワカンネーのなら答えんな!消えな糞!
440 名前:名前は開発中のものです。 [04/08/13 22:50 ID:2yEX/S7c] >>437 「どっち!!」じゃねぇよ馬鹿。 ボーンもしらねぇ糞餓鬼は糞して寝ろ
441 名前:名前は開発中のものです。 mailto:sage [04/08/13 23:19 ID:JwSIe6qm] アニメーションの最前線では、 動作部分のセル画を一枚一枚書いているのですよ。 ボーンもスキンもましてや行列なんて関係ありません。
442 名前:名前は開発中のものです。 mailto:sage [04/08/13 23:37 ID:nPJIRCin] おばあちゃんだめ。 ここにはお父さんもお母さんもいないもん。
443 名前:名前は開発中のものです。 mailto:sage [04/08/14 15:50 ID:Tqhot9Gc] DirectX8.1を利用してゲームを作ろうと思っているのですが、 DirectX9の参考書は沢山あっても、DirectX8で良いのがありません。 DirectX9の参考書で勉強しても支障はないでしょうか?
444 名前:名前は開発中のものです。 mailto:sage [04/08/14 18:10 ID:1SQO+BjR] >>443 DirectX9はdirectdrawとdirect3Dが一つに合体してるよ
445 名前:名前は開発中のものです。 mailto:sage [04/08/14 18:20 ID:NkoqHJ4d] >>443 DirectX Graphics以外は、普通に使う分には全く(ほぼ)同じ。 DirectX Graphicsでの目立った違いは、 プレゼンテーション周り、シェーダ・エフェクト周り、SetVertexShader→SetFVF。 ほかの資料などを参照してそこらへんを読み替えられるのであれば、 全く問題ない。
446 名前:名前は開発中のものです。 mailto:sage [04/08/14 18:21 ID:/Kf97LYg] 合体ではなく廃止。 ついでに言えばその状況はDirectX8からなんだが、何が言いたいんだ?
447 名前:名前は開発中のものです。 mailto:sage [04/08/14 18:58 ID:1SQO+BjR] 廃止されたらサーフェイスの初期化ができなくなる よって合体なり
448 名前:名前は開発中のものです。 mailto:sage [04/08/14 20:51 ID:XRLALKIN] >443 ttp://www.microsoft.com/downloads/details.aspx?FamilyID=09343a34-6d91-4708-a2da-7e98cf7ec872&DisplayLang=ja
449 名前:名前は開発中のものです。 mailto:sage [04/08/14 20:58 ID:/Kf97LYg] >>447 Direct3Dからは合体ではなく完全に廃止。 サーフェイスとDrawはイコールではない。 後は3Dデバイスからは隔離された形で、DirectShowとC#用に残っているだけ。
450 名前:名前は開発中のものです。 mailto:sage [04/08/14 21:28 ID:VJLygUuK] 7までは確か DirectDrawの初期化 Surfeceの作成 ↓ 上のを使ってDirect3Dの初期化 となってたから、合体でも別にいいんじゃないか。 というか、合体だろうが廃止だろうが、そんなこたーどうでもいいじゃないか。
451 名前:名前は開発中のものです。 [04/08/15 15:50 ID:tEZqQFNr] 2003summerSDKでDirectPlayを試してみてるんですが、 HRESULT hr; と定義すると 「'hr' : 識別名を宣言するのに、型が指定されていません。」 とエラーが出てコンパイルできません。 こんなところでエラーが出てさっぱり意味がわからないのですが、 これは何なんでしょうか。ご存知の方がいたら教えてください。お願いします。
452 名前:451 mailto:sage [04/08/15 16:19 ID:tEZqQFNr] 板間違えました。他いってきます。すいません。
453 名前:名前は開発中のものです。 mailto:sage [04/08/15 16:30 ID:c1nmB8Qn] #if !defined() ってどういうことですか? #ifndef とちがうのですか? directxのサンプルでは同じように使っているような気がするのですが・・・。 初心者です。お願いします・・・。
454 名前:名前は開発中のものです。 mailto:sage [04/08/15 20:56 ID:IeQNR+c5] >>453 ヘルプに書いてあるけど、同じ意味を持つよ。
455 名前:名前は開発中のものです。 mailto:sage [04/08/16 07:14 ID:WPAsl4c1] >>454 サンクス!
456 名前:443 mailto:sage [04/08/16 08:54 ID:0pYdmfWN] みなさん、とても参考になりました。 8より9の参考書を買った方が使えそうなので、ネットと併用して勉強しようと思います。 ありがとうございました!
457 名前:名前は開発中のものです。 [04/08/18 06:12 ID:aECUphq4] 自HP(ライフ)の状態によって、文字の色を変えたく思っています。 文字自体は一枚のテクスチャ(グレースケールの.bmp)に全て描いてあります。 色ごとにテクスチャを用意するのは辛いので、 頂点カラーとブレンドして表示したいのですがどうにも上手くいきません。 .bmpの情報をアルファ、頂点カラーを色とするには どういう手順でやれば良いのでしょうか…。DirectX9です。
458 名前:名前は開発中のものです。 [04/08/18 08:52 ID:gKvCATyJ] >>457 頂点カラーでは効率が悪いので定数色にすればいい。 d3dDevice->SetTextureStageState( 0, D3DTSS_CONSTANT, 文字の色 ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3D3DTOP_SELECTARG1 ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT ); d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3D3DTOP_SELECTARG2 ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );
459 名前:458 [04/08/18 09:00 ID:gKvCATyJ] 間違った!これね。 d3dDevice->SetTextureStageState( 1, D3DTSS_CONSTANT, 文字の色 ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3D3DTOP_SELECTARG2 ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT ); d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3D3DTOP_SELECTARG1 ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT ); よくわからんがtextureFactorの方がよさそうか。 d3dDevice-SetRenderState( D3DRS_TEXTUREFACTOR, 文字の色 ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3D3DTOP_SELECTARG2 ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_TFACTOR ); d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3D3DTOP_SELECTARG1 ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );
460 名前:458 mailto:sage [04/08/18 09:04 ID:gKvCATyJ] ぎゃーまた間違った!鬱だ氏のう 慣れないことはしないもんだ。。 d3dDevice->SetTextureStageState( 0, D3DTSS_CONSTANT, 文字の色 ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3D3DTOP_SELECTARG2 ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CONSTANT ); d3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3D3DTOP_SELECTARG1 ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); d3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3D3DTA_CURRENT );
461 名前:457 mailto:sage [04/08/18 09:29 ID:aECUphq4] 試してみたのですが出来ず、 調べてみたら、うちのビデオカードはD3DPMISCCAPS_PERSTAGECONSTANTの フラグが立ちませんでした…_CONSTANT使えないみたいです。 折角書いてもらったのに申し訳ないです(´・ω・`)
462 名前:名前は開発中のものです。 mailto:sage [04/08/18 12:00 ID:Gn12Xz81] 頂点バッファの頂点に対応した画面上の座標の取得方法はどうやるのですか? DirectX 8.1のVCです。
463 名前:名前は開発中のものです。 mailto:sage [04/08/18 12:08 ID:I8z10sIf] 頂点バッファと実際の座標は対応していません。 よって取得する方法など存在しません。
464 名前:名前は開発中のものです。 mailto:sage [04/08/18 13:22 ID:a9mH/iKH] >457 とりあえずおまえの設定した SetTextureStageState SetRenderState を書け。
465 名前:名前は開発中のものです。 mailto:sage [04/08/18 13:30 ID:gKvCATyJ] >>461 ではtextureFactorはどうか。 どっちにしても肝はalphaの方なんで rgbはマテリアルだろうがなんだろうが どれでもいい。 ちなみに>>460 も間違ってるのでよろしく。 >>462 頂点バッファの出力 oPos ビューポートの行列 mViewport (www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/directx9_c/directx/graphics/programmingguide/fixedfunction/viewportsclipping/viewportscaling.asp ) float4 pos = float4( oPos.xyz / oPos.w, oPos.w ); pos = pos * mViewport;
466 名前:名前は開発中のものです。 mailto:sage [04/08/18 17:53 ID:mLZSwSlt] >>457 単純に頂点カラーに色入れて COLOROPをMODURATEにすれば動きますよ。 α成分も変更したけりゃALPHAOPもMODURATEにする。 あと、文字以外の周辺の部分は透明にするんじゃないの? それならbmpにグレースケールじゃなくて、真っ白なtgaのα成分に文字書かないと。 この方法は頂点カラー設定がめんどくさいとか、 真っ白なテクスチャで無駄が多いとかはあるけど 一番単純だし、ほぼすべてのビデオカードでサポートされるから とりあえず最初はこの方法でやるのがよいと思われ。
467 名前:名前は開発中のものです。 [04/08/18 17:58 ID:4mdm1QSQ] >>461 シェーダーかけりゃめちゃ簡単なんだけどね。 で、頂点カラー使う必要ないでしょ。カラー取得をマテリアルにして、 SetRenderState( D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_COLOR1 ); マテリアルのディフューズカラーに使いたい色をセットして、マテリアルをセットし、 テクスチャ(文字色は白ね)とセットしたディフューズカラーを掛け算。 SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE ); SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE ); 以上
468 名前:名前は開発中のものです。 mailto:sage [04/08/18 18:01 ID:GFEQHMlA] 専門用語ばっかりでよく分かりません 専門用語を使わないで教えてください
469 名前:467 [04/08/18 18:03 ID:4mdm1QSQ] 俺も間違えちゃった。一番上のやつ↓ね。COLOR1じゃなくってMATERIALだから。 SetRenderState( D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_MATERIAL); >>468 無理。
470 名前:名前は開発中のものです。 mailto:sage [04/08/18 18:18 ID:K9yJrd29] >>468 その前に聞け
471 名前:467 [04/08/18 18:43 ID:4mdm1QSQ] そういうことか。ぜんぜん質問読んでなかった。そんだったら、 ビットマップの方でα値を各ピクセルにセットしておく。 マテリアルのディフューズカラーのα値は最大(1.0fか、255)にしといて、任意のカラーをRGBをセット。 マテリアルをセット。 したら、アルファブレンドの設定をして, SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE); SetRenderState( D3DRS_SRCBLEND, D3DBLEND_SRCALPHA ); SetRenderState( D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA );←もしくは、D3DBLEND_ONE あとはさっき書いたとおり、 SetRenderState( D3DRS_DIFFUSEMATERIALSOURCE, D3DMCS_MATERIAL); SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE ); SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE ); SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE ); でテクスチャをサンプラー0にセットしてフォントを描画。
472 名前:457 mailto:sage [04/08/18 21:21 ID:aECUphq4] 帰ってきたら更に沢山のレスが(n‘∀‘)η シアワセー 全て試してみましたが、見事に文字色が変わっております。 どうして上手くいくのかまだ良く分からないので、これから じっくりヘルプとにらめっこしてきます。 皆さんレスありがとうございました。
473 名前:名前は開発中のものです。 [04/08/18 22:52 ID:PhkND6gf] ソースコード載せて話すると余計わけわからなくならねぇか? ようはα情報だけ生かして、文字を描画したいって話だろ? 色をテクスチャからとってこないで、自分で付けて、 αだけテクスチャからとってくる。 実現方法は好きにしろ。って話じゃないの?