diff --git a/CMakeLists.txt b/CMakeLists.txt index 538f7fd..66a87bd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -26,12 +26,13 @@ macro(create_executable files) target_include_directories(h24w_23 PRIVATE include) target_include_directories(h24w_23 PRIVATE ThirdParty/aqua-engine-0.1.1/include) target_include_directories(h24w_23 PRIVATE $ENV{FBXSDK_DIR}/include) - target_link_libraries(h24w_23 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/aqua-engine-0.1.1/lib/aqua-engine.lib) - target_link_libraries(h24w_23 PRIVATE d2d1.lib) - target_link_libraries(h24w_23 PRIVATE dwrite.lib) - target_link_libraries(h24w_23 PRIVATE d3d12.lib) - target_link_libraries(h24w_23 PRIVATE dxgi.lib) - target_link_libraries(h24w_23 PRIVATE d3dcompiler.lib) + target_link_libraries(h24w_23 PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/ThirdParty/aqua-engine-0.1.1/lib/aqua-engine.lib) + target_link_libraries(h24w_23 PUBLIC d2d1.lib) + target_link_libraries(h24w_23 PUBLIC dwrite.lib) + target_link_libraries(h24w_23 PUBLIC d3d12.lib) + target_link_libraries(h24w_23 PUBLIC dxgi.lib) + target_link_libraries(h24w_23 PUBLIC d3dcompiler.lib) + target_link_libraries(h24w_23 PUBLIC d3d11.lib) target_link_libraries(h24w_23 PUBLIC $ENV{FBXSDK_DIR}/lib/x64/debug/libfbxsdk-md.lib) target_link_libraries(h24w_23 PUBLIC $ENV{FBXSDK_DIR}/lib/x64/debug/libxml2-md.lib) target_link_libraries(h24w_23 PUBLIC $ENV{FBXSDK_DIR}/lib/x64/debug/zlib-md.lib) diff --git a/include/2d/D2DEngine.h b/include/2d/D2DEngine.h index 2161683..289018c 100644 --- a/include/2d/D2DEngine.h +++ b/include/2d/D2DEngine.h @@ -22,7 +22,7 @@ class D2DEngine UINT back_buffer_count, const std::vector& back_buffers ); - void RenderTItleText(UINT back_buffer_index); + void RenderTitleText(UINT back_buffer_index); private: void BeginRender(UINT back_buffer_index); diff --git a/include/2d/Title.h b/include/2d/Title.h index f52e313..7eb6e1d 100644 --- a/include/2d/Title.h +++ b/include/2d/Title.h @@ -1,9 +1,8 @@ #ifndef TITLE_H #define TITLE_H -#include -#include -#include "D2DEngine.h" +#include +#include class Title { diff --git a/include/3d/Engine.h b/include/3d/Engine.h index 8112510..b5169d0 100644 --- a/include/3d/Engine.h +++ b/include/3d/Engine.h @@ -6,6 +6,8 @@ #include +#include "2d/D2DEngine.h" + class Engine { public: @@ -19,6 +21,8 @@ class Engine std::unique_ptr m_command; std::unique_ptr m_display; + std::unique_ptr m_d2dEngine; + HWND m_hwnd; RECT m_wr; }; diff --git a/src/2d/D2DEngine.cpp b/src/2d/D2DEngine.cpp index 906d660..63241dc 100644 --- a/src/2d/D2DEngine.cpp +++ b/src/2d/D2DEngine.cpp @@ -166,9 +166,11 @@ void D2DEngine::EndRender(UINT back_buffer_index) m_d3d11DeviceContext->Flush(); } -void D2DEngine::RenderTItleText(UINT back_buffer_index) +// clear the back buffer and render the title text +void D2DEngine::RenderTitleText(UINT back_buffer_index) { BeginRender(back_buffer_index); + m_d2dDeviceContext->Clear(D2D1::ColorF(D2D1::ColorF::White)); m_title.Render(m_d2dDeviceContext, m_d2dBlackBrush); EndRender(back_buffer_index); } diff --git a/src/2d/Title.cpp b/src/2d/Title.cpp index 16600fe..e7a906c 100644 --- a/src/2d/Title.cpp +++ b/src/2d/Title.cpp @@ -1,5 +1,7 @@ #include "2d/Title.h" +#include + void Title::Init( const Microsoft::WRL::ComPtr& dwriteFactory, const D2D1_RECT_F& textRect diff --git a/src/3d/Engine.cpp b/src/3d/Engine.cpp index d55bb63..afbf2f5 100644 --- a/src/3d/Engine.cpp +++ b/src/3d/Engine.cpp @@ -29,12 +29,17 @@ void Engine::Init() m_command = std::make_unique(); m_display = std::make_unique(m_hwnd, m_wr, *m_command); m_display->SetBackgroundColor(1.0f, 1.0f, 0.0f, 1.0f); + + m_d2dEngine = std::make_unique(m_hwnd, m_wr, m_command.get()); + auto desc = m_display->GetSwapChainDesc(); + m_d2dEngine->Init(desc.BufferCount, m_display->GetBackBufferResouces()); } void Engine::Render() const { m_display->BeginRender(); m_display->SetViewports(); + m_display->EndRender(); HRESULT hr = m_command->Execute(); @@ -44,5 +49,7 @@ void Engine::Render() const return; } + m_d2dEngine->RenderTitleText(m_display->GetCurrentBackBufferIndex()); + m_display->Present(); } diff --git a/src/main.cpp b/src/main.cpp index a35b390..6f8f890 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -16,8 +16,6 @@ int WINAPI wWinMain( int nCmdShow ) { - MessageBox(nullptr, "Hello, Windows Desktop!", "Aqua Engine", MB_OK); - DialogBox( hInstance, MAKEINTRESOURCE(IDD_DIALOG1),