- 1 名前:名前は開発中のものです。 [04/05/05 12:33 ID:dP7V/vQq]
- DirectXについては基本このスレで話していこうとものです。
基礎的な質問+高度な質問も簡潔かつ簡単に答えることをモットーにして頂き このスレの回転を早めて常にアクティブなスレにしたいと思っております。 このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。 質問に対する答えも簡潔に出来る限りわかりやすくお願い致します。
- 623 名前:574 mailto:sage [04/08/30 23:47 ID:p9cFUGYb]
- >>619
わかりません。 >>620 そうなんですか、 気にはなっていたのですが。 >>612 上のURLのライブラリを使ってます。 というか、それを入れないとBCCでの開発は不可能だと聞きましたので。 LunaBCCはよさそうなのですが、 DirectXの勉強のためにも一から自分で組みたいなと思っているんです。 すいません。
- 624 名前:名前は開発中のものです。 mailto:sage [04/08/31 00:15 ID:GrjKiyhi]
- >というか、それを入れないとBCCでの開発は不可能だと聞きましたので。
自分で作れば不可能ではなくなる。
- 625 名前:名前は開発中のものです。 mailto:sage [04/08/31 00:19 ID:3e2h5xuA]
- >>623
dxguid.lib dxerr9.lib dinput8.libでIID_IDirectInput8にしてコンパイル通ったんだが・・・・
- 626 名前:名前は開発中のものです。 mailto:sage [04/08/31 01:30 ID:Sa6m5/RG]
- Xファイルを複数読み込むときにですね、
配列を使ってやろうとしたんですけど、 なぜかできませんでした。 クラスとかが使えないとまずいですかね?
- 627 名前:名前は開発中のものです。 mailto:sage [04/08/31 01:40 ID:sprNxSK/]
- クラスを使える使えないは別問題。
- 628 名前:名前は開発中のものです。 mailto:sage [04/08/31 02:05 ID:Sa6m5/RG]
- LPD3DXMESH lpD3DMesh = NULL; // メッシュ
D3DMATERIAL9 *D3DMaterial = NULL; // 質感 LPDIRECT3DTEXTURE9 *lpD3DTexture = NULL; // テクスチャー DWORD dwNumMaterials = NULL; // マテリアル数 10個Xファイルを読み込むなら↑が10個分必要?
- 629 名前:名前は開発中のものです。 mailto:sage [04/08/31 02:18 ID:sprNxSK/]
- そうだが構造体にまとめたほうがよさげ
- 630 名前:名前は開発中のものです。 mailto:sage [04/08/31 02:18 ID:gdzLK54q]
- 10個書くのが面倒なら
構造体なりクラスなりまとめりゃあいいんじゃねえの? それかD3DXMESHCONTAINERかそこら使うとか。 DirectX以前に、文面から明らかにあんたのC/C++の知識・経験不足。
- 631 名前:574 mailto:sage [04/08/31 02:34 ID:jUJY5ORF]
- >>624
なるほど・・・ >>625 コンパイルできました! ありがとうございます! dinput.libと、dinput8.libの二つをリンクしてたのが原因・・・みたいです。 だめなんですね、この二つをリンクするのは。
- 632 名前:麻耶子 [04/08/31 11:21 ID:IY1iJSYZ]
- よくPS2とかのゲームで3Dのキャラクタが剣を振ったりしてるじゃないですか。
そういった3Dのキャラクタのアクション?アニメーション?ってどういった原理 でやってるんでしょうか?DirectXでXファイルを読み込んでそのデータを どうすれば動くんですか?そういったやり方なのかXファイルをアクションの 数分用意するんでしょうか?どなたか教えて頂けたら幸いです。
- 633 名前:名前は開発中のものです。 mailto:sage [04/08/31 11:25 ID:mh9EN2XE]
- …
- 634 名前:名前は開発中のものです。 mailto:sage [04/08/31 11:31 ID:VtZxOXGy]
- わざわざ名前を付ける意図がわからん
ネカマ効果でも期待してるのか?
- 635 名前:名前は開発中のものです。 mailto:sage [04/08/31 12:03 ID:7XPSpLc5]
- ちょっと検索すればいくらでもでてくるだろうが
- 636 名前:名前は開発中のものです。 mailto:sage [04/08/31 12:09 ID:S3EWZn8j]
- directXは行列の計算とか難しいこと出来なくても出来ますか?
- 637 名前:名前は開発中のものです。 mailto:sage [04/08/31 13:34 ID:q05f1i7v]
- >>636
行列の計算はDirectXがやってくれるから簡単だよ。 行列でできることは移動、回転、拡大縮小だよ。
- 638 名前:628 mailto:sage [04/08/31 17:04 ID:CPB7EMQ0]
- 全然クラスとかわかんなかったので、
クラスを勉強して2つのXファイルを読み込もうとしたんですけど、 やっぱりできませんでした。 とりあえずエラーは出ないんですけど、起動したら強制終了してしまいます。 誰か救いの手を・・・ ソースVC6.0 www.h3.dion.ne.jp/~rank/001.zip
- 639 名前:麻耶子 [04/08/31 17:29 ID:RyLy+xPH]
- >634
質問するとき名前を名乗るのは当然でしょ。 2chはそういうことしなくていい場所なら失礼致しました。 2chはほとんど男でしょうけど私は女です。ゲーム作るのが楽しい女もいることは覚えておいて下さい。
- 640 名前:名前は開発中のものです。 [04/08/31 17:49 ID:Eqw4COEC]
- LightWave,Maya等を使ってモデルデータとシーンデータ(モーションデータ)
を作って動かすか、プログラムであらかじめ動きを作っておく
- 641 名前:名前は開発中のものです。 mailto:sage Let's Fishing!! [04/08/31 18:56 ID:mJWXdrBd]
- >>639
何を持って当然というかは知らないが、 不特定多数に対して質問するときは名乗らない場面も非常に多い。 ついでにそういうスレ違いのレスはsageるのがルール。 >質問するとき名前を名乗るのは当然でしょ。 自分のしていることは間違っていないと言いたそうなこのレスをする前に、 ルールを守ったらどうだ? 基地外だから無理かもしれんが
- 642 名前:名前は開発中のものです。 mailto:sage [04/08/31 19:29 ID:qjzurGy3]
- >>638
ttp://haiiro.info/up/img/1490.zip 添削してやったぞ お礼はお前のねーちゃんのエロ画像でいいや
- 643 名前:名前は開発中のものです。 mailto:sage [04/08/31 20:47 ID:sXGZGE09]
- >ついでにそういうスレ違いのレスはsageるのがルール。
そんなルールは無いけどね
- 644 名前:名前は開発中のものです。 mailto:sage [04/08/31 21:08 ID:GGIR8YL9]
- >>643
暗黙のルールだろ。 人に挨拶されたらこっちも挨拶するのはルールと言うぞ。 法律で定められてなくとも立派なルールだ。 まあ真性の馬鹿に何を言っても無駄だろうけど。
- 645 名前:名前は開発中のものです。 [04/08/31 21:13 ID:QGRYGa+M]
- すいません、フルスクリーンにするにはどうしたらいいのでしょうか?
D3DPRESENT_PARAMETERSのモンバWindowedをFALSEにしてもフルスクリーンになりません・・・ TRUEだったらウィンドウに画像が表示されるのですが、FALSEだと起動した瞬間に終了します。
- 646 名前:名前は開発中のものです。 mailto:sage [04/08/31 21:29 ID:6EHRxm1A]
- >>645 DirectXサンプルに答えがあるのになぜ見ない?
- 647 名前:名前は開発中のものです。 mailto:sage [04/08/31 21:33 ID:sprNxSK/]
- D3DPRESENT_PARAMETERS構造体のBackBuffer〜というメンバに値を設定してる?
これ設定しとかないとならなかった気がする。
- 648 名前:名前は開発中のものです。 mailto:sage [04/08/31 21:52 ID:sXGZGE09]
- >>644
それはルールじゃないからね。 まあ真性の馬鹿に何を言っても無駄だろうけど。
- 649 名前:名前は開発中のものです。 mailto:sage [04/08/31 22:05 ID:eVEvf9KS]
- >>648
社会のルールだろうが低脳 もう一回小学校からやり直せ と思ったけど書き込みを見た感じリア消か、 まあそりゃあ世間知らずでもしょうがいないわな
- 650 名前:名前は開発中のものです。 mailto:sage [04/08/31 22:05 ID:bwdbBIXH]
- >>649
無駄なスペースを空けるのはルールに入らないんですか?
- 651 名前:名前は開発中のものです。 mailto:sage [04/08/31 22:09 ID:HDOgrwdm]
- ルールがどうとか言ってる奴らは自治スレに行ってください
- 652 名前:645 [04/08/31 22:16 ID:5qxSKzLw]
- >>646
サンプルの量が多すぎてどれを見ていいのか分かりません。 今、サンプルやらチュートリアルを見ながら色々試してみてたのですが、 ウィンドウモードで起動したのが終了できなくなりました。 ×ボタンもないし、タスクバーのやつを右クリックしてもメニューが表示されません。 >>647 してます・・・
- 653 名前:名前は開発中のものです。 mailto:sage [04/08/31 22:23 ID:sprNxSK/]
- サンプルのソースは初期化とかの基本的な部分は共通のファイルに入っていて
各サンプルはそれをincludeしてる形だから。
- 654 名前:名前は開発中のものです。 mailto:sage [04/08/31 22:38 ID:16p/Kk0b]
- sageが絶対のルールだと思っているsage厨は死ね。
ageようがsageようがどうでもいいだろ。 もうage,sageごときでムダに他人に突っかかるなよ。
- 655 名前:638 mailto:sage [04/08/31 23:02 ID:WIKYyYv2]
- >>642
ありがとうございます!! でもなぜかDLできない・・・。 サーバービジー状態・・・。
- 656 名前:638 mailto:sage [04/08/31 23:16 ID:WIKYyYv2]
- DLできました。
細かい添削本当に感謝!
- 657 名前:名前は開発中のものです。 mailto:sage [04/08/31 23:39 ID:Dm5qzUX7]
- >>650
age、sageの是非はスレの流れによって意見も異なるが、 >>649みたいな無駄な改行が是とされるケースは皆無だよな。 これはまさに自爆ってやつだろう。 煽りに「リア消」って単語選ぶあたり、リア厨なのかもしれない。
- 658 名前:名前は開発中のものです。 mailto:sage [04/09/01 01:13 ID:huoKVM2k]
- どっかに9.0bないかな・・・・(2003summerの前のやつ)
- 659 名前:名前は開発中のものです。 mailto:sage [04/09/01 07:39 ID:po6+kMBh]
- MSのサイトからDLできないの
DirectX関係の参考書の付録CDによく収録されてるけど
- 660 名前:名前は開発中のものです。 mailto:sage [04/09/01 11:11 ID:xBYRo/UW]
- 思ったが、DirectXの初心者用質問スレを立てたほうが良いのと違うか。
- 661 名前:名前は開発中のものです。 mailto:sage [04/09/01 12:24 ID:F+B8VPtk]
- 夏休み終わったから立てなくていいよ
- 662 名前:645 [04/09/01 13:30 ID:6Lnyvx3i]
- フルスクリーン化がどうしてもできません・・・
ググっても Windowed のところを TRUE から FALSE にしろとしか書いてないです。 あと、ただ画像を表示させるだけのプログラムがものすごく重いのですが、 これはウィンドウモードだからですか? 後ろにあるアプリケーションを表示しようとすると30秒くらいかかります。 マウスカーソルもかなり重いです。
- 663 名前:名前は開発中のものです。 mailto:sage [04/09/01 13:32 ID:F+B8VPtk]
- サンプルで全画面にしても変わらないの?
普通のダイレクトXのアプリの全画面は動く?
- 664 名前:名前は開発中のものです。 mailto:sage [04/09/01 13:44 ID:GLk7SO4/]
- >>662
とりあえずフルスクリーン初期化時に D3DPRESENT_PARAMETERS の中身とCreateDeviceがどんな感じなのかかいてみたらどうでしょう。 >画像を表示させるだけのプログラムがものすごく重いのですが、 >これはウィンドウモードだからですか? ウィンドウモードがHEL動作しかできないビデオカードでもつんでいるんでは? 古いビデオカードはフルスクリーンしかHAL動作しないのもあるよ。 DirectXサンプル内で、ウィンドウ動作するやつは正常に動いていますか…?
- 665 名前:名前は開発中のものです。 mailto:sage [04/09/01 15:21 ID:zDPCNccp]
- a
- 666 名前:645 [04/09/01 15:27 ID:8UoVVY3m]
- >>663
>サンプルで全画面にしても変わらないの? サンプルは・・・昨日4時間ほど戦っていたのですが、 どのサンプルをどうしていいのやら分かりません。 >普通のダイレクトXのアプリの全画面は動く? はい、フリーゲームでも市販のゲームでも、 普通のDirectXのゲームはフルスクリーンでちゃんと動きます。 ※動かなかったのは、DXSDK\Samples\C++\Demos\Bin\Donuts4.exe です。 『あなたのグラフィックアクセラレータでは無理です。 それかあなたのグラフィックカードがデスクトップのカラーモードに対応していません。 16Bitで試せハゲ。』 と出て終了してしまいます。 しかし、このメッセージはフルスクリーンになってから出るので、 フルスクリーンにはなるみたいです。
- 667 名前:645 [04/09/01 15:28 ID:8UoVVY3m]
- >>664
こうなってます。 D3DPRESENT_PARAMETERS param; ZeroMemory(¶m,sizeof(param)); param.BackBufferWidth=640; param.BackBufferHeight=480; param.BackBufferFormat=D3DFMT_UNKNOWN; param.BackBufferCount=1; param.SwapEffect=D3DSWAPEFFECT_DISCARD; param.Windowed=TRUE;//ここをFALSEにすると起動した瞬間に終了してしまいます。
- 668 名前:名前は開発中のものです。 mailto:sage [04/09/01 15:45 ID:dJv1RoiI]
- やっぱそこか
フルスクリーンにしたいのにD3DFMT_UNKNOWN(フォーマット不明)はないんじゃないかと。
- 669 名前:名前は開発中のものです。 mailto:sage [04/09/01 15:45 ID:vT9g/rIC]
- >>667
今試したけど、フルスクリーンでD3DFMT_UNKNOWNにしたらデバイス作成失敗ぬるぽ。 GetAdapter〜とかできちんと取得したやつを使ったほうがよさげ。
- 670 名前:名前は開発中のものです。 mailto:sage [04/09/01 15:53 ID:dJv1RoiI]
- IDirect3D9::CreateDevice メソッド
・ウィンドウ モードのみについて、BackBufferFormat = D3DFMT_UNKNOWN。フルスクリーン モードの場合はフォーマットを指定する必要がある。 リファレンスより
- 671 名前:645 mailto:sage [04/09/01 15:58 ID:8UoVVY3m]
- >>668-670
ありがとうございます。 そこを変更してみます。
- 672 名前:名前は開発中のものです。 mailto:sage [04/09/01 16:26 ID:oBimBF/3]
- >>671 ヘルプぐらい読もうぜ
- 673 名前:645 mailto:sage [04/09/01 16:55 ID:8UoVVY3m]
- フルスクリーン化成功しました!
GetDisplayModeがよく分からなかったので、 色々調べてD3DFMT_R5G6B5にしたらできました。 R5G6B5は16ビットだということなのですが、 ということは256色しか表示できないということですよね? >>672 すいません、ヘルプも見たんですけど、 英語と専門用語ばかりでなかなか理解できなかったんです。 DirectXの入門用書籍でも購入したほうがいいでしょうか。
- 674 名前:名前は開発中のものです。 mailto:sage [04/09/01 16:58 ID:5CAaBj1y]
- はじめてDirectX触るんなら初心者向けの書籍を買っったほうがいいと思われ
とりあえず ・初期化まわり ・行列の基本的な使い方 ・ビュー、カメラの設定 ・ポリゴン表示 ・光源の設定 ・Xファイル表示 これくらいを網羅していれば簡単な3Dシューティングくらいなら作れるようになるべ あとはシェーダを理解すれば初心者卒業かなと思うけど、どうよ? 漏れも最初はヘルプのどこを見ればいいのかすらわからんかったし
- 675 名前:名前は開発中のものです。 mailto:sage [04/09/01 16:59 ID:5CAaBj1y]
- >673
…16bitだから65536色だと
- 676 名前:名前は開発中のものです。 mailto:sage [04/09/01 17:12 ID:vT9g/rIC]
- 2*2*・・・2(2^8)=256
2*2*・・・2(2^16)=65536
- 677 名前:名前は開発中のものです。 mailto:sage [04/09/01 17:16 ID:vT9g/rIC]
- >>673
日本語のヘルプも一応読んだほうがよさげ。 日本語訳はクソだが英語をあまり読めなさそうなので。
- 678 名前:名前は開発中のものです。 mailto:sage [04/09/01 17:22 ID:F+B8VPtk]
- >>673は日本語ヘルプの中の英語と専門用語が理解できないんだよ
- 679 名前:名前は開発中のものです。 mailto:sage [04/09/01 17:33 ID:BizjC3qm]
- プロファイリングの結果、>>673はガチ小学生。
彼はいずれお前らを凌駕するプログラマとして君臨することだろう。 「センパイそんなことも分からないんですか〜?」とか言ってな。
- 680 名前:645 mailto:sage [04/09/01 17:46 ID:8UoVVY3m]
- >>674
本屋に行って一回見てみます。 >>675,>>676 65536色でしたか。 >>677,>>678 日本語ヘルプはなかったような気がします。 >>679 お酒飲める年齢ですw
- 681 名前:名前は開発中のものです。 mailto:sage [04/09/01 17:48 ID:vT9g/rIC]
- SDKには付いてないけどExtraに付いてる
- 682 名前:645 mailto:sage [04/09/01 18:02 ID:8UoVVY3m]
- Extra・・・ですか。
調べてみます。 回答してくださった皆様、ありがとうございました。 フルスクリーン化できたので次は簡単なアニメーション表示でもやってみます。
- 683 名前:名前は開発中のものです。 mailto:sage [04/09/01 18:55 ID:somP4s0O]
- ブルースクリーン化なら思わぬ時に意図せず出来たりする。
- 684 名前:名前は開発中のものです。 [04/09/01 19:58 ID:W7LS8TrD]
- HLSL無しでお願いします。
面ごとに、ごくごく簡単な陰影を付けたいのですが、 法線無しでライティング計算をDirectXに任せる方法ってありますでしょうか? たぶん無いような気がするので、重ねてお尋ねしたいのですが、 自前でローカル座標から射影空間まで座標変換し、ライティングも計算して、TLVertex型で描画するのと、 固定パイプラインなどに任せるのでは、CPUなどにもよると思いますが、どちらが一般に早いのでしょうか? 自分でやってみた所、どう見ても後者の方が速かったのですが、 腕の良い人ならばどうなのかなと疑問に思いまして…。
- 685 名前:名前は開発中のものです。 mailto:sage [04/09/01 20:17 ID:ZFPpHuZW]
- ハードウェアT&Lが一般的な現状では、CPUが変換・ライティングを行うより、
GPUに任せた方が高速になるケースが多いです。 TLVERTEXを用いた描画では、CPUとGPUの速度差もさるこことながら、 VertexBufferを座標変換・光源計算の度に書き換える必要があるため、 VertexBufferの中身をCPUからアクセスできる空間(おそらくシステムメモリ)から、 GPUからアクセスできる空間(おそらくビデオメモリ)へ転送する時間の分、損になります。 法線無しでのライティングの計算ですが、HLSLなどを用いて書いたカスタムシェーダ 無しの場合、LVERTEX型+ライトマップを用いる方法がいいのではないでしょうか。 この場合、光源の向きや位置が動き回るケースでは使えませんが、 法線情報の無いLVERTEX型でも(前計算された)ライティングを行うことが出来ます。
- 686 名前:名前は開発中のものです。 mailto:sage [04/09/01 20:23 ID:ZFPpHuZW]
- あ、若干早とちりがありました。LVERTEXには元々色情報が含まれるので、
>面ごとに、ごくごく簡単な陰影を付けたいのですが、 というように、面単位で充分というのであれば、わざわざライトマップを 張らなくてもいいですね。
- 687 名前:684 mailto:sage [04/09/01 20:29 ID:W7LS8TrD]
- >>685-686
即レス、丁寧な説明な上、最適解まで頂いちゃってお礼の言葉もありません。 仰るとおり、まさに光源固定でいかに…みたいな所で悩んでいました。 ぼんやりとしていたハードウェアとの関係も、おかげで良く分かりました。 折角なのでライトマップも勉強してみます。ありがとうございました!
- 688 名前:名前は開発中のものです。 mailto:sage [04/09/01 21:08 ID:j8hhlc9/]
- >HLSL無しでお願いします。
>面ごとに、ごくごく簡単な陰影を付けたいのですが、 >法線無しでライティング計算をDirectXに任せる方法ってありますでしょうか? 頂点座標でデフューズキューブマッピング
- 689 名前:名前は開発中のものです。 mailto:sage [04/09/01 22:54 ID:5CAaBj1y]
- >678
そうだろね あのドキュメントオンリーではつらい初心者も多いだろうね ドキュメントの対象は開発者 入門書の対象は入門者(初心者) だから初心者は書籍買って読んで、ひととおりやってみた後でドキュメントを読み返すとわかるようになるんじゃないかな てゆうか漏れはそうだったけどね ドキュメントと付属のサンプルだけで勉強してる香具師は尊敬するよ 書籍じゃなくても思いつく限りの単語でググればソース公開してるところもあるし、それも参考になるよ(DirectX8以前のものも多いけど) あと初心者はいきなりゲームを作ろうとすると挫折率高いかも Xファイルのビューアとかパーティクルのデモみたいのをとりあえずの目標にしたほうがいいんじゃないかな 逆に言うとそれらが作れればちょっとしたゲームは作れるようになってるはずだからね
- 690 名前:名前は開発中のものです。 mailto:sage [04/09/02 00:25 ID:DFdFhu4y]
- ここに来てる人はどのくらいのものが作れるのだろう・・・。
プロもいるんだろうか。
- 691 名前:名前は開発中のものです。 mailto:sage [04/09/02 00:30 ID:lFLjvpBq]
- >>690
安心しろ、間違い無くいる。 つーか、プロの平均レベルが君が考えるほど高くないっていったほうが納得がいくだろうか? ネットで技術ページ立ち上げてる特異な人ばっかりに目がいくけど プロったって普通の人が大半だよ。
- 692 名前:名前は開発中のものです。 [04/09/02 10:02 ID:/RYufvp9]
- DirectGraphicsで透過色つき描画したいのですがどうしていいのか分かりません。
ググって調べたのですが、 DirectX Texture Tool でα値を持つddsファイルを作って、 それを読み込めばいいと出たのですが、 その通りにやってもできません。 DirectX Texture Tool の画面では透過した部分の色が水色になっているので、 αチャンネルを持つ画像自体はちゃんとできていると思います。 また、以下の記述を付け加える必要があると書いてあるサイトも見つけたので書いてみたのですが、 透過してくれませんでした。 lpD3DDevice->SetRenderState(D3DRS_ALPHAREF,(DWORD)0x00000066); lpD3DDevice->SetRenderState(D3DRS_ALPHATESTENABLE,TRUE); lpD3DDevice->SetRenderState(D3DRS_ALPHAFUNC,D3DCMP_GREATEREQUAL); この記述をする場所が悪いのかとも思い、 色々な場所で試してみたのですが、だめでした。 ■環境 BCC DirectX9.0b SDK ■参考にしたサイト ttp://www.plustarnet.com/aspil/Programming/2d10.htm ttp://www.c3.club.kyutech.ac.jp/~sukiyaki/dir/color.html どうすれば透過できるのでしょうか?
- 693 名前:名前は開発中のものです。 mailto:sage [04/09/02 12:18 ID:LRjExFEm]
- 見たところ、キミが有効にした機能はアルファテストであって、アルファブレンドではない。
- 694 名前:692 [04/09/02 14:22 ID:Oi5rE6iZ]
- >>693
ありがとうございます。 アルファブレンドの有効で調べてみたところ、 lpD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE); で有効にできるとのことなので、書いてみましたが透過されませんでした。 D3DXLoadSurfaceFromFile関数の第7引数でカラーキーを指定できるというのも見つかったのですが、 これを使うと、指定した色を透過することはできるのですが、 それで描画すると、その部分が最初に置いた画像まで透過されてしまい、 クリア時の色が見えて変な状態になります。
- 695 名前:名前は開発中のものです。 mailto:sage [04/09/02 15:27 ID:adWbTbum]
- アルファブレンドをどう演算するかの設定が入ってないし。
- 696 名前:名前は開発中のものです。 mailto:sage [04/09/02 16:03 ID:X1aaYsTe]
- >>694
DirectXサンプルに答えあるのになぜ見ない。
- 697 名前:名前は開発中のものです。 mailto:sage [04/09/02 16:41 ID:Htjhaa98]
- サンプルって分かりづらい。
- 698 名前:名前は開発中のものです。 mailto:sage [04/09/02 16:55 ID:klIDF0Ic]
- RenderState関係のALPHAとついていないものも含めて、色々いじってみながら動作確認していってはどうでしょうか
RenderState関係の値がどんな意味をもってるのか、どう変わるのかがわかるから
- 699 名前:名前は開発中のものです。 mailto:sage [04/09/02 16:58 ID:8nv1HKpX]
- サンプルがあればこのスレいらんね
削除依頼だしとけよ
- 700 名前:名前は開発中のものです。 mailto:sage [04/09/02 17:42 ID:+UoAnpem]
- 夏休みも終わったというのに可愛い逆ギレをするなあ。
- 701 名前:692 [04/09/02 17:51 ID:3tiwSpK0]
- ありがとうございます。
>>695 アルファブレンドの演算で探してみましたがなかなか出てきません。 これかなと思うものを見つけたのでこれを書いてみましたがちゃんと思い通りに表示してくれませんでした。 lpD3DDevice->SetRenderState(D3DRS_ALPHABLENDENABLE,TRUE); lpD3DDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA); lpD3DDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA); >>696 サンプルはどれを見ていいのか分からない上、 虱潰しに見てもインクルードとデファインの量が多くて混乱します。 読んでるとどれが自作関数なのかとかわけが分からなくなってきます。 >>698 なるほど。 やってみます。 αブレンドについて検索していると"テクスチャ"に関しての頁がよく引っかかるのですが、 "テクスチャ"が出てくるということは3Dですよね? 2Dオンリーでいきたい場合でも、スプライトを作成して3Dのように作っていくものなんでしょうか? 描画するときに、 lpD3DDevice->StretchRect 関数を使っているのですが、 これはあまり見ません。
- 702 名前:ゼロ [04/09/02 18:24 ID:aGa7pwv+]
- ?
- 703 名前:名前は開発中のものです。 mailto:sage [04/09/02 20:15 ID:RLMoPQta]
- 2Dのみでいく場合でもテクスチャを張ったポリゴンを描画するのが一般的です。
テクスチャ座標を持ったトランスフォーム済み・ライティング済み頂点(=2D+深度の頂点)を用意して、 DrawPrimitive(UP)などで描画します。
- 704 名前:名前は開発中のものです。 mailto:sage [04/09/02 20:20 ID:u7CBECU0]
- ひょっとして描画ってlpD3DDevice->StretchRectでやってんのか。
それじゃ抜けるわけねーだろ。
- 705 名前:692 mailto:sage [04/09/02 20:48 ID:Rip4iOsW]
- >>730,>>704
ありがとうございます。 根本的に間違ってたみたいですね。 3D表示のほうを勉強しなおしてきます。
- 706 名前:名前は開発中のものです。 [04/09/03 03:29 ID:mQdBoXPi]
- スプライトの表示ができません。
起動して一度はフルスクリーンになるのですが、すぐに終了してしまいます。 色々調べたところ、132行目・150行目(lpD3DXSprite->Begin();・lpD3DXSprite->End();)に問題があるようです。 この2行をコメントアウトした場合、画像こそ表示されないものの、 勝手に終了することはありません。 スプライトの作成に失敗したのかとも思い調べてみましたが、 スプライトの作成には成功しているみたいです。 検索してサンプルソースと見比べても、特におかしいところもないみたいなのですが・・・ その他、読み込む画像の形式を変えてみたり(BMP,DDS)もしましたが、 解決しません。 コンパイルは通ります。 ttp://shiva.dip.jp/up/box/up3042.zip どこが悪いのかわかりません。 分かる方よろしくお願いします。 環境は DirectX SDK 9.0b BCC5.5 です。
- 707 名前:名前は開発中のものです。 mailto:sage [04/09/03 03:37 ID:D9hj8w5h]
- >706
VCでコンパイルしてみたけど動いたよ 環境としてグラボも書いたほうがいいと思う あとVCでは以下をはずす必要があったけど #define sqrtf(float)sqrt #define atanf(float)atan #define asinf(float)asin #define acosf(float)acos #define tanf(float)tan #define sinf(float)sin #define cosf(float)cos
- 708 名前:名前は開発中のものです。 mailto:sage [04/09/03 04:19 ID:zHuFk72Z]
- DirectXサンプルを実行してみろよ
- 709 名前:名前は開発中のものです。 mailto:sage [04/09/03 04:22 ID:mKkDrrPi]
- >>706
うちもBCCでコンパイルしたら動いたから、グラボの詳細も書いたほうがいいかも。
- 710 名前:706 [04/09/03 12:57 ID:NP76qImc]
- >>707
それはBCCでコンパイルする際に書かなきゃいけないやつです。 >>708 ・・・DXSDK\Samples\C++\Demos\Donuts4.exeは動作しませんでした。 >>707,>>709 グラフックボードの詳細です。 DirectX診断ツールで調べました。 Card name: ATI RAGE MOBILITY AGP (Japanese) Manufacturer: ATI Chip type: ATI RAGE Mobility P/M AGP 2X (A21/2) DAC type: ATI Internal DAC Device Key: Enum\PCI\VEN_1002&DEV_4C4D&SUBSYS_112A10CF&REV_64 Display Memory: 4.0 MB Current Mode: 1024 x 768 (16 bit) (60Hz) Monitor: ( Monitor Max Res:
- 711 名前:名前は開発中のものです。 mailto:sage [04/09/03 16:02 ID:D9hj8w5h]
- >710
>Chip type: ATI RAGE Mobility P/M AGP 2X (A21/2) >Display Memory: 4.0 MB なんか非常に怪しいですね モバイル関係はよく知りませんがDirectX9未対応なのでは? DirectX8でも(特にシェーダとか)微妙なんじゃないでしょうか? ノートなんですかね ノートは基本的に3Dには向かないと思います
- 712 名前:名前は開発中のものです。 mailto:sage [04/09/03 16:42 ID:VHIOAUu5]
- ATI RAGE「D3D? ガーハッハ、無理言っちゃいけねえなボーズ」
- 713 名前:名前は開発中のものです。 mailto:sage [04/09/03 16:53 ID:m4KK640w]
- 最近DirectX勉強し始め、
ポリゴンの三角形を表示できるようにはなったのですが、 分からなかったことがあるので、質問させてください。 「表示した三角形の"頂点一つ"を(カーソル等で)動かす」のような処理は どうすれば出来るのでしょうか? ポリゴン自体を書き直すか、 VertexShaderを使うしかないのでしょうか・・・?
- 714 名前:名前は開発中のものです。 mailto:sage [04/09/03 16:54 ID:KBFEjnb4]
- VertexShader「表示した三角形の"頂点一つ"を(カーソル等で)動かす? ガーハッハ、無理言っちゃいけねえなボーズ」
- 715 名前:名前は開発中のものです。 mailto:sage [04/09/03 17:02 ID:+shE9lEk]
- >>713
ロックするかシェーダー使って動かすだけ。
- 716 名前:名前は開発中のものです。 mailto:sage [04/09/03 17:02 ID:hc6Qu0Tn]
- >713
VertexBufferいぢれ
- 717 名前:名前は開発中のものです。 mailto:sage [04/09/03 17:10 ID:m4KK640w]
- >>714,>>715,>>716
レスサンクスです。
- 718 名前:名前は開発中のものです。 mailto:sage [04/09/03 17:27 ID:UnJ5gJIj]
- シェーダーってなんですか?
- 719 名前:名前は開発中のものです。 mailto:sage [04/09/03 17:28 ID:nqcp3fv5]
- ∧⊂ヽ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(゚Д゚)ノ < シェーダ | ⊃| \__________ | | ⊂ノ〜 ∪
- 720 名前:名前は開発中のものです。 mailto:sage [04/09/03 17:34 ID:8jbSe5Fl]
- 影男
- 721 名前:706 [04/09/03 17:54 ID:Nns2Tjlt]
- >>711
はい、ノートです。 どこが怪しいのでしょうか? グラフィックカード自体分からないので、これが何なのかよく分かりません。 俺以外の人がコンパイルしてうまくいくということは、俺のグラフィックカードが問題なんでしょうか? DirectX診断ツールの、ディスプレイのところの、 「Direct3Dのテスト」というやつをやってみたのですが、 Direct3D7、Direct3D8、Direct3D9のテストは全て成功しました。 結局俺はどうすればいいのでしょうか?
- 722 名前:名前は開発中のものです。 mailto:sage [04/09/03 18:39 ID:D9hj8w5h]
- >721
DirectX UtilitiesのDirectX Caps ViewerでHALの機能をチェックすれば多分未対応の機能が特定できるはずなんだが よくわかってないと、何がなんだかわからないかも まずDirectX9の開発や学習を行うならDirectX9対応のグラボが必要 まずは対応グラボから調べてみましょう そして対応グラボを積んだマシンを組みましょう 今ならDirectX9対応PCでも5〜6万で組めるはず で、どうしてもお金がないというならLPD3DXSPRITEつかうのやめて自力でポリゴン使ってみてください
- 723 名前:名前は開発中のものです。 mailto:sage [04/09/03 22:45 ID:qaGI/40e]
- >>721
てか、そのグラボDirectX6までしか対応してないし。
|

|