トップページgamedev
1001コメント355KB

DirectX総合スレ (Part2)

レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。04/09/22 23:30:32ID:anobjZYP
DirectXについては基本このスレで話していこうとものです。
基礎的な質問+高度な質問も簡潔かつ簡単に答えることをモットーにして頂き
このスレの回転を早めて常にアクティブなスレにしたいと思っております。
このスレに質問等を書かれる方はまず最初に自分でしっかりと調べたのちに聞かれることをお願いします。
質問に対する答えも簡潔に出来る限りわかりやすくお願い致します。

テンプレは >>2以降で
0970名前は開発中のものです。05/01/09 14:48:04ID:qVzWwg6n
>>969
なるわけないじゃんw
0971名前は開発中のものです。05/01/09 15:05:06ID:CtuYpCdZ
>>970
死ね
0972名前は開発中のものです。05/01/09 15:09:19ID:W7lwDpcc
>>969
ManagedDirectXでも解決はしないけど、最近のSDKについてくる
サンプルフレームワークを使うと、何も考えなくて対応できる

>Windowsモードでアプリケーション実行中にプロパティで色数変えられたりとかかなり泣ける。

これもOK
097396205/01/09 15:30:01ID:s946grx7
皆様方、ご指導ありがとうございます。
最初にResetのほうを試してみたのですが、どうもうまくいかず
最終的には、D3Dの再初期化という形で落ち着きました。
DX9SDKSampleより少しコピペして、以下のような形になりました。
サスペンド等でも問題ないようです。どうもありがとうございました。

// 画面フリップ
if ( FAILED(lpD3DDEV->Present(NULL,NULL,NULL,NULL)) )
 bDeviceLost = TRUE;

if( bDeviceLost )
{
 // Test the cooperative level to see if it's okay to render
 if( FAILED( hr = lpD3DDEV->TestCooperativeLevel() ) )
 {
  // Check if the device needs to be reset.
  if( D3DERR_DEVICENOTRESET == hr )
  {
   //デバイスの再作成を行います

   //Direct3D解放処理
   //Direct3D初期化処理  
   //VRAMへの再ロード処理
  }
 }else{
  bDeviceLost = FALSE;
 }
}
0974名前は開発中のものです。05/01/09 16:36:02ID:JbV6zqqN
市販ゲームの対応状況を見る限り、「サスペンドなんてさせるほうが悪い」って感じだけどな。
あと、フルスクリーン中のAlt+Tabは対応してくれたほうがありがたいけど
その前にウィンドウモード使わせて欲しいもんだ
0975名前は開発中のものです。05/01/09 16:39:03ID:aLY2NpdP
チート対策と称した手抜きだろ
0976名前は開発中のものです。05/01/09 16:50:16ID:qVzWwg6n
>>975
手抜きといいきれるほど楽な作業じゃない。
実際、Alt+Tabなんて一応はできるけど
「稀にハングアップしますよ?
まあ、特殊な状況においてで、かなり稀ですから勘弁しといてくださいよ。」
みたいなソフトは実はあると思うぞ。
一発ためしてみてできたからといって確実に成功しつづける
保障の無いソフトもあるのでセーブ前にやるのは危険だといっておこう。
ウィンドウモードならDirect3D使用のスクリーンセーバーはきっとけ。
多分保障はできないところのが多い。エロゲは別だけどねw
0977名前は開発中のものです。05/01/09 16:52:36ID:ssYrZbAJ
というかシステムのAlt+Tabを無効化して、
自前で切り替えルーチン書くのが普通だと思うけど
0978名前は開発中のものです。05/01/09 17:51:45ID:RFsYct+p
Direct3Dを使用したスクリーンセーバが、
わざわざ解像度の切り替えを行うようなものでなければ、
Direct3Dのデバイスを使うプロセスが起動したところで、
既存のデバイスはロストしないけど。
0979名前は開発中のものです。05/01/09 18:14:16ID:qVzWwg6n
>>978
解像度切り替えあるでしょ?普通。
俺の好きなデュープリズムスクリーンセーバーだとどうだ?
http://www.square-enix.co.jp/games/ps/dp/scr/
0980名前は開発中のものです。05/01/09 18:15:30ID:lxnxumar
>>979
デュープリ好き同志!(*´д`)
0981名前は開発中のものです。05/01/09 18:24:25ID:grwVmUvm
「普通」かどうかはしらんが、解像度を勝手に切り替えるスクリーンセーバーはみたことあるなあ。
0982名前は開発中のものです。05/01/09 18:28:51ID:RFsYct+p
3Dデバイスを使うとしてもカラーモードさえ適合していれば、
解像度切り替えは必要ないのに、切り替えを行っているものは結構あるみたいだけど、
何故いちいち切り替えるんだろう?
復帰するときにディスプレイが反応するまでのラグが気になってしょうがない。
0983名前は開発中のものです。05/01/09 19:24:00ID:06r4mXsd
起動時にどっちかでいいんでない
それより中身だ
0984名前は開発中のものです。05/01/09 19:33:35ID:0rD/bgDv
ゲームなら許せても漏れが作ってるビジネスアプリ(笑)では許されないかもしれんから
参考になった。板違いですまんがDirectXはゲーム専用ってわけじゃないってことで。
0985名前は開発中のものです。05/01/09 20:08:07ID:qVzWwg6n
>>984
ム板のDirectXスレに常駐してるような奴は
Alt+Tabの不具合なんて許さないだろうなw
ここじゃなくて向こういった方がいいよ。
0986名前は開発中のものです。05/01/09 20:20:57ID:Xm1HCRTl
>>977のソフトは何か危険な香りがする
昔、一瞬流行ってた気がする。ALT+TAB無効化。
0987名前は開発中のものです。05/01/09 20:30:12ID:qVzWwg6n
>>986
なんかOSによってできなかった予感。(予感だけ確証無し)
0988名前は開発中のものです。05/01/09 20:48:35ID:RFsYct+p
NT系の場合は、ローレベルなキーボードのフックが必用。
これをやられるぐらいなら、素直にデバイスが復帰しない方がマシ。
0989名前は開発中のものです。05/01/09 20:52:08ID:RFsYct+p
通常では塞げないCtrl+Alt+Delまで禁止する場合だけど。
0990名前は開発中のものです。05/01/10 02:10:33ID:KCMHEHQY
男らしく、フォーカスが無くなったら、PostQuitMessage()を投げる
ALT+TABした瞬間に終了する。
男らしい!
0991名前は開発中のものです。05/01/10 02:28:35ID:GSAaDrdl
>>990
わかってないなw
お前は真の男をみたことがないんだな。
真の男とはフルスクリーンモード+強制終了の禁止だ。
しかも、Alt+Tabでの復旧作業を行わないことだ。
Alt+Tabでゲームに戻っても画面は黒いまま、しかし、
ウィンドウモードに戻っても、Ctrl+Alt+Tabを禁止されているのでまったく終了できない。
これでWindowsを終了するまで絶対に終了できないゲームの完成だ。
Windowsより早く死んでなるものかという堅い決意が感じられる。正に男の中の男。
0992名前は開発中のものです。05/01/10 05:13:55ID:OHuqXPPk
普通に考えたらバグだな
0993名前は開発中のものです。05/01/10 05:21:59ID:vpNgF23Q
魔法の言葉

それは仕様
0994名前は開発中のものです。05/01/10 08:22:15ID:X0q+I75i
         ☆ チン     マチクタビレタ〜
                         マチクタビレタ〜
        ☆ チン  〃  Λ_Λ   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
          ヽ ___\(\・∀・) < 次スレまだ〜?
             \_/⊂ ⊂_ )   \_____________
           / ̄ ̄ ̄ ̄ ̄ ̄ /|
        | ̄ ̄ ̄ ̄ ̄ ̄ ̄|  |
        |  愛媛みかん  |/
0995名前は開発中のものです。05/01/10 10:49:46ID:33c+Nomu
サスペンドから復帰するとブルースクリーンに成るのだけは勘弁してくれ。
0996名前は開発中のものです。05/01/10 10:53:43ID:c4TToaCF
>>995
普通にDirect3Dを使ったスクリーンセーバーが途中で起動すると
ブルースクリーンになる俺のプログラムw
0997名前は開発中のものです。05/01/10 11:19:49ID:pYmoBL4v
いやん、ここの男の作ったソフトなんてぜったい使いたくないわん。
0998名前は開発中のものです。05/01/10 14:02:48ID:vMWs9F2Z
DirectX総合スレ (Part3)
http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/l50
0999名前は開発中のものです。05/01/10 14:24:35ID:iKCv2lH4
>>1000は俺の優しさで出来ている
1000名前は開発中のものです。05/01/10 14:27:07ID:ldVdDG/1
優しさゲット
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。