掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DirectX8でフルスクリーンモードになる時の黒味を無くすには? (ID:92105)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
始めまして。 DirectX Graphicsについて質問させてください。 今、Pictureboxで画像を表示させ、ネットワークでコマンドが来ると、 DirectX Graphicsを使ってフルスクリーンモードで画面を色変わりさせ、 またコマンドで元のPictureboxを表示させるプログラムを作っています。 チラつきを無くしたいが為にDirectXを使ったのですが、Direct3Dデバイスを生成した所で画面がほんの一瞬ですが黒味になってしまいます。 途中、待ち時間を入れてみた所、 '==================================================================== 'Direct3D初期化処理 '==================================================================== Private Sub InitD3D() On Error Resume Next 'エラーの場合次の行から再開 '変数の宣言 Dim D3DDM As D3DDISPLAYMODE 'ディスプレイ・モード格納構造体 Dim D3DPP As D3DPRESENT_PARAMETERS'ディスプレイ・パラメータ格納構造体 'オブジェクトの生成 Set D3D = DX.Direct3DCreate() 'Direct3Dシステム生成 'プレゼンテーション・パラメータの設定 D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, D3DDM 'ディスプレイ・モードを取得 With D3DPP 'プレゼンテーション・パラメータに関する設定 .Windowed = False 'ウインドウ・モード .SwapEffect = D3DSWAPEFFECT_COPY_VSYNC '画面の更新方法 .BackBufferFormat = D3DDM.Format 'ディスプレイのフォーマット .BackBufferHeight = D3DDM.height .BackBufferWidth = D3DDM.width End With wait 3000 −−−−ここでは黒味になってない 'Direct3Dデバイスの生成 Set D3DDevice = D3D.CreateDevice(D3DADAPTER_DEFAULT, _ D3DDEVTYPE_HAL, Me.hwnd, _ D3DCREATE_SOFTWARE_VERTEXPROCESSING, D3DPP) wait 3000 −−−−ここで黒味になっている! If D3DDevice Is Nothing Then 'Direct3Dデバイスが生成されない場合 Set D3DDevice = D3D.CreateDevice(D3DADAPTER_DEFAULT, _ D3DDEVTYPE_REF, Me.hwnd, _ D3DCREATE_SOFTWARE_VERTEXPROCESSING, D3DPP) If D3DDevice Is Nothing Then 'Direct3Dデバイスが生成されない場合は処理を終了 Call ReleaseObject '解放処理 End 'プログラムの終了 End If End If End Sub というところまでは判ったのですが、これをどうすれば回避できるのかが解りません。 回避方法、ヒントがあれば宜しく御教授ください。 宜しくお願いします。 開発環境:WinXP VB6(SP6) DirectX8.0SDK ちなみにProg使用環境 Win2000 SDK無 です。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.