Re: DxLibMake3_22aに付いて ( No.1 ) |
- 名前:管理人 日時:2020/12/06 22:15
|
Re: DxLibMake3_22aに付いて ( No.2 ) |
- 名前:昭和ロートル(解決ずみ) 日時:2020/12/07 12:30
早速の回答有難うございます。
ダウンロードさせていただきました。
メイクした結果
DxLibSourceTest
の方は、何故かリンクエラーが出てうまくメイク出来ませんでした。
但し
DxLibSourceTest_WithUseCLib
の方は、何の問題もなくメイク出来、デバッグも問題なく出来ましたのでこれを使っていろいろ遊んでみます。
尚、エラーの内容は以下の通りです。参考に
1>DxLib_vs2015_x64_MT.lib(DxGraphics.obj) : error LNK2005: "struct DxLib::GRAPHICSSYSTEMDATA DxLib::GraphicsSysData" (?GraphicsSysData@DxLib@@3UGRAPHICSSYSTEMDATA@1@A) は既に DxGraphics.obj で定義されています。
1>DxLib_vs2015_x64_MT.lib(DxGraphicsWin.obj) : error LNK2005: "struct DxLib::GRAPHICSMANAGE_WIN DxLib::GraphicsManage_Win" (?GraphicsManage_Win@DxLib@@3UGRAPHICSMANAGE_WIN@1@A) は既に DxGraphicsWin.obj で定義されています。
1>DxLib_vs2015_x64_MT.lib(DxGraphicsD3D9.obj) : error LNK2005: "enum D_D3DFORMAT * DxLib::g_DXD3D9FMT_to_D3DFORMAT" (?g_DXD3D9FMT_to_D3DFORMAT@DxLib@@3PAW4D_D3DFORMAT@@A) は既に DxGraphicsD3D9.obj で定義されています。
1>DxLib_vs2015_x64_MT.lib(DxGraphicsD3D9.obj) : error LNK2005: "struct DxLib::GRAPHICS_HARDDATA_DIRECT3D9 DxLib::GraphicsHardDataDirect3D9" (?GraphicsHardDataDirect3D9@DxLib@@3UGRAPHICS_HARDDATA_DIRECT3D9@1@A) は既に DxGraphicsD3D9.obj で定義されています。
1>DxLib_vs2015_x64_MT.lib(DxGraphicsD3D11.obj) : error LNK2005: "struct DxLib::GRAPHICS_HARDDATA_DIRECT3D11 DxLib::GraphicsHardDataDirect3D11" (?GraphicsHardDataDirect3D11@DxLib@@3UGRAPHICS_HARDDATA_DIRECT3D11@1@A) は既に DxGraphicsD3D11.obj で定義されています。
将来のDirectX12対応は難しそうですか?
 |
Re: DxLibMake3_22aに付いて ( No.3 ) |
- 名前:管理人 日時:2020/12/08 00:04
DxLibSourceTest_WithUseCLib では正常にメイクできたようで何よりです
> DxLibSourceTest
> の方は、何故かリンクエラーが出てうまくメイク出来ませんでした。
ご指摘ありがとうございます、手元でエラーが発生するのを確認しました
以前は正常にビルド出来ていたのですが、ちょっと原因が不明です…
VisualStudio2019はマイナーバージョンアップでもコンパイラが更新されるので、
その関係で別バージョンで作成された libファイルとの併用ができなくなった、等の
変化があったのかもしれません
暫くは DxLibSourceTest で事足りる場合も DxLibSourceTest_WithUseCLib を
使用していただくようにしようと思います…
> 将来のDirectX12対応は難しそうですか?
何れ対応するかもしれませんが、今のところDirectX12への対応の予定はありません
DirectX12 の特徴はビデオカードへ送るコマンドをバッファに溜めて一気に送る
というところで、最大の利点はビデオカードへ送るコマンドを複数スレッドで
同時に複数構築して一気に送ることで、DirectX11以前よりCPU負荷を小さくして
高速に描画できるという点だと思うのですが、DXライブラリは基本的に
シングルスレッドで動作することを前提としていて、且つシングルスレッドの場合は
コマンドを一つしか溜めることができないので、コマンドを送るタイミングや
構築する量などをきちんと理解していないと逆にDirectX11より遅くなって
しまったりするなど、あまりDXライブラリがDirectX12を使用するメリットが
無い(寧ろ、DirectX12対応のコードの分だけ実行ファイルが大きくなるというデメリットが…)
為 DirectX11がかつてのDirectDrawのように『実行はできるけどDirectX12による
エミュレート動作で非常に低速』などの状況にならない限りは対応する
必要は無いかな、と思っています (- -;;
|
Re: DxLibMake3_22aに付いて ( No.4 ) |
- 名前:昭和ロートル (解決済み) 日時:2020/12/08 12:40
丁寧なコメントありがとうございます。
今年に入ってDirectX12を勉強し始めて四苦八苦していましたので、質問させていただきました。
今ちょっとした3Dベースのエンジンみたいなものを作りたいと思っています。
DxLibを見つけての第一印象は、特大の全品乗り丼といった感じでした。
ただ、私にはちょっと大きすぎて完食出来そうになかったので躊躇してました。
私のような年寄りはどちらかというと懐石料理のように少しずつ頂く方が好みです。
ただ、DxLibの実装は、非常に新しく興味を惹かれました。
少しづつ勉強しながら利用させていただきます。
|