[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 13:22 / Filesize : 268 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

DirectX総合スレ



1 名前:名前は開発中のものです。 [04/05/05 12:33 ID:dP7V/vQq]
DirectXについては基本このスレで話していこうとものです。
基礎的な質問+高度な質問も簡潔かつ簡単に答えることをモットーにして頂き
このスレの回転を早めて常にアクティブなスレにしたいと思っております。
このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。
質問に対する答えも簡潔に出来る限りわかりやすくお願い致します。


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までしか対応してないし。



724 名前:706 mailto:sage [04/09/04 00:06 ID:+XRuHJsS]
>>722,>>723
ありがとうございます。
グラフィックカードを調べてみます。

725 名前:名前は開発中のものです。 mailto:sage [04/09/04 18:41 ID:vHiVY+yT]
漏れのノートはIGP340Mだが、
ピクセルシェーダを使ったプログラムはまったく映らんな。
バーテックスシェーダの方は普通に映るが。
ピクセルシェーダはソフトウェアエミュレーションはまったくダメポ?
DirectX8 SDKベースだからかもしれないが。

726 名前:706 [04/09/04 20:17 ID:cci5DIFE]
あ、ちょっとまってください、重要なことに気づきました。
ソースを組んでみるあたって、配布されていたサンプルを参考にしたのですが、
そのサンプルに添付されていたサンプルの実行ファイルは正常に動作します。
どういうことなんでしょうか?
俺のグラフィックカードがDirectX9に対応してないことは分かったのですが、
動くものと動かないものがあるのはこれはどういうことでしょうか?
まだ練習段階なので、そのサンプルで使われていない関数とかは使ってないはずなんですが・・・

参考にしたのは、ここの「Direct3DXを使った2Dの描画」というサンプルです。
ttp://www.geocities.jp/toru_website/sample/index.html#dxg

727 名前:名前は開発中のものです。 mailto:sage [04/09/04 21:13 ID:OKPz2Xkg]
>>725
IGP340MはVS11のみ対応。
ノート用にしてはまずまずの性能だが、
固定パイプラインでテクスチャフェチ同時可能数3がキツイ。

>>706
つーか基本中の基本
デバックモードにして出力メッセージ確認はやったのか?
あとID3DXSpriteはDirectX9.0cで仕様が変わったから
そっちに変更してみたら?
まあどうせGPUの限界が原因だろうから意味は薄いだろうが。


728 名前:名前は開発中のものです。 [04/09/04 23:32 ID:YrqQlDJp]
SDK Update (Summer 2004)をインストールしたら
vs.netのDirectXウィザードで作られたアプリがビルドできなくなった。

名前空間がないとかどうたら言われて・・・


729 名前:名前は開発中のものです。 [04/09/04 23:51 ID:TzAUQGCx]
>>728
俺はできるからいいよw

730 名前:名前は開発中のものです。 mailto:sage [04/09/05 02:05 ID:hJdI6Df1]
タイトル画像を表示するために、
ポリゴンを640x480で作ってそれにテクスチャ(640x480)を貼って表示したんですが、
ただ一枚の画像を表示しただけなのに少し重くなりました。
directxを使った方法でこれより軽い方法ってあるのでしょうか?

731 名前:名前は開発中のものです。 mailto:sage [04/09/05 02:11 ID:8dhLI02S]
640x480は内部で1024x1024として作られるから小さいのを継ぎ接ぎにすると多少パフォーマンスがあがるかも。
ただの一枚でも64x64と512x512とでは全然違う。

732 名前:名前は開発中のものです。 mailto:sage [04/09/05 02:44 ID:3KHpp+4T]
>>730
フィルレート

733 名前:名前は開発中のものです。 mailto:sage [04/09/05 03:09 ID:tTlwq+YH]
単純なコピーができればいいだけなら、
2の累乗に縛られるテクスチャじゃなくて、単なるSurfaceで済ます事も出来無くないが。



734 名前:名前は開発中のものです。 mailto:sage [04/09/05 04:20 ID:pC/wep5Y]
>>732
>>733
どういうことなのでしょうか?詳しく教えてくだせえ。

やっぱりGDIでタイトルを描画するのはおかしいですか?
これだとGDI→DirectXの描画はできても、
DirectX→GDIはできないんですかね?
DirectXのClear()じゃ、指定した色で塗りつぶすだけだから、
DirectXの描画すべてをクリアすることはできないんですよね?

735 名前:名前は開発中のものです。 mailto:sage [04/09/05 05:23 ID:Fc3G1uKT]
タイトルバー付きの一般的なウィンドウでDirectGraphics使う時に
タイトルバーをドラッグしたり、右クリックしてコンテキストメニュー出したら
描画が止まっちゃうのって、どうやって回避すればいいんでしょうか?

最初ウィンドウのメッセージループで描画処理してたので
「そりゃ止まるだろ」と思って描画は別スレッドでするようにしたんですけど
やっぱりタイトルバーをドラッグすると描画が止まります






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<268KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef