DirectX総合スレ (Part2)
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
04/09/22 23:30:32ID:anobjZYP基礎的な質問+高度な質問も簡潔かつ簡単に答えることをモットーにして頂き
このスレの回転を早めて常にアクティブなスレにしたいと思っております。
このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。
質問に対する答えも簡潔に出来る限りわかりやすくお願い致します。
テンプレは >>2以降で
0420名前は開発中のものです。
04/11/15 00:25:27ID:tl/lMREx固定シェーダという物は無いよ
そこを「まぁ、通じればいいじゃね」って折角416が言ってくれてるのに(俺も同意)
またシェーダの原意に拘るのは愚か
0421名前は開発中のものです。
04/11/15 00:29:54ID:ay0ZJbdjシェーダーの意味が判ってれば、どっちでも通るって理解できるはずなんだが…
原意とか言っててなんでどっちでも通るか理解してから出直して下さい。
固定シェーダという単語にこだわってるのは>420
0422名前は開発中のものです。
04/11/15 00:56:42ID:5uc1ty6Yそういった話にならないか?
0423名前は開発中のものです。
04/11/15 01:07:52ID:C8q9fmz+0424名前は開発中のものです。
04/11/15 01:32:26ID:VWRch3OL0425名前は開発中のものです。
04/11/15 02:22:17ID:tl/lMRExいやテクニカルタームってそういうもんよ
0426名前は開発中のものです。
04/11/15 03:27:42ID:bbOAK3vh0427名前は開発中のものです。
04/11/15 03:53:28ID:wmdGIHyq相手に伝わらなければどれだけ熱弁してもNG
それだけの事じゃないの?
0428名前は開発中のものです。
04/11/15 05:10:57ID:QjRzgk4m0429名前は開発中のものです。
04/11/15 05:16:56ID:RCkApcN20430名前は開発中のものです。
04/11/15 05:47:19ID:oSqrLWaE固定機能パイプライン の検索結果のうち 日本語のページ 約 271 件中 1 - 41 件目 (0.65 秒)
0431名前は開発中のものです。
04/11/15 06:32:28ID:bpeXcaJkシェーダーと延ばしてる時点でシロウトなのは明白だろ。
0432名前は開発中のものです。
04/11/15 08:34:34ID:5uc1ty6Y"シェーダ" -"シェーダー" の検索結果 約 7,770 件中 1 - 10 件目 (0.16 秒)
0433名前は開発中のものです。
04/11/15 09:20:55ID:ukHzi1vZ0434名前は開発中のものです。
04/11/15 09:31:15ID:e4BEURlV0435名前は開発中のものです。
04/11/15 09:35:03ID:eB/P6OUL何を固定するシェーダーなんだ?
0436名前は開発中のものです。
04/11/15 12:44:08ID:j3+2qJVdちょっとどうかしてますよ。
ありがとうございました。
0437名前は開発中のものです。
04/11/15 13:13:47ID:IYH0QK760438名前は開発中のものです。
04/11/15 13:23:34ID:NLO0zp6Pもっとフレキシブルに対応しないと自分で自分の首しめるんじゃないのw
0439名前は開発中のものです。
04/11/15 14:41:51ID:bpeXcaJk0440名前は開発中のものです。
04/11/15 15:24:32ID:hXuSBCBQ0441名前は開発中のものです。
04/11/15 15:26:50ID:ovSB+ig+0442名前は開発中のものです。
04/11/15 16:04:53ID:9e/mmfO8エロい人にはそれが分からんのです。
0443名前は開発中のものです。
04/11/15 18:06:02ID:0joNhAgk(゚Д゚)ノ
| ⊃|
| |
⊂ノ〜
∪
0444名前は開発中のものです。
04/11/15 23:35:59ID:oSqrLWaE0445名前は開発中のものです。
04/11/16 10:55:13ID:mQtEJyx70446名前は開発中のものです。
04/11/16 15:50:00ID:s0SvFWiGこのスレのたしなみ
0447 ◆c.50Ky2eZQ
04/11/16 22:23:11ID:DXV97k4K私の環境では、下記の本や他のDirectXのサンプルで
フルスクリーン表示のサンプルを実行するとOSごと固まります(マウス、キーボードの入力を受け付けなくなる)
DirectXゲームグラフィックスプログラミング Ver. 2.0
ttp://www.amazon.co.jp/exec/obidos/ASIN/4797329807/1100610050/250-9497108-9869848
こちらの本のサンプルでは動作します。
DirectX 9実践プログラミングI/O別冊
ttp://www.amazon.co.jp/exec/obidos/ASIN/4875934610/250-9497108-9869848
この他、DirectX9の入門ページなどのサンプルでもフルスクリーンだと固まってしましいます。
上にあげた2つの本のサンプルを比べていろいろ修正して試したところ、
D3DPRESENT_PARAMETERSの設定が問題であることが分かりました。
↑根拠は、I/O別冊のほうのD3DPRESENT_PARAMETERSの設定部分をコピペして、
動かない本のサンプルや入門ページのサンプルに貼り付けて実行したらフルスクリーンでも動作したからです。
この構造体の設定は入門書などでは決めうちで書かれているのですが、
本当なら実行環境のグラフィックカードの状態をチェックして適切に設定しないと
ダメという認識でいいんでしょうか。
※ところで、有料のゲームでも私の環境ではフルスクリーンで固まってしまって遊べないものが
あったりします(PSO BBなど)。もちろん固まらないゲームもあります。
そうしたゲームで環境のチェックなどを行っていないわけはないと思いますが、
D3DPRESENT_PARAMETERSの設定を決めうちで書いている可能性ってあるんでしょうか。
[環境]
自作機
OS: Windows2000
CPU: Athlon 1.0GHz
メモリ: 512MB
HDD: 120GB
グラフィックカード: GeforceFX5700
0448名前は開発中のものです。
04/11/16 22:25:38ID:esebxn7x0449 ◆c.50Ky2eZQ
04/11/16 22:41:32ID:DXV97k4Kやっぱりそうですか。
とにかく問題の個所が分かったので、書籍のサンプルや自分で作成するプログラムは
フルスクリーンでも動かせるようになったわけですが、
さすがに市販されてるゲームはどうにもならず・・・
ちなみに友人数人の環境で試してみたのですが、
自分の持っている本のサンプルとか、入門ページのサンプルで
フルスクリーンで固まるという現象は再現しませんでしたorz
ネットで検索してもフルスクリーンで固まるというのは全然出てこないので
うちの環境が特殊なのかもしれません。
0450名前は開発中のものです。
04/11/16 22:57:02ID:fcqxyC5lちなみにどのパラメータが原因だったの?
0451オレー
04/11/16 23:21:34ID:KvJj/Phk俺もオマエと非常に似た構成のマシンで、同じようなことがおきたぞ。
俺の場合は、ウィンドウモードでも固まったがな!
BIOSでAGP×8をAGP×2まで落としたら直った。
0452 ◆c.50Ky2eZQ
04/11/16 23:25:07ID:DXV97k4Kどのパラメータが悪いのかというところは詳細に調べてないのですが、
とりあえず下記のような差がありました。
○:フルスクリーンで動作した
×:フルスクリーンで固まった
○[DirectX 9実践プログラミングI/O別冊]
BackBufferWidth = 1024;
BackBufferHeight = 768;
BackBufferFormat = D3DFMT_X8R8G8B8;
BackBufferCount = 1;
MultiSampleType = D3DMULTISAMPLE_NONE;
MultiSampleQuality = 0;
SwapEffect = D3DSWAPEFFECT_DISCARD;
hDeviceWindow = g_hWindow; // ウインドウハンドル
Windowed = FALSE;
EnableAutoDepthStencil = FALSE;
AutoDepthStencilFormat = D3DFMT_UNKNOWN;
Flags = 0;
FullScreen_RefreshRateInHz = 0;
PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
×[DirectXゲームグラフィックスプログラミング Ver. 2.0]
BackBufferCount = 1;
Windowed = FALSE; // フルスクリーン表示の指定
BackBufferWidth = clientWidth; // フルスクリーン時の横幅
BackBufferHeight = clientHeight; // フルスクリーン時の縦幅
BackBufferFormat = d3ddm.Format; // カラーモードの指定
SwapEffect = D3DSWAPEFFECT_DISCARD;//
EnableAutoDepthStencil = TRUE;// エラー対策
AutoDepthStencilFormat = D3DFMT_D16;// エラー対策
0453 ◆c.50Ky2eZQ
04/11/16 23:32:38ID:DXV97k4K動作したほうの設定をそのまま動作しないソースへ貼り付け。
動作しないほうの設定はコメントアウトでビルドして実行すると
フルスクリーンで動作しました。
パラメータの1つ1つをこれからチェックしたいと思います。
>>451
ウインドウモードでも固まることがあるんですね・・・
現在AGP×4なんですが、AGP×2に落として試してみます。
0454名前は開発中のものです。
04/11/16 23:37:08ID:fcqxyC5l違うのはAutoDepthStencilFormatくらいに見えるけど
0455名前は開発中のものです。
04/11/16 23:39:04ID:9Fl+6rlR下の方は FullScreen_RefreshRateInHz 書いてないけど
初期化されてなくて D3DPRESENT_RATE_DEFAULT D3DPRESENT_RATE_UNLIMITED
EnumAdapterModes のどれにも当てはまらない数字が入ってないかい?
0456名前は開発中のものです。
04/11/16 23:40:06ID:fcqxyC5l>BackBufferFormat = d3ddm.Format; // カラーモードの指定
d3ddmはGetAdapterDisplayModeで取得してると思うけど
フルスクリーンの場合はカラーモードはこちらか指定するから
>BackBufferFormat = D3DFMT_X8R8G8B8;
でとりあえずいいと思う
0457 ◆c.50Ky2eZQ
04/11/16 23:44:43ID:DXV97k4K2つとも値の設定の直前で下記を実行しています。
[DirectX 9実践プログラミングI/O別冊]
ZeroMemory(&g_D3DPP, sizeof(g_D3DPP));
[DirectXゲームグラフィックスプログラミング Ver. 2.0]
ZeroMemory(&m_D3DPP, sizeof(D3DPRESENT_PARAMETERS));
>>455
差分ではなく、すべて載せました。
I/O別冊のほうはいろいろ設定されているのですが、
もう1冊のほうは設定していないパラメータが多いですね。
FullScreen_RefreshRateInHzは指定されていないです。
0458名前は開発中のものです。
04/11/17 00:20:47ID:F/vQq9xHPresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
を加えてみ。それでSDKサンプルと同じ記述。
0459 ◆c.50Ky2eZQ
04/11/17 00:38:16ID:l0UutMMZその1行を追加して実行してみたら動きました。
下のほうでは、PresentationIntervalを明示的に指定していない(0クリアされている)ので、
D3DPRESENT_INTERVAL_DEFAULTとかになっているのでしょうか。
(0だからとりあえずデフォルト値になっているのかなと推測)
D3DPRESENT_INTERVAL_IMMEDIATE以外のD3DPRESENT_INTERVAL_*パラメータは
最大N回の垂直帰線間隔を待つという説明がI/O別冊に載っていますが、これが問題ということですね。
0460 ◆c.50Ky2eZQ
04/11/17 01:01:33ID:l0UutMMZみなさんありがとうございました。
うちの環境では、
PresentationInterval = D3DPRESENT_INTERVAL_DEFAULT
で動作しないのが原因ということですね。
0461名前は開発中のものです。
04/11/17 05:41:33ID:8ON8dMew0462 ◆c.50Ky2eZQ
04/11/18 00:08:55ID:/wUu2R3SDriverCleanerでドライバを削除してから入れなおしてみましたが、改善されませんでした。
0463名前は開発中のものです。
04/11/18 00:13:13ID:S89L9SLZあとシェーダを使ったプログラムが動かなかった
nvidia行って最新のドライバ入れたら直った
きっとドライバとDXの相性ってのがあるんだろうな
0464名前は開発中のものです。
04/11/18 01:41:35ID:mlVlbDopVsyncを待ってIDirect3DSwapChain9のPresentを呼ぶ
というのをちょうど作った所だったのですが
今上で話題になったになっていたので
D3DPRESENT_PARAMETERSのを細かく見ていたのですが
描画が終わった時点でPresentを読んだとしても
勝手に待ってくれるからそんなことしても全く意味ないのでしょうか?
初期化をもっとちゃんと勉強しとくべきやったorz
0465名前は開発中のものです。
04/11/18 02:14:27ID:AIRNiGcU0466名前は開発中のものです。
04/11/18 04:44:00ID:O/aA7zi9やれそうならクリーンインストールもやってみてくれ。
ハードの不具合だとあんま意味なさそうだが・・・。
0467名前は開発中のものです。
04/11/18 06:42:00ID:aqfHpxYbだれかレビューしてくれ。プリーズ。よかったら買う。
0468名前は開発中のものです。
04/11/18 09:10:58ID:S89L9SLZあんまり意味ないかもしれない
最新のSDKについてくるランタイムが少し怪しい
他のスレでも少し報告されてる
0469 ◆c.50Ky2eZQ
04/11/18 23:11:02ID:jT7gH3UE先週の土曜日にOSの再インストールをやったところです。
ハード的な不具合の可能性が高いと思います・・・
ちなみにSDKは9.0cです。
まだDirectXの勉強は始めたばかりなんですが、
持っている本のサンプルがそのまま動かないんですよね。
SDKが9.0aか9.0bのときに出た本なんですけど。
9.0cではメソッドの引数が違うみたいで、コンパイルエラーになるたびに
英語のヘルプを参照して修正していますが、みんなそういう感じで勉強してるんでしょうか。
0470名前は開発中のものです。
04/11/19 01:22:37ID:gKBbKo7f0471名前は開発中のものです。
04/11/19 01:31:51ID:9CkN78qB勉強という程でもないと思うけど
0472名前は開発中のものです。
04/11/19 01:39:40ID:CNUHrXoI0473名前は開発中のものです。
04/11/19 01:54:54ID:tyiU22IRちらつかないと思うのですが、どうなのですか?
0474名前は開発中のものです。
04/11/19 02:21:07ID:qqm541c3うん
0475名前は開発中のものです。
04/11/19 04:16:34ID:gX+SiDpTそんなわけない。
VBlank期間中に全ての描画を終えれば確かにチラつかないが、
それではGAのパワーを1割前後しか使えない。
走査線に抜かれないように上から順番に描画するのも非現実的だ。
ダブルバッファは必要。
0476名前は開発中のものです。
04/11/19 17:57:02ID:gKBbKo7f0477名前は開発中のものです。
04/11/19 19:47:55ID:EhM69nWl0478名前は開発中のものです。
04/11/19 20:00:03ID:LFJv0PKX出来ない。
劇重だがフロントバッファサーフェス上のデータを別のサーフェスにコピーすることならできる。
0479名前は開発中のものです。
04/11/19 20:24:52ID:qqm541c3メンドくさいことになるのでできないようにしてあるんだろう
同じDirectXでもXBOXならできそうな気もするが、どうなの?
0480名前は開発中のものです。
04/11/20 01:23:26ID:i/yr/AIc多分できると思う。じゃなきゃエミュつくれねーって話にはなってないだろうし。
0481名前は開発中のものです。
04/11/20 20:29:08ID:+aGF5l33アホとしか思えない。
0482名前は開発中のものです。
04/11/20 20:36:54ID:Yn0rRCMb0483名前は開発中のものです。
04/11/21 02:55:30ID:LAZDMw8k誰か一発叩いてやってくれよ。
0484名前は開発中のものです。
04/11/21 04:26:58ID:JbhcJRGa0485名前は開発中のものです。
04/11/21 04:52:16ID:i5CP+mUl0486名前は開発中のものです。
04/11/21 05:07:58ID:F620eMSC分かってないのにわざわざ何にでも回答したがる人は確かにいるね。
それをレスが付かないよりは有り難いと取るか、
不完全で見当違いな方向にて結論づけて欲しくないと感じるか。
まぁ、不十分と感じたら議論としてつっこみ返せば良いだけのこと。
俺としては2chのノリを持ち込んでる奴の方が嫌だな。今時どこ行ってもいるか…。
0487名前は開発中のものです。
04/11/21 14:27:57ID:Hp43v01nなんつーか質問の内容が俺の知りたいことと
全然かすらない為かもしれないが。
0488名前は開発中のものです。
04/11/21 14:30:27ID:6NU7RmL40489名前は開発中のものです。
04/11/21 17:40:59ID:JW/p1ihX0490名前は開発中のものです。
04/11/21 17:57:37ID:L/uDJx8Nほっといてやれよ。
0491名前は開発中のものです。
04/11/21 23:56:55ID:kZl3J+88DDで普通に直接描画できるけど?
0492名前は開発中のものです。
04/11/22 01:31:33ID:lcpBKsOJ技術に関する議論とか皆無だよな
0493名前は開発中のものです。
04/11/22 01:46:00ID:eniUnENE元からではなかったのね・・・
0494名前は開発中のものです。
04/11/22 03:56:13ID:tA6Om7KW一旦質問BBSになったらもう議論とか無理だね
0495名前は開発中のものです。
04/11/22 06:01:16ID:wMmOkbwp0496名前は開発中のものです。
04/11/22 16:50:36ID:181C7B+m0497名前は開発中のものです。
04/11/22 16:52:46ID:AsfHakLI0498名前は開発中のものです。
04/11/22 17:29:57ID:tA6Om7KW懐かしいなぁパイオツ100%
0499名前は開発中のものです。
04/11/22 18:27:10ID:MS3CH9Qqところでxファイルの仕様は一般には公開してないんですかね?
六角でxファイルに出力したらグジャグジャになっちゃうんですが。
0500名前は開発中のものです。
04/11/22 19:03:15ID:tA6Om7KWヘルプにのってるのはフォーマットじゃないの?
0501名前は開発中のものです。
04/11/22 19:34:48ID:OhMLeCIKxファイルについては500の言う通り。ヘルプ嫁。
それと六角についてだが
フリー版の六角には面の表裏の概念がなかった。
例えばrokファイルは面方向がバラバラなので
そのままカリングONで描画すれば(当然ながら)面が欠ける。
他ツールで面方向を統一するか、カリングOFFで描画しろ。
シェアウェア版以降の六角については知らない。
0502名前は開発中のものです。
04/11/23 23:51:38ID:IR6kcETYただしNは平面Pの内、境界コーンの円弧の範囲に含まれる部分のみから得るものとする。
境界コーンの要素は次の通り。
ベクトル 頂点A、単位ベクトル 方向D、 スカラ 範囲R、 スカラ 半角度T。
よろしくお願いします。
0503名前は開発中のものです。
04/11/24 00:10:45ID:bulSZkhe0504名前は開発中のものです。
04/11/24 00:35:07ID:h0g1saptここはダメ初心者の日記帳じゃないんだが。
0505名前は開発中のものです。
04/11/24 00:37:16ID:jNoD1b4x宿題はム板の宿題スレへ
0506名前は開発中のものです。
04/11/24 01:38:29ID:2X7DIx0W0507名前は開発中のものです。
04/11/24 13:55:15ID:q7BWye6q0508名前は開発中のものです。
04/11/24 20:58:06ID:0xpnHkr5回答またはアドバイスお願いします。
>>504
俺は初心者のつもりはないですよ、
中級ぐらいだと思ってます。
質問のレベルも低くないと思います。
>>505-506
たまにはいいんじゃないですか?
スプライトだのなんたらバッファだの
決まりきった題しか最近ないじゃないですか。
それにまったく関係がない訳がないでもないでしょう。
3Dのゲーム開発者なら、考える機会もあるでしょう。
0509名前は開発中のものです。
04/11/24 21:03:18ID:OfxX7Q6U(´,_ゝ`)プッ
0510502
04/11/24 21:04:00ID:0xpnHkr5すみませんでした。
最近距離Nは、頂点Aから平面までの距離からとります。
0511名前は開発中のものです。
04/11/24 21:12:56ID:sW7Y+LCJなんでわざわざコーンと平面なんて判定しなきゃいけないの?
俺、10年近くゲーム業界いるけどそんな場面に遭遇しねぇよ。
よしんばできたとしてもバグりそうだな。
俺だったらこんな問題とかないで、アプローチから替えちゃうな。
完
0512名前は開発中のものです。
04/11/24 21:17:05ID:7MXTSUzuプギャ―――――――m9(^Д^)―――――――!!!
0513名前は開発中のものです。
04/11/24 21:22:39ID:0xpnHkr5シャドウマップの為
スポットライトと視錘台の距離を知る必要があります。
確かにシャドウマップには視錘台を使うので
距離判定も視錘台で良いとは思います。
しかし境界コーンで求める方法があるなら
そっちの方がより正確で良いだろうと思い質問しました。
0514名前は開発中のものです。
04/11/24 21:27:02ID:a0LmYeg4純粋な質問だったら、中級者だったら自力でがんがってください
議論とか問題提起とかしたいんだったらそう書けばいい
正直あなたの真意がわからない
0515名前は開発中のものです。
04/11/24 21:30:49ID:sW7Y+LCJじゃあ、自分が納得がいく精度のコーンのモデル用意して
ポリゴン単位で当たり判定。
0516名前は開発中のものです。
04/11/24 23:37:06ID:qruBncC80517名前は開発中のものです。
04/11/25 00:18:37ID:BEB3ZH4G少なくとも、自分が試した方法くらい書けや
何にも考えてない質問厨なら出て行け
0518名前は開発中のものです。
04/11/25 01:06:10ID:E0Hr26DV自称中級は、世間的には初心者
中流意識を持つことで自分を誤魔化している
0519名前は開発中のものです。
04/11/25 07:11:43ID:wZh5lpcO■ このスレッドは過去ログ倉庫に格納されています