lukedan / ReSTIR-Vulkan

Vulkan implementation of ReSTIR
145 stars 15 forks source link

Need to explain more on project configuration #1

Closed yhyu13 closed 2 years ago

yhyu13 commented 3 years ago

I was having trouble building your project even when all external packages are installed by vckpg.

After some serarching, [here](vckpg installed cmake can't find) I found a solution

You would need to have your user to modify include(path to vcpkg/scripts/buildsystems/vcpkg.cmake) before find_package() in order for vckpkg installed libararies to be found.

Would you confirm this issue or explicitly mention it in your README file? Such that other people come after would have less confusion!

yhyu13 commented 3 years ago

Vckpg's imgui does not contain any backend though, did you build imgui from vckpkg or from source?

yhyu13 commented 3 years ago

My Vulkan SDK is the latest version 1.2.176.1 in May 2021. It seems to missing a bunch of ray traced functions in your projects such as AccelerationStructureCreateGeometryTypeInfoKHR and so on. Which version of Vulkan SDK were you working on?

lukedan commented 3 years ago
  1. In vcpkg's readme:

    In order to use vcpkg with CMake outside of an IDE, you can use the toolchain file:

    cmake -B [build directory] -S . -DCMAKE_TOOLCHAIN_FILE=[path to vcpkg]/scripts/buildsystems/vcpkg.cmake
    cmake --build [build directory]
  2. Output of vcpkg search imgui:

    imgui                1.82             Bloat-free Immediate Mode Graphical User interface for C++ with minimal depend...
    imgui[allegro5-binding]               Make available Allegro5 binding
    imgui[docking-experimental]           Build with docking support
    imgui[dx10-binding]                   Make available DirectX10 binding
    imgui[dx11-binding]                   Make available DirectX11 binding
    imgui[dx12-binding]                   Make available DirectX12 binding
    imgui[dx9-binding]                    Make available DirectX9 binding
    imgui[freetype]                       Build font atlases using FreeType instead of stb_truetype
    imgui[glfw-binding]                   Make available GLFW binding
    imgui[glut-binding]                   Make available Glut binding
    imgui[libigl-imgui]                   Install the libigl-imgui headers
    imgui[marmalade-binding]              Make available Marmalade binding
    imgui[metal-binding]                  Make available Metal binding
    imgui[opengl2-binding]                Make available OpenGL (legacy) binding
    imgui[opengl3-gl3w-binding]           Make available OpenGL3/ES/ES2 (modern) binding with gl3w
    imgui[opengl3-glad-binding]           Make available OpenGL3/ES/ES2 (modern) binding with glad
    imgui[opengl3-glbinding-binding]      Make available OpenGL3/ES/ES2 (modern) binding glbinding
    imgui[opengl3-glew-binding]           Make available OpenGL3/ES/ES2 (modern) binding with GLEW
    imgui[osx-binding]                    Make available OSX binding
    imgui[sdl2-binding]                   Make available SDL2 binding
    imgui[vulkan-binding]                 Make available Vulkan binding
    imgui[wchar32]                        Use WCHAR32 instead of WCHAR16
    imgui[win32-binding]                  Make available Win32 binding
    imgui-sfml           2.1-2            ImGui binding for use with SFML
    implot               0.9              Advanced 2D Plotting for Dear ImGui
    libigl[imgui]                         Build with imgui
    magnum-integration[imgui]             ImGuiIntegration library
    milerius-sfml-imgui  1.1-2            imgui dll for sfml usage
    
    If your library is not listed, please open an issue at and/or consider making a pull request:
      https://github.com/Microsoft/vcpkg/issues

    For this project you'll at least need imgui[vulkan-binding,glfw-binding].

  3. What exactly is the error message? Is the function simply missing or is it an undefined symbol? If nothing works you can try uncommenting this line to disable all usages of the raytracing extension.

yhyu13 commented 3 years ago

@lukedan I am able to install all vcpkg dependencies now. What is the exact version of your Vulkan API? I am using version 1.2.176.1. These ray tracing APIs do not seems to exists in the vulkan.hpp header.

lukedan commented 3 years ago

@yhyu13 The Vulkan SDK I have installed is version 1.2.154.1. It was still an experimental version of the API so it may have been changed.

lukedan commented 2 years ago

Latest commit updates to stable raytracing API.