「1.1章 DXライブラリが使える環境を整えよう」について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ima

「1.1章 DXライブラリが使える環境を整えよう」について

#1

投稿記事 by ima » 10年前

こんばんは、imaと申します。

「新・ゲームプログラミングの館」さんを参考にDXライブラリを学ぼうと思い、「1.1章 DXライブラリが使える環境を整えよう」(http://dixq.net/g/01_01.html) を読みながらダウンロードしたプログラムを実行したのですが、説明通りに表示されません。

私のOSはWindows8.1(64bit)で、開発環境(?)は Visual Studio Express 2013 for Windows Desktop です。
ダウンロードした GameProg_2012.sln を開き、変換した後 Ctrl+F5 を使ってコンパイルしてみたところ、画面に何も表示されません。
VisualStudioの出力ウィンドウ内には何も表示されず、エラーウィンドウも何も表示されませんでした。
コンパイル後、タスクバーには一つアイコンが増えたので実行はされているようなのですが・・・。
また、コンパイル後、モニターの左上にマウスカーソルを持っていくとマウスカーソルが消えますが、右側にマウスを動かすと再び現れます。

説明通り、黒い画面を出すにはどうすればいいでしょうか?
原因や解決方法がわかりましたらご教授願います。
あまりこういう場で質問したことがなく書き方が不十分だと思います。他に必要項目があったらお願いします。



以下、詳しいPC環境です。(DxDiag)
Time of this report: 4/27/2014, 19:46:06
Machine name: IMA-PC
Operating System: Windows 8.1 64-bit (6.3, Build 9600) (9600.winblue_gdr.140221-1952)
Language: Japanese (Regional Setting: Japanese)
System Manufacturer: ASUSTeK COMPUTER INC.
System Model: X200CA
BIOS: X200CA.208
Processor: Intel(R) Celeron(R) CPU 1007U @ 1.50GHz (2 CPUs), ~1.5GHz
Memory: 2048MB RAM
Available OS Memory: 1934MB RAM
Page File: 2242MB used, 459MB available
Windows Dir: C:\WINDOWS
DirectX Version: DirectX 11
DX Setup Parameters: Not found
User DPI Setting: Using System DPI
System DPI Setting: 96 DPI (100 percent)
DWM DPI Scaling: Disabled
DxDiag Version: 6.03.9600.16384 64bit Unicode

ima

Re: 「1.1章 DXライブラリが使える環境を整えよう」について

#2

投稿記事 by ima » 10年前

imaです。

追記です。

問題になっている1.1章の次の、「1.2章 まずはウィンドウを表示してみよう」(http://dixq.net/g/01_02.html)を読んでいて、main関数内の最初に”ChangeWindowMode(TRUE);”を追加してCtrl+F5で実行したところ、黒いウィンドウが現れました。

全画面モードだと表示されないという感じでしょうか。

ima

Re: 「1.1章 DXライブラリが使える環境を整えよう」について

#3

投稿記事 by ima » 10年前

imaです。

ごめんなさい、また追記です。

出力ウィンドウに何も表示されないというのは間違っていました。
そうではなく出力ウィンドウが下にスクロールされていたために出力ログが見えていなかっただけみたいです。
もう一度試したところ、以下のような出力ログが出ました。

1>------ ビルド開始: プロジェクト:GameProg_2012, 構成:Debug Win32 ------
1> test.cpp
1> GameProg_2012.vcxproj -> C:\Users\ima\Downloads\GameProg_2012\GameProg_2012\Debug\GameProg_2012.exe
========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 13年前
住所: 大阪府
連絡を取る:

Re: 「1.1章 DXライブラリが使える環境を整えよう」について

#4

投稿記事 by Hiragi(GKUTH) » 10年前

仰るとおりフルスクリーンに切り替えられてないようです。
プロジェクトフォルダ下のLog.txtを貼っつけてもらうと原因がわかる「かも」しれません。

フルスクリーンに切り替えられない原因としてはディスプレイが640x480の解像度に対応してないとか、ディスプレイの設定が相応しくないであるとか、
デュアルディスプレイによる不具合もあるようです。

後はDXライブラリを最新版に更新するなど
だいがくせい!

ima

Re: 「1.1章 DXライブラリが使える環境を整えよう」について

#5

投稿記事 by ima » 10年前

imaです。

Hiragiさん返信ありがとうございます。

私のPCは最大解像度 1366x768 のモバイルPCなのですが、Windowsの設定で解像度を見てみたところ、最低解像度が 1024x768 でしたので、これが原因かもしれません。ちなみにデュアルスクリーンはしていません。
もし解像度が原因ならば、このPCの解像度に合わせた大きさの描画範囲を設定すればフルスクリーンでも表示できるようになるのでしょうか?(やり方がわからないので今度調べてみようと思います。)

また、併せて教えていただいたLogファイルを以下にコピペします。(長いですが;)
これで詳しい原因がわかりましたら引き続き回答よろしくお願いします。



0:システムの情報を出力します
0: DXライブラリ Ver3.05
0: 論理プロセッサの数 : 2
0: OS Windows ( Build 9200 )
106: CPU動作速度:大体1.48GHz
107: MMX命令を使用します
108: SSE命令が使用可能です
109: SSE2命令が使用可能です
110: CPUベンダ:GenuineIntel
115: CPU名: Intel(R) Celeron(R) CPU 1007U @ 1.50GHz
117:COMの初期化... 成功しました
123:メモリ総量:1933.86MB 空きメモリ領域:563.92MB
124:タイマーの精度を検査します
125:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60
126: パフォーマンスカウンターを使用します タイマー精度 : 1461.525000 KHz
127: ソフトの二重起動検査... 二重起動はされていませんでした
130:ウインドウクラスを登録します... 登録に成功しました
131:ウインドウモード起動用のウインドウを作成します
135:ウインドウの作成に成功しました
144:IMEを無効にしました
145:ウインドウスタイルをウインドウモード用に変更します... 完了
154:DirectInput関係初期化処理
155: DirectInput7 の取得中... 成功
185: 引き続き初期化処理... 初期化成功
187: ジョイパッドの初期化...
206: ジョイパッドの初期化は正常に終了しました
206: マウスデバイスの初期化... 初期化成功
208: キーボードデバイスの初期化... 初期化成功
210:DirectInput 関連の初期化は正常に終了しました
212:DirectSound の初期化を行います
213:DirectSound インターフェースの取得を行います.... 成功
218:引き続きインターフェースの初期化処理... 成功
403: DirectSound デバイスを列挙します
406: モジュール名: ドライバ記述:プライマリ サウンド ドライバー
407: モジュール名:{0.0.0.00000000}.{d4ed037b-9313-4b65-b74b-f83c91420f38} ドライバ記述:スピーカー (Conexant SmartAudio HD)
408: 最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz
409: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB

410: 利用可能サンプリング精度
412: プライマリ 16bit = OK 8bit = OK
413: セカンダリ 16bit = OK 8bit = OK

414: 利用可能チャンネル
415: プライマリ MONO = OK STEREO = OK
417: セカンダリ MONO = OK STEREO = OK

419:DirectSound の初期化は正常に終了しました
423:DirectDraw オブジェクトの取得を行います.... 成功
429:引き続き初期化処理... 初期化に成功しました
442:IDirect3D9Ex オブジェクトを取得します.... 成功
445:IDirect3DDevice9Ex オブジェクトを取得します.... ハードウエア頂点演算を使用します
733:成功
734:Driver:igdumdim32.dll Description:Intel(R) HD Graphics
735:画面のフォーマットは D3DFMT_X8R8G8B8 です
735:Zバッファのフォーマットは D3DFMT_D16 です
736:16bit カラーフォーマットは D_D3DFMT_R5G6B5 です
737:32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です
737:アルファ付き 16bit カラーフォーマットは D_D3DFMT_A4R4G4B4 です
738:アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
739:アルファテスト用 16bit カラーフォーマットは D_D3DFMT_A1R5G5B5 です
739:アルファテスト用 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
740:DXT1テクスチャフォーマットは D_D3DFMT_DXT1 です
741:DXT2テクスチャフォーマットは D_D3DFMT_DXT2 です
741:DXT3テクスチャフォーマットは D_D3DFMT_DXT3 です
742:DXT4テクスチャフォーマットは D_D3DFMT_DXT4 です
742:DXT5テクスチャフォーマットは D_D3DFMT_DXT5 です
743:描画用 16bit カラーフォーマットは D_D3DFMT_R5G6B5 です
744:描画用 32bit カラーフォーマットは D_D3DFMT_X8R8G8B8 です
744:描画用アルファ付き 32bit カラーフォーマットは D_D3DFMT_A8R8G8B8 です
745:最大テクスチャサイズ 幅:8192 高さ:8192
746:テクスチャステージテンポラリレジスタ:使用可
746:減算合成のハードウェア対応:ネイティブ
747:頂点シェーダーバージョンコード:300
747:ピクセルシェーダーバージョンコード:300
931:バックバッファロック転送の時間:3426nsec 一時的な描画可能バッファを使用した転送の時間:1800nsec
931:バックバッファロックを使用しません
932:Zバッファを作成します.... 成功
948:プログラマブルシェーダーを使用します

1042:フォントの初期化を行います
1044:フォントの初期化は正常に終了しました
1045:文字コードバッファの初期化を行います... 完了しました
4103:ウインドウを閉じようとしています
4109:ウインドウが破棄されようとしています
4109:ソフトを終了する準備が整いました
4138:フォントの初期化を行います
4141:フォントの初期化は正常に終了しました
4143:Direct3DDevice9 の解放 3
4153:Direct3D9 DLL の解放 4
4156:DirectInput 関連の終了処理... 完了
4227:DirectSound の終了処理は正常に終了しました
4229:
4231:Alloc memory dump
4232: Total size:0(0.000kb) Alloc num:0
4233:

ima

Re: 「1.1章 DXライブラリが使える環境を整えよう」について

#6

投稿記事 by ima » 10年前

imaです。

訂正です。

Logファイルがどういうものか理解していなかったので別の章をコンパイルした後のLogファイルを貼ってしまいました;
以下が1.1章のコンパイル直後のLogファイルです。


0:システムの情報を出力します
15: DXライブラリ Ver3.05
15: 論理プロセッサの数 : 2
15: OS Windows ( Build 9200 )
122: CPU動作速度:大体1.48GHz
125: MMX命令を使用します
128: SSE命令が使用可能です
129: SSE2命令が使用可能です
131: CPUベンダ:GenuineIntel
138: CPU名: Intel(R) Celeron(R) CPU 1007U @ 1.50GHz
141:COMの初期化... 成功しました
148:メモリ総量:1933.86MB 空きメモリ領域:504.41MB
149:タイマーの精度を検査します
150:精度結果 更新回数 マルチメディアタイマー:0 パフォーマンスカウンター:60
151: パフォーマンスカウンターを使用します タイマー精度 : 1461.525000 KHz
153: ソフトの二重起動検査... 二重起動はされていませんでした
156:ウインドウクラスを登録します... 登録に成功しました
158:フルスクリーンモード用のウインドウを作成します
160:ウインドウの作成に成功しました
175:カーソルを不可視にしました
176:IMEを無効にしました
177:DirectInput関係初期化処理
177: DirectInput7 の取得中... 成功
205: 引き続き初期化処理... 初期化成功
208: ジョイパッドの初期化...
226: ジョイパッドの初期化は正常に終了しました
227: マウスデバイスの初期化... 初期化成功
228: キーボードデバイスの初期化... 初期化成功
231:DirectInput 関連の初期化は正常に終了しました
233:DirectSound の初期化を行います
233:DirectSound インターフェースの取得を行います.... 成功
237:引き続きインターフェースの初期化処理... 成功
613: DirectSound デバイスを列挙します
617: モジュール名: ドライバ記述:プライマリ サウンド ドライバー
618: モジュール名:{0.0.0.00000000}.{d4ed037b-9313-4b65-b74b-f83c91420f38} ドライバ記述:スピーカー (Conexant SmartAudio HD)
620: 最大サンプリングレート:200.00KHz 最小サンプリングレート:0.10KHz
621: 総サウンドメモリ領域:0.00KB 空きサウンドメモリ領域:0.00KB

622: 利用可能サンプリング精度
624: プライマリ 16bit = OK 8bit = OK
625: セカンダリ 16bit = OK 8bit = OK

626: 利用可能チャンネル
626: プライマリ MONO = OK STEREO = OK
627: セカンダリ MONO = OK STEREO = OK

628:DirectSound の初期化は正常に終了しました
633:DirectDraw オブジェクトの取得を行います.... 成功
639:引き続き初期化処理... 初期化に成功しました
759:IDirect3D9Ex オブジェクトを取得します.... 成功
788:Desktop Window Manager を無効にしました
789:IDirect3DDevice9Ex オブジェクトを取得します.... Direct3DDevice9Ex の作成に失敗しました
792:画面モードの変更処理を開始します 640 x 480 16 bit
792: 画面解像度を変更します... 画面モードの変更に失敗しました
908:フォントの初期化を行います
909:フォントの初期化は正常に終了しました
3014:ウインドウを閉じようとしています
3022:ウインドウが破棄されようとしています
3022:ソフトを終了する準備が整いました

アバター
Hiragi(GKUTH)
記事: 167
登録日時: 13年前
住所: 大阪府
連絡を取る:

Re: 「1.1章 DXライブラリが使える環境を整えよう」について

#7

投稿記事 by Hiragi(GKUTH) » 10年前

DXライブラリのバージョンがとても古いので、フルスクリーン時のデフォルトの色深度が16bitになっています。
DXライブラリを最新版に入れ替えてください
だいがくせい!

ima

Re: 「1.1章 DXライブラリが使える環境を整えよう」について

#8

投稿記事 by ima » 10年前

imaです。

Hiragiさん返信ありがとうございます。

DXライブラリのVC++用Ver3.11fをダウンロード、解答して出てきたファイル中の”プロジェクトに追加すべきファイル_VC用”を”DxLib”に名前を変えてから、プロジェクトのフォルダの物と入れ替えて、再度コンパイル・実行してみたところ、無事に成功して画面が真っ暗になりました!
色深度が16bitだった?というのはよくわかりませんが、それが原因だったんでしょうか。

一応解決したので(なぜ直ったかはわかりませんが)、これで解決!にします。
ありがとうございました。

今後の参考になると思うので、細かい原因など説明できたらしていただけると助かります。

アバター
Dixq (管理人)
管理人
記事: 1661
登録日時: 13年前
住所: 北海道札幌市
連絡を取る:

Re: 「1.1章 DXライブラリが使える環境を整えよう」について

#9

投稿記事 by Dixq (管理人) » 10年前

DXライブラリを最新版にしただけで問題が解決したということですかね。
う~ん、定期的に館に同梱しているDXライブラリのバージョンをあげないとだめですね。

閉鎖

“C言語何でも質問掲示板” へ戻る