From 732c3156d7061bf73a3ae87ac5c7aa325a6b9758 Mon Sep 17 00:00:00 2001 From: hyzboy Date: Thu, 11 Apr 2019 02:43:29 +0800 Subject: [PATCH] Update WinWindow.cpp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新WinWindows.cpp以支持新结构 --- example/Vulkan/WinWindow.cpp | 44 ++++++++++++++++++++---------------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/example/Vulkan/WinWindow.cpp b/example/Vulkan/WinWindow.cpp index ce395ab8..3dd88e2f 100644 --- a/example/Vulkan/WinWindow.cpp +++ b/example/Vulkan/WinWindow.cpp @@ -1,7 +1,6 @@ #include"Window.h" +#include"VK.h" #include -#include -#include #include namespace hgl @@ -168,23 +167,8 @@ namespace hgl UpdateWindow(win_hwnd); } - VkSurfaceKHR CreateSurface(VkInstance vk_inst)const override - { - VkWin32SurfaceCreateInfoKHR createInfo = {}; - createInfo.sType = VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR; - createInfo.pNext = nullptr; - createInfo.hinstance = hInstance; - createInfo.hwnd = win_hwnd; - - VkSurfaceKHR surface; - - VkResult res = vkCreateWin32SurfaceKHR(vk_inst, &createInfo, nullptr, &surface); - - if (res != VK_SUCCESS) - return(nullptr); - - return(surface); - } + HINSTANCE GetHInstance(){return hInstance;} + HWND GetHWnd(){return win_hwnd;} };//class WinWindow :public Window Window* CreateRenderWindow(const WideString& win_name) @@ -193,3 +177,25 @@ namespace hgl } }//namespace graph }//namespace hgl + +VK_NAMESPACE_BEGIN +VkSurfaceKHR CreateSurface(VkInstance vk_inst,Window *win) +{ + WinWindow *ww=(WinWindow *)win; + + VkWin32SurfaceCreateInfoKHR createInfo={}; + createInfo.sType=VK_STRUCTURE_TYPE_WIN32_SURFACE_CREATE_INFO_KHR; + createInfo.pNext=nullptr; + createInfo.hinstance=ww->GetHInstance(); + createInfo.hwnd=ww->GetHWnd(); + + VkSurfaceKHR surface; + + VkResult res=vkCreateWin32SurfaceKHR(vk_inst,&createInfo,nullptr,&surface); + + if(res!=VK_SUCCESS) + return(nullptr); + + return(surface); +} +VK_NAMESPACE_END \ No newline at end of file