update UI for file open dialog (BROKEN!)
							parent
							
								
									88660a8f35
								
							
						
					
					
						commit
						e5d0cb92cf
					
				| 
						 | 
					@ -3,10 +3,15 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// win32 api IFileOpenDialog
 | 
					// win32 api IFileOpenDialog
 | 
				
			||||||
PWSTR GUIFunction::openFileFolderDialog(HINSTANCE hInstance, HINSTANCE, PWSTR pCmdLine, int nCmdShow)
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// TO DO: rewrite this function to bool and get file path through public value
 | 
				
			||||||
 | 
					bool  GUIFunction::openFileFolderDialog()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	//initialize COM lib
 | 
						//initialize COM lib
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
	HRESULT hResult = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
 | 
						HRESULT hResult = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED | COINIT_DISABLE_OLE1DDE);
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
    if (SUCCEEDED(hResult))
 | 
					    if (SUCCEEDED(hResult))
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        IFileOpenDialog* pFileOpen = nullptr;
 | 
					        IFileOpenDialog* pFileOpen = nullptr;
 | 
				
			||||||
| 
						 | 
					@ -27,21 +32,25 @@ PWSTR GUIFunction::openFileFolderDialog(HINSTANCE hInstance, HINSTANCE, PWSTR pC
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    PWSTR pszFilePath;
 | 
					                    PWSTR pszFilePath;
 | 
				
			||||||
                    hResult = pItem->GetDisplayName(SIGDN_FILESYSPATH, &pszFilePath);
 | 
					                    hResult = pItem->GetDisplayName(SIGDN_FILESYSPATH, &pszFilePath);
 | 
				
			||||||
                    
 | 
					                    filePath = pszFilePath;
 | 
				
			||||||
                    // Display the file name to the user.
 | 
					                    // Display the file name to the user.
 | 
				
			||||||
                    if (SUCCEEDED(hResult))
 | 
					                    if (SUCCEEDED(hResult))
 | 
				
			||||||
                    {
 | 
					                    {
 | 
				
			||||||
                        MessageBoxW(NULL, pszFilePath, L"File Path", MB_OK);
 | 
					                        MessageBoxW(NULL, pszFilePath, L"File Path", MB_OK);
 | 
				
			||||||
                        CoTaskMemFree(pszFilePath);
 | 
					                        CoTaskMemFree(pszFilePath);
 | 
				
			||||||
                        stringFilePath == pszFilePath;
 | 
					                        
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                    pItem->Release();
 | 
					                    pItem->Release();
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					                return true;
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            pFileOpen->Release();
 | 
					            pFileOpen->Release();
 | 
				
			||||||
 | 
					            return false;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					        
 | 
				
			||||||
        CoUninitialize();
 | 
					        CoUninitialize();
 | 
				
			||||||
 | 
					        return false;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return stringFilePath;
 | 
					    return false;
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -8,20 +8,16 @@
 | 
				
			||||||
class GUIFunction
 | 
					class GUIFunction
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
	GUIFunction();
 | 
					 | 
				
			||||||
	~GUIFunction();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	PWSTR openFileFolderDialog(HINSTANCE hInstance, HINSTANCE, PWSTR pCmdLine, int nCmdShow);
 | 
						PWSTR filePath;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						bool openFileFolderDialog();
 | 
				
			||||||
	private:
 | 
						private:
 | 
				
			||||||
		PWSTR stringFilePath;
 | 
							
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GUIFunction::GUIFunction()
 | 
					
 | 
				
			||||||
{
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
GUIFunction::~GUIFunction()
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,4 +1,3 @@
 | 
				
			||||||
#pragma once
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
* Vulkan Example - glTF scene loading and rendering
 | 
					* Vulkan Example - glTF scene loading and rendering
 | 
				
			||||||
| 
						 | 
					@ -31,6 +30,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "render.h"
 | 
					#include "render.h"
 | 
				
			||||||
 | 
					#include "GUIFunction.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1287,7 +1287,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	auto tEnd = std::chrono::high_resolution_clock::now();
 | 
						auto tEnd = std::chrono::high_resolution_clock::now();
 | 
				
			||||||
	auto tDiff = std::chrono::duration<double, std::milli>(tEnd - tStart).count();
 | 
						auto tDiff = std::chrono::duration<double, std::milli>(tEnd - tStart).count();
 | 
				
			||||||
	std::cout << "Generating pre-filtered enivornment cube with " << numMips << " mip levels took " << tDiff << " ms" << std::endl;
 | 
						std::cout << "Generating pre-filtered environment cube with " << numMips << " mip levels took " << tDiff << " ms" << std::endl;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	void VulkanExample::GenerateBRDFLUT()
 | 
						void VulkanExample::GenerateBRDFLUT()
 | 
				
			||||||
| 
						 | 
					@ -1382,7 +1382,7 @@
 | 
				
			||||||
		dependencies[1].dstAccessMask = VK_ACCESS_MEMORY_READ_BIT;
 | 
							dependencies[1].dstAccessMask = VK_ACCESS_MEMORY_READ_BIT;
 | 
				
			||||||
		dependencies[1].dependencyFlags = VK_DEPENDENCY_BY_REGION_BIT;
 | 
							dependencies[1].dependencyFlags = VK_DEPENDENCY_BY_REGION_BIT;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		// Create the actual renderpass
 | 
							// Create the actual render pass
 | 
				
			||||||
		VkRenderPassCreateInfo renderPassCI = vks::initializers::renderPassCreateInfo();
 | 
							VkRenderPassCreateInfo renderPassCI = vks::initializers::renderPassCreateInfo();
 | 
				
			||||||
		renderPassCI.attachmentCount = 1;
 | 
							renderPassCI.attachmentCount = 1;
 | 
				
			||||||
		renderPassCI.pAttachments = &attDesc;
 | 
							renderPassCI.pAttachments = &attDesc;
 | 
				
			||||||
| 
						 | 
					@ -1650,6 +1650,22 @@
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			overlay->checkBox("Pause", &paused);
 | 
								overlay->checkBox("Pause", &paused);
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 | 
							if (overlay->header("file"))
 | 
				
			||||||
 | 
							{
 | 
				
			||||||
 | 
								if (overlay->button("select model")) 
 | 
				
			||||||
 | 
								{
 | 
				
			||||||
 | 
									GUIFunction guiFunc{};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									if (guiFunc.openFileFolderDialog())
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										std::cout << guiFunc.filePath << std::endl;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
									else
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										std::cerr << "file select error" << std::endl;
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,6 +27,7 @@
 | 
				
			||||||
#include "vulkanexamplebase.h"
 | 
					#include "vulkanexamplebase.h"
 | 
				
			||||||
#include "glTFModel.h"
 | 
					#include "glTFModel.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define ENABLE_VALIDATION false
 | 
					#define ENABLE_VALIDATION false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue