├── .gitignore ├── INSTALL-LINUX.txt ├── INSTALL-WIN.txt ├── README.md ├── bedroom.png ├── coffee_pot.png ├── dining.png ├── dragon.png ├── hyperion.png ├── scripts ├── optixGlass.gold.ppm ├── optixOcean.gold.ppm ├── optixParticleVolumes.gold.ppm ├── optixProgressivePhotonMap.gold.ppm ├── optixVox.gold.ppm └── test.py ├── spaceship.png ├── src ├── CMake │ ├── CompilerInfo.cmake │ ├── ConfigCompilerFlags.cmake │ ├── CopyDLL.cmake │ ├── FindCUDA.cmake │ ├── FindCUDA │ │ ├── make2cmake.cmake │ │ ├── parse_cubin.cmake │ │ └── run_nvcc.cmake │ ├── FindDX.cmake │ ├── FindOptiX.cmake │ ├── LinuxCPUInfo.cmake │ ├── Macros.cmake │ ├── ptx2cpp.cmake │ ├── sse_support.h.in │ └── testmain.c ├── CMakeLists.txt ├── data │ ├── CedarCity.hdr │ ├── README.txt │ ├── bedroom.scene │ ├── coffee.scene │ ├── cornell.scene │ ├── cornell_box │ │ ├── ball.obj │ │ ├── cbox_back.obj │ │ ├── cbox_ceiling.obj │ │ ├── cbox_floor.obj │ │ ├── cbox_greenwall.obj │ │ ├── cbox_largebox.obj │ │ ├── cbox_luminaire.obj │ │ ├── cbox_redwall.obj │ │ └── cbox_smallbox.obj │ ├── data.rar │ ├── diningroom.scene │ ├── hyperion.scene │ ├── luggage.scene │ ├── spaceship.scene │ ├── stormtrooper.scene │ └── tunnel.scene ├── device_include │ ├── README.txt │ ├── commonStructs.h │ ├── helpers.h │ ├── intersection_refinement.h │ └── random.h ├── optixPathTracer │ ├── CMakeLists.txt │ ├── MyAssert.h │ ├── Picture.cpp │ ├── Picture.h │ ├── Texture.cpp │ ├── Texture.h │ ├── background.cu │ ├── disney.cu │ ├── glass.cu │ ├── hit_program.cu │ ├── lambert.cu │ ├── light_hit_program.cu │ ├── light_parameters.h │ ├── light_sample.cu │ ├── material_parameters.h │ ├── old │ │ ├── Disney1.cu │ │ ├── Org_diffuse.cu │ │ ├── diffuse.cu │ │ ├── disneyMaterial.h │ │ ├── glass.cu │ │ ├── optixGlass-dragon.png │ │ ├── optixGlass.png │ │ ├── phong.cu │ │ └── thumb.png │ ├── optixPathTracer.cpp │ ├── path_trace_camera.cu │ ├── prd.h │ ├── properties.h │ ├── quad_intersect.cu │ ├── rt_function.h │ ├── sceneLoader.cpp │ ├── sceneLoader.h │ ├── sphere_intersect.cu │ ├── state.h │ └── triangle_mesh.cu ├── sampleConfig.h.in ├── support │ ├── DevIL │ │ ├── include │ │ │ └── IL │ │ │ │ ├── DevIL.i │ │ │ │ ├── build-lua │ │ │ │ ├── build-python │ │ │ │ ├── config.h.win │ │ │ │ ├── devil_cpp_wrapper.hpp │ │ │ │ ├── devil_internal_exports.h │ │ │ │ ├── il.h │ │ │ │ ├── il_wrap.h │ │ │ │ ├── ilu.h │ │ │ │ ├── ilu_region.h │ │ │ │ ├── ilut.h │ │ │ │ ├── ilut_config.h │ │ │ │ ├── luadevil.c │ │ │ │ └── stamp-h.in │ │ └── lib │ │ │ ├── x64 │ │ │ ├── Release │ │ │ │ ├── DevIL.dll │ │ │ │ ├── DevIL.lib │ │ │ │ ├── ILU.dll │ │ │ │ ├── ILU.lib │ │ │ │ ├── ILUT.dll │ │ │ │ └── ILUT.lib │ │ │ └── unicode │ │ │ │ └── Release │ │ │ │ ├── DevIL.dll │ │ │ │ ├── DevIL.lib │ │ │ │ ├── ILU.dll │ │ │ │ ├── ILU.lib │ │ │ │ ├── ILUT.dll │ │ │ │ └── ILUT.lib │ │ │ └── x86 │ │ │ ├── Release │ │ │ ├── DevIL.dll │ │ │ ├── DevIL.lib │ │ │ ├── ILU.dll │ │ │ ├── ILU.lib │ │ │ ├── ILUT.dll │ │ │ └── ILUT.lib │ │ │ └── unicode │ │ │ └── Release │ │ │ ├── DevIL.dll │ │ │ ├── DevIL.lib │ │ │ ├── ILU.dll │ │ │ ├── ILU.lib │ │ │ ├── ILUT.dll │ │ │ └── ILUT.lib │ ├── glfw │ │ ├── .appveyor.yml │ │ ├── .github │ │ │ └── CONTRIBUTING.md │ │ ├── .travis.yml │ │ ├── CMake │ │ │ ├── MacOSXBundleInfo.plist.in │ │ │ ├── amd64-mingw32msvc.cmake │ │ │ ├── i586-mingw32msvc.cmake │ │ │ ├── i686-pc-mingw32.cmake │ │ │ ├── i686-w64-mingw32.cmake │ │ │ ├── modules │ │ │ │ ├── FindMir.cmake │ │ │ │ ├── FindVulkan.cmake │ │ │ │ ├── FindWaylandProtocols.cmake │ │ │ │ └── FindXKBCommon.cmake │ │ │ └── x86_64-w64-mingw32.cmake │ │ ├── CMakeLists.txt │ │ ├── COPYING.txt │ │ ├── README.md │ │ ├── cmake_uninstall.cmake.in │ │ ├── deps │ │ │ ├── KHR │ │ │ │ └── khrplatform.h │ │ │ ├── getopt.c │ │ │ ├── getopt.h │ │ │ ├── glad.c │ │ │ ├── glad │ │ │ │ └── glad.h │ │ │ ├── linmath.h │ │ │ ├── mingw │ │ │ │ ├── _mingw_dxhelper.h │ │ │ │ ├── dinput.h │ │ │ │ └── xinput.h │ │ │ ├── tinycthread.c │ │ │ ├── tinycthread.h │ │ │ └── vulkan │ │ │ │ ├── vk_platform.h │ │ │ │ └── vulkan.h │ │ ├── docs │ │ │ ├── CMakeLists.txt │ │ │ ├── Doxyfile.in │ │ │ ├── DoxygenLayout.xml │ │ │ ├── build.dox │ │ │ ├── compat.dox │ │ │ ├── compile.dox │ │ │ ├── context.dox │ │ │ ├── extra.css │ │ │ ├── extra.less │ │ │ ├── footer.html │ │ │ ├── header.html │ │ │ ├── html │ │ │ │ ├── annotated.html │ │ │ │ ├── arrowdown.png │ │ │ │ ├── arrowright.png │ │ │ │ ├── bc_s.png │ │ │ │ ├── bdwn.png │ │ │ │ ├── bug.html │ │ │ │ ├── build_8dox.html │ │ │ │ ├── build_guide.html │ │ │ │ ├── classes.html │ │ │ │ ├── closed.png │ │ │ │ ├── compat_8dox.html │ │ │ │ ├── compat_guide.html │ │ │ │ ├── compile_8dox.html │ │ │ │ ├── compile_guide.html │ │ │ │ ├── context_8dox.html │ │ │ │ ├── context_guide.html │ │ │ │ ├── dir_1f12d41534b9d9c99a183e145b58d6f3.html │ │ │ │ ├── dir_351f617146de9499414a6c099ebbe0ca.html │ │ │ │ ├── dir_4bcf8e981abe5adb811ce4f57d70c9af.html │ │ │ │ ├── doc.png │ │ │ │ ├── doxygen.css │ │ │ │ ├── doxygen.png │ │ │ │ ├── dynsections.js │ │ │ │ ├── extra.css │ │ │ │ ├── files.html │ │ │ │ ├── folderclosed.png │ │ │ │ ├── folderopen.png │ │ │ │ ├── functions.html │ │ │ │ ├── functions_vars.html │ │ │ │ ├── glfw3_8h.html │ │ │ │ ├── glfw3_8h_source.html │ │ │ │ ├── glfw3native_8h.html │ │ │ │ ├── glfw3native_8h_source.html │ │ │ │ ├── globals.html │ │ │ │ ├── globals_b.html │ │ │ │ ├── globals_c.html │ │ │ │ ├── globals_d.html │ │ │ │ ├── globals_defs.html │ │ │ │ ├── globals_defs_b.html │ │ │ │ ├── globals_defs_c.html │ │ │ │ ├── globals_defs_d.html │ │ │ │ ├── globals_defs_e.html │ │ │ │ ├── globals_defs_f.html │ │ │ │ ├── globals_defs_g.html │ │ │ │ ├── globals_defs_h.html │ │ │ │ ├── globals_defs_i.html │ │ │ │ ├── globals_defs_j.html │ │ │ │ ├── globals_defs_k.html │ │ │ │ ├── globals_defs_l.html │ │ │ │ ├── globals_defs_m.html │ │ │ │ ├── globals_defs_n.html │ │ │ │ ├── globals_defs_o.html │ │ │ │ ├── globals_defs_p.html │ │ │ │ ├── globals_defs_r.html │ │ │ │ ├── globals_defs_s.html │ │ │ │ ├── globals_defs_t.html │ │ │ │ ├── globals_defs_v.html │ │ │ │ ├── globals_e.html │ │ │ │ ├── globals_f.html │ │ │ │ ├── globals_func.html │ │ │ │ ├── globals_g.html │ │ │ │ ├── globals_h.html │ │ │ │ ├── globals_i.html │ │ │ │ ├── globals_j.html │ │ │ │ ├── globals_k.html │ │ │ │ ├── globals_l.html │ │ │ │ ├── globals_m.html │ │ │ │ ├── globals_n.html │ │ │ │ ├── globals_o.html │ │ │ │ ├── globals_p.html │ │ │ │ ├── globals_r.html │ │ │ │ ├── globals_s.html │ │ │ │ ├── globals_t.html │ │ │ │ ├── globals_type.html │ │ │ │ ├── globals_v.html │ │ │ │ ├── globals_w.html │ │ │ │ ├── group__buttons.html │ │ │ │ ├── group__context.html │ │ │ │ ├── group__errors.html │ │ │ │ ├── group__init.html │ │ │ │ ├── group__input.html │ │ │ │ ├── group__joysticks.html │ │ │ │ ├── group__keys.html │ │ │ │ ├── group__mods.html │ │ │ │ ├── group__monitor.html │ │ │ │ ├── group__native.html │ │ │ │ ├── group__shapes.html │ │ │ │ ├── group__vulkan.html │ │ │ │ ├── group__window.html │ │ │ │ ├── index.html │ │ │ │ ├── input_8dox.html │ │ │ │ ├── input_guide.html │ │ │ │ ├── intro_8dox.html │ │ │ │ ├── intro_guide.html │ │ │ │ ├── jquery.js │ │ │ │ ├── main_8dox.html │ │ │ │ ├── modules.html │ │ │ │ ├── monitor_8dox.html │ │ │ │ ├── monitor_guide.html │ │ │ │ ├── moving_8dox.html │ │ │ │ ├── moving_guide.html │ │ │ │ ├── nav_f.png │ │ │ │ ├── nav_g.png │ │ │ │ ├── nav_h.png │ │ │ │ ├── news.html │ │ │ │ ├── news_8dox.html │ │ │ │ ├── open.png │ │ │ │ ├── pages.html │ │ │ │ ├── quick_8dox.html │ │ │ │ ├── quick_guide.html │ │ │ │ ├── search │ │ │ │ │ ├── all_0.html │ │ │ │ │ ├── all_0.js │ │ │ │ │ ├── all_1.html │ │ │ │ │ ├── all_1.js │ │ │ │ │ ├── all_2.html │ │ │ │ │ ├── all_2.js │ │ │ │ │ ├── all_3.html │ │ │ │ │ ├── all_3.js │ │ │ │ │ ├── all_4.html │ │ │ │ │ ├── all_4.js │ │ │ │ │ ├── all_5.html │ │ │ │ │ ├── all_5.js │ │ │ │ │ ├── all_6.html │ │ │ │ │ ├── all_6.js │ │ │ │ │ ├── all_7.html │ │ │ │ │ ├── all_7.js │ │ │ │ │ ├── all_8.html │ │ │ │ │ ├── all_8.js │ │ │ │ │ ├── all_9.html │ │ │ │ │ ├── all_9.js │ │ │ │ │ ├── all_a.html │ │ │ │ │ ├── all_a.js │ │ │ │ │ ├── all_b.html │ │ │ │ │ ├── all_b.js │ │ │ │ │ ├── all_c.html │ │ │ │ │ ├── all_c.js │ │ │ │ │ ├── all_d.html │ │ │ │ │ ├── all_d.js │ │ │ │ │ ├── all_e.html │ │ │ │ │ ├── all_e.js │ │ │ │ │ ├── all_f.html │ │ │ │ │ ├── all_f.js │ │ │ │ │ ├── classes_0.html │ │ │ │ │ ├── classes_0.js │ │ │ │ │ ├── close.png │ │ │ │ │ ├── defines_0.html │ │ │ │ │ ├── defines_0.js │ │ │ │ │ ├── files_0.html │ │ │ │ │ ├── files_0.js │ │ │ │ │ ├── files_1.html │ │ │ │ │ ├── files_1.js │ │ │ │ │ ├── files_2.html │ │ │ │ │ ├── files_2.js │ │ │ │ │ ├── files_3.html │ │ │ │ │ ├── files_3.js │ │ │ │ │ ├── files_4.html │ │ │ │ │ ├── files_4.js │ │ │ │ │ ├── files_5.html │ │ │ │ │ ├── files_5.js │ │ │ │ │ ├── files_6.html │ │ │ │ │ ├── files_6.js │ │ │ │ │ ├── files_7.html │ │ │ │ │ ├── files_7.js │ │ │ │ │ ├── files_8.html │ │ │ │ │ ├── files_8.js │ │ │ │ │ ├── functions_0.html │ │ │ │ │ ├── functions_0.js │ │ │ │ │ ├── groups_0.html │ │ │ │ │ ├── groups_0.js │ │ │ │ │ ├── groups_1.html │ │ │ │ │ ├── groups_1.js │ │ │ │ │ ├── groups_2.html │ │ │ │ │ ├── groups_2.js │ │ │ │ │ ├── groups_3.html │ │ │ │ │ ├── groups_3.js │ │ │ │ │ ├── groups_4.html │ │ │ │ │ ├── groups_4.js │ │ │ │ │ ├── groups_5.html │ │ │ │ │ ├── groups_5.js │ │ │ │ │ ├── groups_6.html │ │ │ │ │ ├── groups_6.js │ │ │ │ │ ├── groups_7.html │ │ │ │ │ ├── groups_7.js │ │ │ │ │ ├── groups_8.html │ │ │ │ │ ├── groups_8.js │ │ │ │ │ ├── groups_9.html │ │ │ │ │ ├── groups_9.js │ │ │ │ │ ├── mag_sel.png │ │ │ │ │ ├── nomatches.html │ │ │ │ │ ├── pages_0.html │ │ │ │ │ ├── pages_0.js │ │ │ │ │ ├── pages_1.html │ │ │ │ │ ├── pages_1.js │ │ │ │ │ ├── pages_2.html │ │ │ │ │ ├── pages_2.js │ │ │ │ │ ├── pages_3.html │ │ │ │ │ ├── pages_3.js │ │ │ │ │ ├── pages_4.html │ │ │ │ │ ├── pages_4.js │ │ │ │ │ ├── pages_5.html │ │ │ │ │ ├── pages_5.js │ │ │ │ │ ├── pages_6.html │ │ │ │ │ ├── pages_6.js │ │ │ │ │ ├── pages_7.html │ │ │ │ │ ├── pages_7.js │ │ │ │ │ ├── pages_8.html │ │ │ │ │ ├── pages_8.js │ │ │ │ │ ├── search.css │ │ │ │ │ ├── search.js │ │ │ │ │ ├── search_l.png │ │ │ │ │ ├── search_m.png │ │ │ │ │ ├── search_r.png │ │ │ │ │ ├── searchdata.js │ │ │ │ │ ├── typedefs_0.html │ │ │ │ │ ├── typedefs_0.js │ │ │ │ │ ├── variables_0.html │ │ │ │ │ ├── variables_0.js │ │ │ │ │ ├── variables_1.html │ │ │ │ │ ├── variables_1.js │ │ │ │ │ ├── variables_2.html │ │ │ │ │ ├── variables_2.js │ │ │ │ │ ├── variables_3.html │ │ │ │ │ ├── variables_3.js │ │ │ │ │ ├── variables_4.html │ │ │ │ │ ├── variables_4.js │ │ │ │ │ ├── variables_5.html │ │ │ │ │ ├── variables_5.js │ │ │ │ │ ├── variables_6.html │ │ │ │ │ └── variables_6.js │ │ │ │ ├── spaces.svg │ │ │ │ ├── splitbar.png │ │ │ │ ├── structGLFWgammaramp.html │ │ │ │ ├── structGLFWimage.html │ │ │ │ ├── structGLFWvidmode.html │ │ │ │ ├── sync_off.png │ │ │ │ ├── sync_on.png │ │ │ │ ├── tab_a.png │ │ │ │ ├── tab_b.png │ │ │ │ ├── tab_h.png │ │ │ │ ├── tab_s.png │ │ │ │ ├── tabs.css │ │ │ │ ├── vulkan_8dox.html │ │ │ │ ├── vulkan_guide.html │ │ │ │ ├── window_8dox.html │ │ │ │ └── window_guide.html │ │ │ ├── input.dox │ │ │ ├── internal.dox │ │ │ ├── intro.dox │ │ │ ├── main.dox │ │ │ ├── monitor.dox │ │ │ ├── moving.dox │ │ │ ├── news.dox │ │ │ ├── quick.dox │ │ │ ├── spaces.svg │ │ │ ├── vulkan.dox │ │ │ └── window.dox │ │ ├── examples │ │ │ ├── CMakeLists.txt │ │ │ ├── boing.c │ │ │ ├── gears.c │ │ │ ├── glfw.icns │ │ │ ├── glfw.ico │ │ │ ├── glfw.rc │ │ │ ├── heightmap.c │ │ │ ├── particles.c │ │ │ ├── simple.c │ │ │ ├── splitview.c │ │ │ └── wave.c │ │ ├── include │ │ │ └── GLFW │ │ │ │ ├── glfw3.h │ │ │ │ └── glfw3native.h │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ ├── cocoa_init.m │ │ │ ├── cocoa_joystick.h │ │ │ ├── cocoa_joystick.m │ │ │ ├── cocoa_monitor.m │ │ │ ├── cocoa_platform.h │ │ │ ├── cocoa_time.c │ │ │ ├── cocoa_window.m │ │ │ ├── context.c │ │ │ ├── egl_context.c │ │ │ ├── egl_context.h │ │ │ ├── glfw3.pc.in │ │ │ ├── glfw3Config.cmake.in │ │ │ ├── glfw_config.h.in │ │ │ ├── glx_context.c │ │ │ ├── glx_context.h │ │ │ ├── init.c │ │ │ ├── input.c │ │ │ ├── internal.h │ │ │ ├── linux_joystick.c │ │ │ ├── linux_joystick.h │ │ │ ├── mir_init.c │ │ │ ├── mir_monitor.c │ │ │ ├── mir_platform.h │ │ │ ├── mir_window.c │ │ │ ├── monitor.c │ │ │ ├── nsgl_context.h │ │ │ ├── nsgl_context.m │ │ │ ├── posix_time.c │ │ │ ├── posix_time.h │ │ │ ├── posix_tls.c │ │ │ ├── posix_tls.h │ │ │ ├── vulkan.c │ │ │ ├── wgl_context.c │ │ │ ├── wgl_context.h │ │ │ ├── win32_init.c │ │ │ ├── win32_joystick.c │ │ │ ├── win32_joystick.h │ │ │ ├── win32_monitor.c │ │ │ ├── win32_platform.h │ │ │ ├── win32_time.c │ │ │ ├── win32_tls.c │ │ │ ├── win32_window.c │ │ │ ├── window.c │ │ │ ├── wl_init.c │ │ │ ├── wl_monitor.c │ │ │ ├── wl_platform.h │ │ │ ├── wl_window.c │ │ │ ├── x11_init.c │ │ │ ├── x11_monitor.c │ │ │ ├── x11_platform.h │ │ │ ├── x11_window.c │ │ │ ├── xkb_unicode.c │ │ │ └── xkb_unicode.h │ │ └── tests │ │ │ ├── CMakeLists.txt │ │ │ ├── clipboard.c │ │ │ ├── cursor.c │ │ │ ├── empty.c │ │ │ ├── events.c │ │ │ ├── gamma.c │ │ │ ├── glfwinfo.c │ │ │ ├── icon.c │ │ │ ├── iconify.c │ │ │ ├── joysticks.c │ │ │ ├── monitors.c │ │ │ ├── msaa.c │ │ │ ├── reopen.c │ │ │ ├── sharing.c │ │ │ ├── tearing.c │ │ │ ├── threads.c │ │ │ ├── timeout.c │ │ │ ├── title.c │ │ │ ├── vulkan.c │ │ │ └── windows.c │ └── imgui │ │ ├── CMakeLists.txt │ │ ├── LICENSE │ │ ├── imconfig.h │ │ ├── imgui.cpp │ │ ├── imgui.h │ │ ├── imgui_demo.cpp │ │ ├── imgui_draw.cpp │ │ ├── imgui_impl_glfw.cpp │ │ ├── imgui_impl_glfw.h │ │ ├── imgui_internal.h │ │ ├── stb_rect_pack.h │ │ ├── stb_textedit.h │ │ └── stb_truetype.h └── sutil │ ├── Arcball.cpp │ ├── Arcball.h │ ├── CMakeLists.txt │ ├── Camera.cpp │ ├── Camera.h │ ├── GL │ ├── glew.h │ ├── glxew.h │ └── wglew.h │ ├── HDRLoader.cpp │ ├── HDRLoader.h │ ├── Mesh.cpp │ ├── Mesh.h │ ├── OptiXMesh.cpp │ ├── OptiXMesh.h │ ├── PPMLoader.cpp │ ├── PPMLoader.h │ ├── SunSky.cpp │ ├── SunSky.h │ ├── glew.c │ ├── glext.h │ ├── phong.cu │ ├── phong.h │ ├── rply-1.01 │ ├── LICENSE │ ├── rply.c │ └── rply.h │ ├── stb │ ├── stb_image_write.cpp │ └── stb_image_write.h │ ├── sutil.cpp │ ├── sutil.h │ ├── sutilapi.h │ ├── tinyobjloader │ ├── tiny_obj_loader.cc │ └── tiny_obj_loader.h │ └── triangle_mesh.cu └── stormtrooper.png /INSTALL-LINUX.txt: -------------------------------------------------------------------------------- 1 | 2 | Requirements for 64-bit Linux: 3 | 4 | * OptiX version 4.0+ 5 | * GPU, driver, and CUDA toolkit supported by OptiX, as specified in the OptiX Release Notes 6 | * C++ compiler (gcc 4.8.4 has been tested) 7 | * CMake (http://www.cmake.org/cmake/resources/software.html). 8 | 9 | Instructions for building: 10 | 11 | * Create a build directory other than the src/ directory. Using a separate 12 | build directory allows multiple builds, differing in flavor, platform, etc. 13 | 14 | * cd to new directory. 15 | 16 | * Run 17 | $ ccmake 18 | where path is the path to the src/ directory. This will bring up 19 | the cmake interface. 20 | 21 | * Press 'c' within ccmake to begin configure process. 22 | 23 | * Set OptiX_INSTALL_DIR to wherever you installed OptiX, e.g., "/usr/local/NVIDIA-OptiX-SDK-", 24 | by moving the cursor over the field, hitting , changing the value, 25 | and hitting again. 26 | 27 | * The newly added OptiX Introduction examples add a dependency for the DevIL image library. 28 | Under Linux these should be found automatically by the FindDevIL.cmake. 29 | If not, you can manually set the IL_INCLUDE_DIR, IL_LIBRARIES, ILU_LIBRARIES, and ILUT_LIBRARIES 30 | to the IL include path and libraries IL, ILU and ILUT respectively. 31 | 32 | * Adjust other options. You may want to change CMAKE_BUILD_TYPE to select a 33 | Debug build rather than the default RELEASE build. 34 | 35 | * Press 'c' again to finish configure. 36 | 37 | * Press 'g' to generate Makefiles and exit. 38 | 39 | * Run 40 | $ make 41 | to build. 42 | 43 | * Executables should be found in the bin directory. 44 | 45 | -------------------------------------------------------------------------------- /INSTALL-WIN.txt: -------------------------------------------------------------------------------- 1 | 2 | Requirements for 64-bit Windows: 3 | 4 | * OptiX version 4.0+ 5 | * GPU, driver, and CUDA toolkit supported by OptiX, as specified in the OptiX Release Notes 6 | * Microsoft Visual Studio: either VS 2013 for CUDA 7.5, or VS 2015 for CUDA 8 7 | * CMake (http://www.cmake.org/cmake/resources/software.html). 8 | 9 | Instructions for building: 10 | 11 | * Start up cmake-gui from the Start Menu. 12 | 13 | * Select the "src" directory from optix_advanced_samples as the source file location. 14 | 15 | * Create a build directory that isn't the same as the source directory. 16 | Hint: if you type in the directory instead of using the "Browse Build..." button, 17 | CMake will prompt to create the directory if it doesn't already exist. 18 | 19 | * Press "Configure" button and select the version of Visual Studio you wish to 20 | use. Note that the 64-bit compiles are separate from the 32-bit compiles 21 | (e.g. look for "Visual Studio 12 2013 Win64"). Leave all other options on 22 | their default. Press "OK". 23 | 24 | * Set OptiX_INSTALL_DIR to wherever you installed OptiX, e.g., 25 | "C:\ProgramData\NVIDIA Corporation\OptiX SDK \". 26 | 27 | * The newly added OptiX Introduction examples add a dependency for the DevIL image library. 28 | Set IL_INCLUDE_DIR, IL_LIBRARIES, ILU_LIBRARIES, and ILUT_LIBRARIES to the path for 29 | DevIL/include, DevIL.lib, ILU.lib and ILUT.lib respectively. 30 | 31 | * Press "Configure" again, then "Generate". 32 | 33 | * Open the OptiX-Advanced-Samples.sln solution file in the build directory you created. 34 | 35 | * Select "Build Solution" from the IDE. 36 | 37 | * Right click on one of the sample program targets in the solution explorer and 38 | select "Set as start up project". 39 | 40 | * Run the sample. "q" or "Esc" will close the window. 41 | 42 | Note that due to the way dependencies are automatically handled for CUDA 43 | compilation in Visual Studio, if you build again Visual Studio will likely ask 44 | you to reload your projects. Please do so. Subsequent compiles should not 45 | result in reloading unless you change the files that are included by a CUDA 46 | file. 47 | 48 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | OptixPathTracer 3 | ========== 4 | 5 | ![Dining Room](./dining.png) 6 | [Dining Room](https://www.blendswap.com/blends/view/86457) 7 | 8 | > :warning: **Warning** 9 | > 10 | > Code in this repo was written for an older version of OptiX (5.x) and the repo is not maintained anymore. I would recommend using the newer OptiX 7.x API. Have a look at the following repos: 11 | > 12 | > https://github.com/NVIDIA/OptiX_Apps
13 | > https://github.com/owl-project/owl
14 | > https://github.com/shocker-0x15/OptiX_Utility 15 | > 16 | > If you're specifically looking for an implementation of the Disney BSDF then have a look at [PBRT-v3](https://github.com/mmp/pbrt-v3/blob/master/src/materials/disney.cpp) or my [other repo](https://github.com/knightcrawler25/GLSL-PathTracer/blob/master/src/shaders/common/disney.glsl) 17 | 18 | A physically based path tracer with support for Disney BRDF. 19 | 20 | This was created by putting together bits and pieces from the Nvidia's Optix Advanced Samples Introduction tutorials. 21 | The feature set is very basic since this is just a learning excercise, so if you see horribly written code or things that 22 | can be done in a much better way please do share :) 23 | 24 | Features 25 | -------- 26 | ( Almost all were part of existing code from the Nvidia's Optix Advanced Samples Repository on Github ) 27 | - Unidirectional Path Tracing 28 | - Disney BRDF 29 | - Simple Glass BTDF 30 | - Sphere and Rect lights 31 | - Multiple Importance Sampling 32 | - Mesh Loading 33 | - Simple Scene File (Basically stolen from Miles Macklin's excellent [Tinsel renderer](https://github.com/mmacklin/tinsel) ) so all credits go to him. 34 | 35 | For the modified .obj files that go with the scene files, unzip the data.rar file in src/data/ into the same folder 36 | 37 | Following are some scenes rendered with the path tracer 38 | -------- 39 | [Bedroom](https://benedikt-bitterli.me/resources) 40 | ![Bedroom](./bedroom.png) 41 | 42 | [Spaceship](https://www.blendswap.com/blends/view/75686) (Render Time: ~6 minutes on a GTX 750ti) 43 | ![Spaceship](./spaceship.png) 44 | 45 | [Stormtrooper](https://www.blendswap.com/blends/view/76637) (Render Time: ~4 minutes) 46 | ![Stormtrooper](./stormtrooper.png) 47 | 48 | [Coffee Pot](https://benedikt-bitterli.me/resources) (Render Time: 4 minutes. 1k spp) 49 | ![Coffee Pot](./coffee_pot.png) 50 | 51 | Remake of the Disney Hyperion Scene (Render Time: Quite long) 52 | ![Hyperion Scene](./hyperion.png) 53 | 54 | ![Dragon closeup](./dragon.png) 55 | 56 | Thanks to Simon Kallweit for helping me out with the importance sampling code. He also has a nice write up of his [implementation](http://simon-kallweit.me/rendercompo2015/) 57 | 58 | Models are from [Benedikt Bitterli's Rendering Resources](https://benedikt-bitterli.me/resources). 59 | 60 | -------------------------------------------------------------------------------- /bedroom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/bedroom.png -------------------------------------------------------------------------------- /coffee_pot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/coffee_pot.png -------------------------------------------------------------------------------- /dining.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/dining.png -------------------------------------------------------------------------------- /dragon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/dragon.png -------------------------------------------------------------------------------- /hyperion.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/hyperion.png -------------------------------------------------------------------------------- /scripts/optixGlass.gold.ppm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/scripts/optixGlass.gold.ppm -------------------------------------------------------------------------------- /scripts/optixOcean.gold.ppm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/scripts/optixOcean.gold.ppm -------------------------------------------------------------------------------- /scripts/optixParticleVolumes.gold.ppm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/scripts/optixParticleVolumes.gold.ppm -------------------------------------------------------------------------------- /scripts/optixProgressivePhotonMap.gold.ppm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/scripts/optixProgressivePhotonMap.gold.ppm -------------------------------------------------------------------------------- /scripts/optixVox.gold.ppm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/scripts/optixVox.gold.ppm -------------------------------------------------------------------------------- /spaceship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/spaceship.png -------------------------------------------------------------------------------- /src/CMake/FindDX.cmake: -------------------------------------------------------------------------------- 1 | IF (WIN32 AND MSVC_VERSION LESS 1700) 2 | # Starting with Windows 8, the DirectX SDK is included as part of the Windows SDK 3 | # (http://msdn.microsoft.com/en-us/library/windows/desktop/ee663275.aspx) 4 | # and, in turn, Visual Studio 2012 (even Express) includes the appropriate components of the Windows SDK 5 | # (http://msdn.microsoft.com/en-us/windows/desktop/hh852363.aspx) 6 | # so we don't need a DX include path if we're targeting VS2012+ 7 | 8 | FIND_PATH(DX9_INCLUDE_PATH d3d9.h 9 | PATHS 10 | "$ENV{DXSDK_DIR}/Include" 11 | "$ENV{PROGRAMFILES}/Microsoft DirectX SDK/Include" 12 | DOC "The directory where d3d9.h resides") 13 | FIND_PATH(DX10_INCLUDE_PATH D3D10.h 14 | PATHS 15 | "$ENV{DXSDK_DIR}/Include" 16 | "$ENV{PROGRAMFILES}/Microsoft DirectX SDK/Include" 17 | DOC "The directory where D3D10.h resides") 18 | FIND_PATH(DX11_INCLUDE_PATH D3D11.h 19 | PATHS 20 | "$ENV{DXSDK_DIR}/Include" 21 | "$ENV{PROGRAMFILES}/Microsoft DirectX SDK/Include" 22 | DOC "The directory where D3D11.h resides") 23 | 24 | IF (DX9_INCLUDE_PATH) 25 | SET( DX9_FOUND 1 ) 26 | ELSE (DX9_INCLUDE_PATH) 27 | SET( DX9_FOUND 0 ) 28 | ENDIF (DX9_INCLUDE_PATH) 29 | 30 | IF (DX10_INCLUDE_PATH) 31 | SET( DX10_FOUND 1 ) 32 | ELSE (DX10_INCLUDE_PATH) 33 | SET( DX10_FOUND 0 ) 34 | ENDIF (DX10_INCLUDE_PATH) 35 | 36 | IF (DX11_INCLUDE_PATH) 37 | SET( DX11_FOUND 1 ) 38 | ELSE (DX11_INCLUDE_PATH) 39 | SET( DX11_FOUND 0 ) 40 | ENDIF (DX11_INCLUDE_PATH) 41 | ENDIF (WIN32 AND MSVC_VERSION LESS 1700) 42 | 43 | -------------------------------------------------------------------------------- /src/CMake/LinuxCPUInfo.cmake: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Copyright (c) 2008 - 2009 NVIDIA Corporation. All rights reserved. 4 | # 5 | # NVIDIA Corporation and its licensors retain all intellectual property and proprietary 6 | # rights in and to this software, related documentation and any modifications thereto. 7 | # Any use, reproduction, disclosure or distribution of this software and related 8 | # documentation without an express license agreement from NVIDIA Corporation is strictly 9 | # prohibited. 10 | # 11 | # TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* 12 | # AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, 13 | # INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 14 | # PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY 15 | # SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT 16 | # LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF 17 | # BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR 18 | # INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF 19 | # SUCH DAMAGES 20 | # 21 | 22 | IF(EXISTS "/proc/cpuinfo") 23 | 24 | FILE(READ /proc/cpuinfo PROC_CPUINFO) 25 | 26 | SET(VENDOR_ID_RX "vendor_id[ \t]*:[ \t]*([a-zA-Z]+)\n") 27 | STRING(REGEX MATCH "${VENDOR_ID_RX}" VENDOR_ID "${PROC_CPUINFO}") 28 | STRING(REGEX REPLACE "${VENDOR_ID_RX}" "\\1" VENDOR_ID "${VENDOR_ID}") 29 | 30 | SET(CPU_FAMILY_RX "cpu family[ \t]*:[ \t]*([0-9]+)") 31 | STRING(REGEX MATCH "${CPU_FAMILY_RX}" CPU_FAMILY "${PROC_CPUINFO}") 32 | STRING(REGEX REPLACE "${CPU_FAMILY_RX}" "\\1" CPU_FAMILY "${CPU_FAMILY}") 33 | 34 | SET(MODEL_RX "model[ \t]*:[ \t]*([0-9]+)") 35 | STRING(REGEX MATCH "${MODEL_RX}" MODEL "${PROC_CPUINFO}") 36 | STRING(REGEX REPLACE "${MODEL_RX}" "\\1" MODEL "${MODEL}") 37 | 38 | SET(FLAGS_RX "flags[ \t]*:[ \t]*([a-zA-Z0-9 _]+)\n") 39 | STRING(REGEX MATCH "${FLAGS_RX}" FLAGS "${PROC_CPUINFO}") 40 | STRING(REGEX REPLACE "${FLAGS_RX}" "\\1" FLAGS "${FLAGS}") 41 | 42 | # Debug output. 43 | IF(LINUX_CPUINFO) 44 | MESSAGE(STATUS "LinuxCPUInfo.cmake:") 45 | MESSAGE(STATUS "VENDOR_ID : ${VENDOR_ID}") 46 | MESSAGE(STATUS "CPU_FAMILY : ${CPU_FAMILY}") 47 | MESSAGE(STATUS "MODEL : ${MODEL}") 48 | MESSAGE(STATUS "FLAGS : ${FLAGS}") 49 | ENDIF(LINUX_CPUINFO) 50 | 51 | ENDIF(EXISTS "/proc/cpuinfo") 52 | -------------------------------------------------------------------------------- /src/CMake/ptx2cpp.cmake: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Copyright (c) 2008 - 2009 NVIDIA Corporation. All rights reserved. 4 | # 5 | # NVIDIA Corporation and its licensors retain all intellectual property and proprietary 6 | # rights in and to this software, related documentation and any modifications thereto. 7 | # Any use, reproduction, disclosure or distribution of this software and related 8 | # documentation without an express license agreement from NVIDIA Corporation is strictly 9 | # prohibited. 10 | # 11 | # TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* 12 | # AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, 13 | # INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 14 | # PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY 15 | # SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT 16 | # LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF 17 | # BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR 18 | # INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF 19 | # SUCH DAMAGES 20 | # 21 | 22 | # This script produces a string variable from the contents of a ptx 23 | # script. The variable is defined in the .cc file and the .h file. 24 | 25 | # This script excepts the following variable to be passed in like 26 | # -DVAR:TYPE=VALUE 27 | # 28 | # CPP_FILE 29 | # PTX_FILE 30 | # VARIABLE_NAME 31 | # NAMESPACE 32 | # CUDA_BIN2C_EXECUTABLE 33 | 34 | # message("PTX_FILE = ${PTX_FILE}") 35 | # message("CPP_FILE = ${C_FILE}") 36 | # message("VARIABLE_NAME = ${VARIABLE_NAME}") 37 | # message("NAMESPACE = ${NAMESPACE}") 38 | 39 | execute_process( COMMAND ${CUDA_BIN2C_EXECUTABLE} -p 0 -st -c -n ${VARIABLE_NAME}_static "${PTX_FILE}" 40 | OUTPUT_VARIABLE bindata 41 | RESULT_VARIABLE result 42 | ERROR_VARIABLE error 43 | ) 44 | if(result) 45 | message(FATAL_ERROR "bin2c error:\n" ${error}) 46 | endif() 47 | 48 | set(BODY 49 | "${bindata}\n" 50 | "namespace ${NAMESPACE} {\n\nstatic const char* const ${VARIABLE_NAME} = reinterpret_cast(&${VARIABLE_NAME}_static[0]);\n} // end namespace ${NAMESPACE}\n") 51 | file(WRITE ${CPP_FILE} "${BODY}") 52 | -------------------------------------------------------------------------------- /src/CMake/sse_support.h.in: -------------------------------------------------------------------------------- 1 | #cmakedefine SSE_41_AVAILABLE 2 | -------------------------------------------------------------------------------- /src/CMake/testmain.c: -------------------------------------------------------------------------------- 1 | 2 | /* 3 | * Copyright (c) 2008 - 2009 NVIDIA Corporation. All rights reserved. 4 | * 5 | * NVIDIA Corporation and its licensors retain all intellectual property and proprietary 6 | * rights in and to this software, related documentation and any modifications thereto. 7 | * Any use, reproduction, disclosure or distribution of this software and related 8 | * documentation without an express license agreement from NVIDIA Corporation is strictly 9 | * prohibited. 10 | * 11 | * TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED *AS IS* 12 | * AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, 13 | * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 14 | * PARTICULAR PURPOSE. IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS BE LIABLE FOR ANY 15 | * SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, WITHOUT 16 | * LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF 17 | * BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR 18 | * INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS BEEN ADVISED OF THE POSSIBILITY OF 19 | * SUCH DAMAGES 20 | */ 21 | 22 | int main() 23 | { 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /src/data/CedarCity.hdr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/data/CedarCity.hdr -------------------------------------------------------------------------------- /src/data/README.txt: -------------------------------------------------------------------------------- 1 | Unzip the folders in data.rar into this folder 2 | 3 | Credits: 4 | 5 | Coffee Pot: Benedikt Bitterli 6 | https://benedikt-bitterli.me/resources 7 | Public domain license 8 | 9 | Dining Room: MaTTeSr 10 | https://www.blendswap.com/blends/view/86457 11 | License CC-BY 12 | 13 | Spaceship: thecali 14 | https://www.blendswap.com/blends/view/75686 15 | License CC Zero 16 | 17 | Stormtrooper: ScottGraham 18 | https://www.blendswap.com/blends/view/76637 19 | License CC-BY 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/data/cornell.scene: -------------------------------------------------------------------------------- 1 | properties 2 | { 3 | width 700 4 | height 700 5 | #fov 39.3077 6 | #camera_pos 278 273 -800 7 | #camera_dir 0 0 1 8 | } 9 | 10 | material white 11 | { 12 | color 0.725 0.71 0.68 13 | } 14 | 15 | material red 16 | { 17 | color 0.63 0.065 0.05 18 | } 19 | 20 | material green 21 | { 22 | color 0.14 0.45 0.091 23 | } 24 | 25 | mesh 26 | { 27 | file cornell_box/cbox_ceiling.obj 28 | material white 29 | } 30 | 31 | mesh 32 | { 33 | file cornell_box/cbox_floor.obj 34 | material white 35 | } 36 | 37 | mesh 38 | { 39 | file cornell_box/cbox_back.obj 40 | material white 41 | } 42 | 43 | mesh 44 | { 45 | file cornell_box/cbox_smallbox.obj 46 | material white 47 | } 48 | 49 | mesh 50 | { 51 | file cornell_box/cbox_largebox.obj 52 | material white 53 | } 54 | 55 | mesh 56 | { 57 | file cornell_box/cbox_greenwall.obj 58 | material green 59 | } 60 | 61 | mesh 62 | { 63 | file cornell_box/cbox_redwall.obj 64 | material red 65 | } 66 | 67 | light 68 | { 69 | position 343 548.79999 227 70 | emission 17 12 4 71 | v1 343 548.79999 332 72 | v2 213 548.79999 227 73 | type Quad 74 | } -------------------------------------------------------------------------------- /src/data/cornell_box/cbox_back.obj: -------------------------------------------------------------------------------- 1 | v 549.59998 0 559.20001 2 | v 0 0 559.20001 3 | v 0 548.79999 559.20001 4 | v 556 548.79999 559.20001 5 | f 1 2 3 4 6 | -------------------------------------------------------------------------------- /src/data/cornell_box/cbox_ceiling.obj: -------------------------------------------------------------------------------- 1 | v 556 548.79999 0 2 | v 556 548.79999 559.20001 3 | v 0 548.79999 559.20001 4 | v 0 548.79999 0 5 | v 343 548.79999 227 6 | v 343 548.79999 332 7 | v 213 548.79999 332 8 | v 213 548.79999 227 9 | f 1 2 3 4 10 | f 8 7 6 5 11 | -------------------------------------------------------------------------------- /src/data/cornell_box/cbox_floor.obj: -------------------------------------------------------------------------------- 1 | v 552.79999 0 0 2 | v 0 0 0 3 | v 0 0 559.20001 4 | v 549.59998 0 559.20001 5 | v 130 0 65 6 | v 82 0 225 7 | v 240 0 272 8 | v 290 0 114 9 | v 423 0 247 10 | v 265 0 296 11 | v 314 0 456 12 | v 472 0 406 13 | f 1 2 3 4 14 | -------------------------------------------------------------------------------- /src/data/cornell_box/cbox_greenwall.obj: -------------------------------------------------------------------------------- 1 | v 0 0 559.20001 2 | v 0 0 0 3 | v 0 548.79999 0 4 | v 0 548.79999 559.20001 5 | f 1 2 3 4 6 | -------------------------------------------------------------------------------- /src/data/cornell_box/cbox_largebox.obj: -------------------------------------------------------------------------------- 1 | #### 2 | # 3 | # OBJ File Generated by Meshlab 4 | # 5 | #### 6 | # Object cbox_largebox.obj 7 | # 8 | # Vertices: 24 9 | # Faces: 12 10 | # 11 | #### 12 | vn 0.000000 1.000000 0.000000 13 | v 423.000000 330.000000 247.000000 14 | v 265.000000 330.000000 296.000000 15 | v 314.000000 330.000000 456.000000 16 | v 472.000000 330.000000 406.000000 17 | vn 0.955649 0.000000 -0.294508 18 | v 423.000000 0.000000 247.000000 19 | v 423.000000 330.000000 247.000000 20 | v 472.000000 330.000000 406.000000 21 | v 472.000000 0.000000 406.000000 22 | vn 0.301709 0.000000 0.953400 23 | v 472.000000 0.000000 406.000000 24 | v 472.000000 330.000000 406.000000 25 | v 314.000000 330.000000 456.000000 26 | v 314.000000 0.000000 456.000000 27 | vn -0.956166 0.000000 0.292826 28 | v 314.000000 0.000000 456.000000 29 | v 314.000000 330.000000 456.000000 30 | v 265.000000 330.000000 296.000000 31 | v 265.000000 0.000000 296.000000 32 | vn -0.296209 0.000000 -0.955123 33 | v 265.000000 0.000000 296.000000 34 | v 265.000000 330.000000 296.000000 35 | v 423.000000 330.000000 247.000000 36 | v 423.000000 0.000000 247.000000 37 | vn 0.000000 -1.000000 0.000000 38 | v 472.000000 0.000000 406.000000 39 | v 314.000000 0.000000 456.000000 40 | v 265.000000 0.000000 296.000000 41 | v 423.000000 0.000000 247.000000 42 | # 24 vertices, 6 vertices normals 43 | 44 | f 1//1 2//1 3//1 45 | f 1//1 3//1 4//1 46 | f 5//2 6//2 7//2 47 | f 5//2 7//2 8//2 48 | f 9//3 10//3 11//3 49 | f 9//3 11//3 12//3 50 | f 13//4 14//4 15//4 51 | f 13//4 15//4 16//4 52 | f 17//5 18//5 19//5 53 | f 17//5 19//5 20//5 54 | f 21//6 22//6 23//6 55 | f 21//6 23//6 24//6 56 | # 12 faces, 0 coords texture 57 | 58 | # End of File -------------------------------------------------------------------------------- /src/data/cornell_box/cbox_luminaire.obj: -------------------------------------------------------------------------------- 1 | v 343 548.79999 227 2 | v 343 548.79999 332 3 | v 213 548.79999 332 4 | v 213 548.79999 227 5 | f 1 2 3 4 6 | -------------------------------------------------------------------------------- /src/data/cornell_box/cbox_redwall.obj: -------------------------------------------------------------------------------- 1 | v 552.79999 0 0 2 | v 549.59998 0 559.20001 3 | v 556 548.79999 559.20001 4 | v 556 548.79999 0 5 | f 1 2 3 4 6 | -------------------------------------------------------------------------------- /src/data/cornell_box/cbox_smallbox.obj: -------------------------------------------------------------------------------- 1 | #### 2 | # 3 | # OBJ File Generated by Meshlab 4 | # 5 | #### 6 | # Object cbox_smallbox.obj 7 | # 8 | # Vertices: 24 9 | # Faces: 12 10 | # 11 | #### 12 | vn 0.000000 1.000000 0.000000 13 | v 130.000000 165.000000 65.000000 14 | v 82.000000 165.000000 225.000000 15 | v 240.000000 165.000000 272.000000 16 | v 290.000000 165.000000 114.000000 17 | vn 0.953400 0.000000 0.301709 18 | v 290.000000 0.000000 114.000000 19 | v 290.000000 165.000000 114.000000 20 | v 240.000000 165.000000 272.000000 21 | v 240.000000 0.000000 272.000000 22 | vn 0.292826 0.000000 -0.956166 23 | v 130.000000 0.000000 65.000000 24 | v 130.000000 165.000000 65.000000 25 | v 290.000000 165.000000 114.000000 26 | v 290.000000 0.000000 114.000000 27 | vn -0.957826 0.000000 -0.287348 28 | v 82.000000 0.000000 225.000000 29 | v 82.000000 165.000000 225.000000 30 | v 130.000000 165.000000 65.000000 31 | v 130.000000 0.000000 65.000000 32 | vn -0.285121 0.000000 0.958492 33 | v 240.000000 0.000000 272.000000 34 | v 240.000000 165.000000 272.000000 35 | v 82.000000 165.000000 225.000000 36 | v 82.000000 0.000000 225.000000 37 | vn 0.000000 -1.000000 0.000000 38 | v 290.000000 0.000000 114.000000 39 | v 240.000000 0.000000 272.000000 40 | v 82.000000 0.000000 225.000000 41 | v 130.000000 0.000000 65.000000 42 | # 24 vertices, 6 vertices normals 43 | 44 | f 1//1 2//1 3//1 45 | f 1//1 3//1 4//1 46 | f 5//2 6//2 7//2 47 | f 5//2 7//2 8//2 48 | f 9//3 10//3 11//3 49 | f 9//3 11//3 12//3 50 | f 13//4 14//4 15//4 51 | f 13//4 15//4 16//4 52 | f 17//5 18//5 19//5 53 | f 17//5 19//5 20//5 54 | f 21//6 22//6 23//6 55 | f 21//6 23//6 24//6 56 | # 12 faces, 0 coords texture 57 | 58 | # End of File -------------------------------------------------------------------------------- /src/data/data.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/data/data.rar -------------------------------------------------------------------------------- /src/data/hyperion.scene: -------------------------------------------------------------------------------- 1 | properties 2 | { 3 | width 1280 4 | height 720 5 | } 6 | 7 | material orangish 8 | { 9 | color 1.0 0.186 0.0 10 | roughness 0.035 11 | specular 0.5 12 | clearcoat 1.0 13 | clearcoatGloss 0.93 14 | } 15 | 16 | material glass 17 | { 18 | color 1.0 1.0 1.0 19 | brdf 1 20 | } 21 | 22 | material silver 23 | { 24 | color 0.9 0.9 0.9 25 | specular 0.5 26 | roughness 0.01 27 | metallic 1.0 28 | } 29 | 30 | material ring_silver 31 | { 32 | color 1.0 1.0 1.0 33 | roughness 0.01 34 | specular 0.5 35 | metallic 1.0 36 | } 37 | 38 | material cream 39 | { 40 | color 1.0 0.94 0.8 41 | roughness 1.0 42 | specular 0.5 43 | } 44 | 45 | material ping 46 | { 47 | #color 1.0 1.0 1.0 48 | #roughness 0.8 49 | #subsurface 1.0 50 | #specular 0.5 51 | 52 | color 0.93 0.89 0.85 53 | specular 0.6 54 | roughness 0.2 55 | subsurface 0.4 56 | } 57 | 58 | material marb1 59 | { 60 | color 0.026 0.147 0.075 61 | roughness 0.077 62 | specular 0.5 63 | subsurface 1.0 64 | clearcoat 1.0 65 | clearcoatGloss 0.93 66 | } 67 | 68 | material marb2 69 | { 70 | color 0.099 0.24 0.134 71 | roughness 0.077 72 | specular 0.5 73 | subsurface 1.0 74 | clearcoat 1.0 75 | clearcoatGloss 0.93 76 | } 77 | 78 | mesh 79 | { 80 | file hyperion/glass.obj 81 | material glass 82 | } 83 | 84 | #mesh 85 | { 86 | file hyperion/dragon.obj 87 | # material glass 88 | } 89 | 90 | mesh 91 | { 92 | file hyperion/chrome.obj 93 | material silver 94 | } 95 | 96 | mesh 97 | { 98 | file hyperion/plate.obj 99 | material cream 100 | } 101 | 102 | mesh 103 | { 104 | file hyperion/floor.obj 105 | material cream 106 | } 107 | 108 | mesh 109 | { 110 | file hyperion/orange.obj 111 | material orangish 112 | } 113 | 114 | mesh 115 | { 116 | file hyperion/ring1.obj 117 | material ring_silver 118 | } 119 | 120 | mesh 121 | { 122 | file hyperion/ring2.obj 123 | material ring_silver 124 | } 125 | 126 | mesh 127 | { 128 | file hyperion/ring3.obj 129 | material ring_silver 130 | } 131 | 132 | mesh 133 | { 134 | file hyperion/marb1.obj 135 | material marb1 136 | } 137 | 138 | mesh 139 | { 140 | file hyperion/marb2.obj 141 | material marb2 142 | } 143 | 144 | mesh 145 | { 146 | file hyperion/pingpong.obj 147 | material ping 148 | } 149 | 150 | light 151 | { 152 | emission 80.0 80.0 80.0 153 | position 0 390.0 -439.0 154 | radius 60.0 155 | type Sphere 156 | } -------------------------------------------------------------------------------- /src/data/luggage.scene: -------------------------------------------------------------------------------- 1 | material checker 2 | { 3 | color 1.0 1.0 1.0 4 | albedoTex luggage/albedo.tga 5 | } 6 | 7 | mesh 8 | { 9 | file luggage/luggage.obj 10 | material checker 11 | } 12 | 13 | light 14 | { 15 | type Sphere 16 | position 100 100 100 17 | emission 1000 1000 1000 18 | radius 5 19 | } 20 | -------------------------------------------------------------------------------- /src/data/stormtrooper.scene: -------------------------------------------------------------------------------- 1 | properties 2 | { 3 | width 1280 4 | height 720 5 | } 6 | 7 | material white 8 | { 9 | color 1.0 1.0 1.0 10 | roughness 0.0 11 | specular 1.0 12 | metallic 0.4 13 | } 14 | 15 | material grey 16 | { 17 | color 0.17 0.17 0.17 18 | specular 0.0 19 | roughness 1.0 20 | } 21 | 22 | material black 23 | { 24 | color 0.0 0.0 0.0 25 | specular 0.0 26 | } 27 | 28 | 29 | mesh 30 | { 31 | file stormtrooper/box.obj 32 | material grey 33 | } 34 | 35 | mesh 36 | { 37 | file stormtrooper/frame.obj 38 | material black 39 | } 40 | 41 | mesh 42 | { 43 | file stormtrooper/helmets.obj 44 | material white 45 | } 46 | 47 | light 48 | { 49 | position 1.225934 2.998622 4.573376 50 | v1 -1.978162 2.998622 -0.324129 51 | v2 1.777686 2.998622 4.212403 52 | emission 0.11 2.18 3.2 53 | type Quad 54 | } 55 | 56 | light 57 | { 58 | position -2.298571 2.998622 -0.813879 59 | v1 -4.950915 2.998622 -6.072357 60 | v2 -1.746819 2.998622 -1.174852 61 | emission 0.11 2.18 3.2 62 | type Quad 63 | } 64 | 65 | light 66 | { 67 | position -5.823077 2.998622 -6.201134 68 | v1 -8.475420 2.998622 -11.459612 69 | v2 -5.271325 2.998622 -6.562108 70 | emission 0.11 2.18 3.2 71 | type Quad 72 | } 73 | -------------------------------------------------------------------------------- /src/data/tunnel.scene: -------------------------------------------------------------------------------- 1 | properties 2 | { 3 | width 500 4 | height 500 5 | } 6 | 7 | material white 8 | { 9 | color 1.0 1.0 1.0 10 | } 11 | 12 | mesh 13 | { 14 | file tunnel/tunnel.obj 15 | material white 16 | } 17 | 18 | #light 19 | { 20 | type Quad 21 | position -131.2839 0.5424 -169.2602 22 | u -131.2839 200.5424 -169.2602 23 | v -131.2839 0.5424 30.7398 24 | emission 12 11.6 6.0 25 | } 26 | 27 | light 28 | { 29 | type Sphere 30 | position 272 62 -351 31 | emission 5.5 10.9 20 32 | radius 10 33 | } 34 | 35 | light 36 | { 37 | type Sphere 38 | position -1000 500 -169.0 39 | emission 24000 22000 12000 40 | radius 10 41 | } 42 | 43 | -------------------------------------------------------------------------------- /src/device_include/README.txt: -------------------------------------------------------------------------------- 1 | This directory contains common headers for device or device/host functions. 2 | 3 | Common host code lives in ../sutil. 4 | 5 | Device .cu files should be placed directly in sample directories. 6 | 7 | -------------------------------------------------------------------------------- /src/device_include/commonStructs.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * * Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * * Redistributions in binary form must reproduce the above copyright 10 | * notice, this list of conditions and the following disclaimer in the 11 | * documentation and/or other materials provided with the distribution. 12 | * * Neither the name of NVIDIA CORPORATION nor the names of its 13 | * contributors may be used to endorse or promote products derived 14 | * from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #pragma once 30 | 31 | #include 32 | 33 | struct BasicLight 34 | { 35 | #if defined(__cplusplus) 36 | typedef optix::float3 float3; 37 | #endif 38 | float3 pos; 39 | float3 color; 40 | int casts_shadow; 41 | }; 42 | 43 | struct DirectionalLight 44 | { 45 | #if defined(__cplusplus) 46 | typedef optix::float3 float3; 47 | #endif 48 | float3 direction; 49 | float radius; 50 | float3 v0; // basis vectors for area sampling 51 | float3 v1; 52 | float3 color; 53 | int casts_shadow; 54 | }; 55 | 56 | 57 | -------------------------------------------------------------------------------- /src/optixPathTracer/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. 3 | # 4 | # Redistribution and use in source and binary forms, with or without 5 | # modification, are permitted provided that the following conditions 6 | # are met: 7 | # * Redistributions of source code must retain the above copyright 8 | # notice, this list of conditions and the following disclaimer. 9 | # * Redistributions in binary form must reproduce the above copyright 10 | # notice, this list of conditions and the following disclaimer in the 11 | # documentation and/or other materials provided with the distribution. 12 | # * Neither the name of NVIDIA CORPORATION nor the names of its 13 | # contributors may be used to endorse or promote products derived 14 | # from this software without specific prior written permission. 15 | # 16 | # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | # EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | # PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | # OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | # 28 | 29 | include_directories(${SAMPLES_INCLUDE_DIR}) 30 | include_directories(${IL_INCLUDE_DIR}) 31 | 32 | # See top level CMakeLists.txt file for documentation of OPTIX_add_sample_executable. 33 | OPTIX_add_sample_executable( optixPathTracer 34 | optixPathTracer.cpp 35 | sceneLoader.cpp 36 | Picture.cpp 37 | Texture.cpp 38 | sceneLoader.h 39 | material_parameters.h 40 | properties.h 41 | light_parameters.h 42 | state.h 43 | prd.h 44 | rt_function.h 45 | MyAssert.h 46 | Picture.h 47 | Texture.h 48 | 49 | path_trace_camera.cu 50 | quad_intersect.cu 51 | disney.cu 52 | lambert.cu 53 | glass.cu 54 | hit_program.cu 55 | light_hit_program.cu 56 | light_sample.cu 57 | background.cu 58 | triangle_mesh.cu 59 | sphere_intersect.cu 60 | 61 | # common headers 62 | ${SAMPLES_INCLUDE_DIR}/commonStructs.h 63 | ${SAMPLES_INCLUDE_DIR}/helpers.h 64 | ${SAMPLES_INCLUDE_DIR}/random.h 65 | ) 66 | 67 | -------------------------------------------------------------------------------- /src/optixPathTracer/MyAssert.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013-2018, NVIDIA CORPORATION. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * * Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * * Redistributions in binary form must reproduce the above copyright 10 | * notice, this list of conditions and the following disclaimer in the 11 | * documentation and/or other materials provided with the distribution. 12 | * * Neither the name of NVIDIA CORPORATION nor the names of its 13 | * contributors may be used to endorse or promote products derived 14 | * from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #pragma once 30 | 31 | #ifndef MY_ASSERT_H 32 | #define MY_ASSERT_H 33 | 34 | #undef MY_ASSERT 35 | 36 | #if !defined(NDEBUG) 37 | #if defined(_WIN32) // Windows 32/64-bit 38 | #include 39 | #define DBGBREAK() DebugBreak(); 40 | #else 41 | #define DBGBREAK() __builtin_trap(); 42 | #endif 43 | #define MY_ASSERT(expr) if (!(expr)) DBGBREAK() 44 | #else 45 | #define MY_ASSERT(expr) 46 | #endif 47 | 48 | #endif // MY_ASSERT_H 49 | -------------------------------------------------------------------------------- /src/optixPathTracer/lambert.cu: -------------------------------------------------------------------------------- 1 | /* 2 | Copyright Disney Enterprises, Inc. All rights reserved. 3 | 4 | Licensed under the Apache License, Version 2.0 (the "License"); 5 | you may not use this file except in compliance with the License 6 | and the following modification to it: Section 6 Trademarks. 7 | deleted and replaced with: 8 | 9 | 6. Trademarks. This License does not grant permission to use the 10 | trade names, trademarks, service marks, or product names of the 11 | Licensor and its affiliates, except as required for reproducing 12 | the content of the NOTICE file. 13 | 14 | You may obtain a copy of the License at 15 | http://www.apache.org/licenses/LICENSE-2.0 16 | */ 17 | 18 | #include 19 | #include 20 | #include 21 | #include "helpers.h" 22 | #include "prd.h" 23 | #include "random.h" 24 | #include "rt_function.h" 25 | #include "material_parameters.h" 26 | #include "state.h" 27 | 28 | using namespace optix; 29 | 30 | 31 | RT_CALLABLE_PROGRAM void Pdf(MaterialParameter &mat, State &state, PerRayData_radiance &prd) 32 | { 33 | float3 n = state.ffnormal; 34 | float3 L = prd.bsdfDir; 35 | 36 | float pdfDiff = abs(dot(L, n))* (1.0f / M_PIf); 37 | 38 | prd.pdf = pdfDiff; 39 | 40 | } 41 | 42 | RT_CALLABLE_PROGRAM void Sample(MaterialParameter &mat, State &state, PerRayData_radiance &prd) 43 | { 44 | float3 N = state.ffnormal; 45 | prd.origin = state.fhp; 46 | 47 | float3 dir; 48 | 49 | float r1 = rnd(prd.seed); 50 | float r2 = rnd(prd.seed); 51 | 52 | optix::Onb onb( N ); 53 | 54 | cosine_sample_hemisphere(r1, r2, dir); 55 | onb.inverse_transform(dir); 56 | 57 | prd.bsdfDir = dir; 58 | } 59 | 60 | 61 | RT_CALLABLE_PROGRAM float3 Eval(MaterialParameter &mat, State &state, PerRayData_radiance &prd) 62 | { 63 | float3 N = state.ffnormal; 64 | float3 V = prd.wo; 65 | float3 L = prd.bsdfDir; 66 | 67 | float NDotL = dot(N, L); 68 | float NDotV = dot(N, V); 69 | if (NDotL <= 0.0f || NDotV <= 0.0f) return make_float3(0.0f); 70 | 71 | float3 out = (1.0f / M_PIf) * mat.color; 72 | 73 | return out * clamp(dot(N, L), 0.0f, 1.0f); 74 | } 75 | -------------------------------------------------------------------------------- /src/optixPathTracer/light_parameters.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef LIGHT_PARAMETER_H 4 | #define LIGHT_PARAMETER_H 5 | 6 | #include"rt_function.h" 7 | 8 | enum LightType 9 | { 10 | SPHERE, QUAD 11 | }; 12 | 13 | struct LightParameter 14 | { 15 | optix::float3 position; 16 | optix::float3 normal; 17 | optix::float3 emission; 18 | optix::float3 u; 19 | optix::float3 v; 20 | float area; 21 | float radius; 22 | LightType lightType; 23 | }; 24 | 25 | struct LightSample 26 | { 27 | optix::float3 surfacePos; 28 | optix::float3 normal; 29 | optix::float3 emission; 30 | float pdf; 31 | 32 | }; 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /src/optixPathTracer/material_parameters.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef MATERIAL_PARAMETER_H 4 | #define MATERIAL_PARAMETER_H 5 | 6 | #include"rt_function.h" 7 | 8 | enum BrdfType 9 | { 10 | DISNEY, GLASS 11 | }; 12 | 13 | struct MaterialParameter 14 | { 15 | RT_FUNCTION MaterialParameter() 16 | { 17 | color = optix::make_float3(1.0f, 1.0f, 1.0f); 18 | emission = optix::make_float3(0.0f); 19 | metallic = 0.0; 20 | subsurface = 0.0f; 21 | specular = 0.5f; 22 | roughness = 0.5f; 23 | specularTint = 0.0f; 24 | anisotropic = 0.0f; 25 | sheen = 0.0f; 26 | sheenTint = 0.5f; 27 | clearcoat = 0.0f; 28 | clearcoatGloss = 1.0f; 29 | brdf = DISNEY; 30 | albedoID = RT_TEXTURE_ID_NULL; 31 | } 32 | 33 | int albedoID; 34 | optix::float3 color; 35 | optix::float3 emission; 36 | float metallic; 37 | float subsurface; 38 | float specular; 39 | float roughness; 40 | float specularTint; 41 | float anisotropic; 42 | float sheen; 43 | float sheenTint; 44 | float clearcoat; 45 | float clearcoatGloss; 46 | BrdfType brdf; 47 | }; 48 | 49 | #endif 50 | -------------------------------------------------------------------------------- /src/optixPathTracer/old/disneyMaterial.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | struct DisneyMaterial 6 | { 7 | DisneyMaterial() 8 | { 9 | color = optix::make_float3(0.0f, 0.0f, 0.0f); 10 | emission = optix::make_float3(0.0f); 11 | metallic = 0.0; 12 | subsurface = 0.0f; 13 | specular = 0.5f; 14 | roughness = 0.5f; 15 | specularTint = 0.0f; 16 | anisotropic = 0.0f; 17 | sheen = 0.0f; 18 | sheenTint = 0.5f; 19 | clearcoat = 0.0f; 20 | clearcoatGloss = 1.0f; 21 | } 22 | 23 | optix::float3 color; 24 | optix::float3 emission; 25 | float metallic; 26 | float subsurface; 27 | float specular; 28 | float roughness; 29 | float specularTint; 30 | float anisotropic; 31 | float sheen; 32 | float sheenTint; 33 | float clearcoat; 34 | float clearcoatGloss; 35 | }; 36 | -------------------------------------------------------------------------------- /src/optixPathTracer/old/optixGlass-dragon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/optixPathTracer/old/optixGlass-dragon.png -------------------------------------------------------------------------------- /src/optixPathTracer/old/optixGlass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/optixPathTracer/old/optixGlass.png -------------------------------------------------------------------------------- /src/optixPathTracer/old/thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/optixPathTracer/old/thumb.png -------------------------------------------------------------------------------- /src/optixPathTracer/prd.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * * Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * * Redistributions in binary form must reproduce the above copyright 10 | * notice, this list of conditions and the following disclaimer in the 11 | * documentation and/or other materials provided with the distribution. 12 | * * Neither the name of NVIDIA CORPORATION nor the names of its 13 | * contributors may be used to endorse or promote products derived 14 | * from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #pragma once 30 | 31 | #include 32 | 33 | struct PerRayData_radiance 34 | { 35 | int depth; 36 | unsigned int seed; 37 | 38 | // shading state 39 | bool done; 40 | bool inShadow; 41 | bool specularBounce; 42 | float3 radiance; 43 | float3 origin; 44 | float3 bsdfDir; 45 | float3 wo; 46 | float3 throughput; 47 | float pdf; 48 | }; 49 | 50 | struct PerRayData_shadow 51 | { 52 | bool inShadow; 53 | }; 54 | 55 | 56 | -------------------------------------------------------------------------------- /src/optixPathTracer/properties.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef PROPERTIES_H 4 | #define PROPERTIES_H 5 | 6 | 7 | struct Properties 8 | { 9 | int width; 10 | int height; 11 | }; 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /src/optixPathTracer/rt_function.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2013-2018, NVIDIA CORPORATION. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * * Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * * Redistributions in binary form must reproduce the above copyright 10 | * notice, this list of conditions and the following disclaimer in the 11 | * documentation and/or other materials provided with the distribution. 12 | * * Neither the name of NVIDIA CORPORATION nor the names of its 13 | * contributors may be used to endorse or promote products derived 14 | * from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #pragma once 30 | 31 | #ifndef RT_FUNCTION_H 32 | #define RT_FUNCTION_H 33 | 34 | #ifndef RT_FUNCTION 35 | #define RT_FUNCTION __forceinline__ __device__ 36 | #endif 37 | 38 | #endif // RT_FUNCTION_H 39 | -------------------------------------------------------------------------------- /src/optixPathTracer/sceneLoader.h: -------------------------------------------------------------------------------- 1 | /*Copyright (c) 2016 Miles Macklin 2 | 3 | This software is provided 'as-is', without any express or implied 4 | warranty. In no event will the authors be held liable for any damages 5 | arising from the use of this software. 6 | 7 | Permission is granted to anyone to use this software for any purpose, 8 | including commercial applications, and to alter it and redistribute it 9 | freely, subject to the following restrictions: 10 | 11 | 1. The origin of this software must not be misrepresented; you must not 12 | claim that you wrote the original software. If you use this software 13 | in a product, an acknowledgement in the product documentation would be 14 | appreciated but is not required. 15 | 2. Altered source versions must be plainly marked as such, and must not be 16 | misrepresented as being the original software. 17 | 3. This notice may not be removed or altered from any source distribution.*/ 18 | 19 | #pragma once 20 | 21 | #include 22 | 23 | #include 24 | #include 25 | #include 26 | #include 27 | #include 28 | #include 29 | 30 | #include 31 | #include "commonStructs.h" 32 | #include "material_parameters.h" 33 | #include "properties.h" 34 | #include "light_parameters.h" 35 | #include "Picture.h" 36 | #include "Texture.h" 37 | 38 | #include 39 | #include 40 | #include 41 | #include 42 | 43 | 44 | struct Scene 45 | { 46 | Scene() {}; 47 | std::vector mesh_names; 48 | std::vector transforms; 49 | std::vector materials; 50 | std::vector lights; 51 | std::vector textures; 52 | std::map texture_map; 53 | Properties properties; 54 | }; 55 | 56 | Scene* LoadScene(const char* filename); -------------------------------------------------------------------------------- /src/optixPathTracer/state.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifndef STATE_H 4 | #define STATE_H 5 | 6 | #include "material_parameters.h" 7 | #include "prd.h" 8 | 9 | struct State 10 | { 11 | optix::float3 fhp; 12 | optix::float3 bhp; 13 | optix::float3 normal; 14 | optix::float3 ffnormal; 15 | }; 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /src/sampleConfig.h.in: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * * Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * * Redistributions in binary form must reproduce the above copyright 10 | * notice, this list of conditions and the following disclaimer in the 11 | * documentation and/or other materials provided with the distribution. 12 | * * Neither the name of NVIDIA CORPORATION nor the names of its 13 | * contributors may be used to endorse or promote products derived 14 | * from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #define SAMPLES_DIR "@SAMPLES_DIR@" 30 | #define SAMPLES_PTX_DIR "@SAMPLES_PTX_DIR@" 31 | -------------------------------------------------------------------------------- /src/support/DevIL/include/IL/DevIL.i: -------------------------------------------------------------------------------- 1 | %module DevIL 2 | %{ 3 | #include "il.h" 4 | #include "ilu.h" 5 | #include "ilut.h" 6 | //#include "ilu_region.h" 7 | %} 8 | 9 | %include "il.h" 10 | %include "ilu.h" 11 | %include "ilut.h" 12 | //%include "ilu_region.h" 13 | 14 | -------------------------------------------------------------------------------- /src/support/DevIL/include/IL/build-lua: -------------------------------------------------------------------------------- 1 | IL_INCLUDE_PATH="/usr/include" 2 | IL_LIB_PATH="/usr/lib" 3 | LUA_INCLUDE_PATH="/usr/include/lua5.1" 4 | LUA_LIB_PATH="/usr/lib" 5 | OSX=no 6 | 7 | echo "Building the lua binding!" 8 | 9 | export SWIG_FEATURES="-I$IL_INCLUDE_PATH" 10 | swig -lua DevIL.i 11 | if [ $? -ne 0 ] ; then 12 | echo "swig Failed to build the lua interface" 13 | exit 1 14 | fi 15 | 16 | compile() { 17 | gcc luadevil.c "$1" -o luadevil "-L$LUA_LIB_PATH" "-I$LUA_INCLUDE_PATH" "-I$IL_LIB_PATH" -lIL -lILU -lILUT -llua5.1 &>/dev/null 18 | err=$? 19 | if [ "$OSX" = "no" ] ; then 20 | gcc -shared "$1" -o DevIL.so "-L$LUA_LIB_PATH" "-I$LUA_INCLUDE_PATH" "-I$IL_LIB_PATH" -lIL -lILU -lILUT &>/dev/null 21 | else 22 | gcc -bundle -undefined dynamic_lookup "$1" -o DevIL.so "-L$LUA_LIB_PATH" "-I$LUA_INCLUDE_PATH" "-I$IL_LIB_PATH" -lIL -lILU -lILUT &>/dev/null 23 | fi 24 | return $err 25 | } 26 | 27 | compile DevIL_wrap.c 28 | if [ $? -ne 0 ] ; then 29 | echo 'Failed compilation' 30 | echo 'On some platform the file malloc.h is not present and produces a compilation error' 31 | echo -n 'it can be removed safely, try [y/n] ? ' 32 | while read i ; do 33 | if [ "$i" = "y" ] ; then 34 | sed 's/\#include\ \//' < DevIL_wrap.c > DevIL_wrap.mod.c 35 | compile "DevIL_wrap.mod.c" 36 | if [ $? -ne 0 ] ; then 37 | echo 'still failing...' 38 | exit 2 39 | fi 40 | exit 0 41 | elif [ "$i" = "n" ] ; then 42 | echo 'ok, failing...' 43 | exit 3 44 | else 45 | echo 'Unknown command [y/n] ? ' 46 | fi 47 | done 48 | fi 49 | 50 | echo "ok!" 51 | exit 0 52 | -------------------------------------------------------------------------------- /src/support/DevIL/include/IL/build-python: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | IL_INCLUDE_PATH="/usr/local/include" 4 | IL_LIB_PATH="/usr/local/lib" 5 | PYTHON_INCLUDE_PATH="/usr/include/python2.5" 6 | 7 | swig "-I$IL_INCLUDE_PATH" -python -interface DevIL DevIL.i 8 | if [ $? -ne 0 ] ; then 9 | echo Error while building the swig interface 10 | exit 1 11 | fi 12 | 13 | gcc -shared "-I$IL_INCLUDE_PATH" "-I$PYTHON_INCLUDE_PATH" "-L$IL_LIB_PATH" -lIL -lILU -lILUT DevIL_wrap.c -o DevIL.so 14 | if [ $? -ne 0 ] ; then 15 | echo Error while compiling the python module 16 | fi 17 | echo "DevIL.py and DevIL.so are ready" 18 | -------------------------------------------------------------------------------- /src/support/DevIL/include/IL/config.h.win: -------------------------------------------------------------------------------- 1 | #ifndef __CONFIG_H__ 2 | #define __CONFIG_H__ 3 | 4 | #define IL_USE_PRAGMA_LIBS // Links to only the libraries that are requested. 5 | #define IL_INLINE_ASM 1 // Define if you can support at least some ASM 6 | 7 | // Supported images formats (IL) 8 | 9 | // #define IL_NO_BLP 10 | // #define IL_NO_BMP 11 | // #define IL_NO_CUT 12 | // #define IL_NO_CHEAD 13 | // #define IL_NO_DCX 14 | // #define IL_NO_DDS 15 | // #define IL_NO_DICOM 16 | // #define IL_NO_DOOM 17 | // #define IL_NO_EXR 18 | // #define IL_NO_FITS 19 | // #define IL_NO_FTX 20 | // #define IL_NO_GIF 21 | // #define IL_NO_HDR 22 | // #define IL_NO_ICO 23 | // #define IL_NO_ICNS 24 | // #define IL_NO_IWI 25 | // #define IL_NO_JP2 26 | // #define IL_NO_JPG 27 | // #define IL_NO_LCMS 28 | // #define IL_NO_LIF 29 | // #define IL_NO_MDL 30 | // #define IL_NO_MNG 31 | // #define IL_NO_PCD 32 | // #define IL_NO_PCX 33 | // #define IL_NO_PIC 34 | // #define IL_NO_PIX 35 | // #define IL_NO_PNG 36 | // #define IL_NO_PNM 37 | // #define IL_NO_PSD 38 | // #define IL_NO_PSP 39 | // #define IL_NO_PXR 40 | // #define IL_NO_RAW 41 | // #define IL_NO_ROT 42 | // #define IL_NO_SGI 43 | // #define IL_NO_SUN 44 | // #define IL_NO_TGA 45 | // #define IL_NO_TIF 46 | // #define IL_NO_TPL 47 | // #define IL_NO_WAL 48 | // #define IL_NO_WDP 49 | // #define IL_NO_XPM 50 | 51 | #define IL_USE_JPEGLIB_UNMODIFIED 1 52 | #define IL_USE_DXTC_NVIDIA 53 | #define IL_USE_DXTC_SQUISH 54 | 55 | //#define IL_NO_GAMES 56 | 57 | /* Supported api (ilut) */ 58 | 59 | 60 | // 61 | // sorry just 62 | // cant get this one to work under windows 63 | // have disabled for the now 64 | // 65 | // will look at it some more later 66 | // 67 | // Kriss 68 | // 69 | #undef ILUT_USE_ALLEGRO 70 | 71 | #undef ILUT_USE_DIRECTX8 72 | #define ILUT_USE_DIRECTX9 73 | #define ILUT_USE_DIRECTX10 74 | #define ILUT_USE_OPENGL 75 | #define ILUT_USE_SDL 76 | #define ILUT_USE_WIN32 77 | 78 | 79 | #endif /* __CONFIG_H__ */ 80 | -------------------------------------------------------------------------------- /src/support/DevIL/include/IL/ilu_region.h: -------------------------------------------------------------------------------- 1 | //----------------------------------------------------------------------------- 2 | // 3 | // ImageLib Utility Sources 4 | // Copyright (C) 2000-2002 by Denton Woods 5 | // Last modified: 07/09/2002 <--Y2K Compliant! =] 6 | // 7 | // Filename: src-ILU/src/ilu_region.h 8 | // 9 | // Description: Creates an image region. 10 | // 11 | //----------------------------------------------------------------------------- 12 | 13 | #ifndef ILU_REGION_H 14 | #define ILU_REGION_H 15 | 16 | typedef struct Edge 17 | { 18 | ILint yUpper; 19 | ILfloat xIntersect, dxPerScan; 20 | struct Edge *next; 21 | } Edge; 22 | 23 | 24 | #endif//ILU_REGION_H 25 | 26 | -------------------------------------------------------------------------------- /src/support/DevIL/include/IL/ilut_config.h: -------------------------------------------------------------------------------- 1 | #ifndef __ILUT_CONFIG_H__ 2 | #define __ILUT_CONFIG_H__ 3 | 4 | //#define IL_USE_PRAGMA_LIBS 5 | 6 | // Supported APIs (ILUT) 7 | 8 | // 9 | // sorry just 10 | // cant get this one to work under windows 11 | // have disabled for the now 12 | // 13 | // will look at it some more later 14 | // 15 | // Kriss 16 | // 17 | #undef ILUT_USE_ALLEGRO 18 | 19 | #undef ILUT_USE_DIRECTX8 20 | //#define ILUT_USE_DIRECTX9 21 | //#define ILUT_USE_DIRECTX10 22 | #define ILUT_USE_OPENGL 23 | //#define ILUT_USE_SDL 24 | #define ILUT_USE_WIN32 25 | 26 | #endif//__ILUT_CONFIG_H__ 27 | -------------------------------------------------------------------------------- /src/support/DevIL/include/IL/stamp-h.in: -------------------------------------------------------------------------------- 1 | timestamp 2 | -------------------------------------------------------------------------------- /src/support/DevIL/lib/x64/Release/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x64/Release/DevIL.dll -------------------------------------------------------------------------------- /src/support/DevIL/lib/x64/Release/DevIL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x64/Release/DevIL.lib -------------------------------------------------------------------------------- /src/support/DevIL/lib/x64/Release/ILU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x64/Release/ILU.dll -------------------------------------------------------------------------------- /src/support/DevIL/lib/x64/Release/ILU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x64/Release/ILU.lib -------------------------------------------------------------------------------- /src/support/DevIL/lib/x64/Release/ILUT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x64/Release/ILUT.dll -------------------------------------------------------------------------------- /src/support/DevIL/lib/x64/Release/ILUT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x64/Release/ILUT.lib -------------------------------------------------------------------------------- /src/support/DevIL/lib/x64/unicode/Release/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x64/unicode/Release/DevIL.dll -------------------------------------------------------------------------------- /src/support/DevIL/lib/x64/unicode/Release/DevIL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x64/unicode/Release/DevIL.lib -------------------------------------------------------------------------------- /src/support/DevIL/lib/x64/unicode/Release/ILU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x64/unicode/Release/ILU.dll -------------------------------------------------------------------------------- /src/support/DevIL/lib/x64/unicode/Release/ILU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x64/unicode/Release/ILU.lib -------------------------------------------------------------------------------- /src/support/DevIL/lib/x64/unicode/Release/ILUT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x64/unicode/Release/ILUT.dll -------------------------------------------------------------------------------- /src/support/DevIL/lib/x64/unicode/Release/ILUT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x64/unicode/Release/ILUT.lib -------------------------------------------------------------------------------- /src/support/DevIL/lib/x86/Release/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x86/Release/DevIL.dll -------------------------------------------------------------------------------- /src/support/DevIL/lib/x86/Release/DevIL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x86/Release/DevIL.lib -------------------------------------------------------------------------------- /src/support/DevIL/lib/x86/Release/ILU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x86/Release/ILU.dll -------------------------------------------------------------------------------- /src/support/DevIL/lib/x86/Release/ILU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x86/Release/ILU.lib -------------------------------------------------------------------------------- /src/support/DevIL/lib/x86/Release/ILUT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x86/Release/ILUT.dll -------------------------------------------------------------------------------- /src/support/DevIL/lib/x86/Release/ILUT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x86/Release/ILUT.lib -------------------------------------------------------------------------------- /src/support/DevIL/lib/x86/unicode/Release/DevIL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x86/unicode/Release/DevIL.dll -------------------------------------------------------------------------------- /src/support/DevIL/lib/x86/unicode/Release/DevIL.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x86/unicode/Release/DevIL.lib -------------------------------------------------------------------------------- /src/support/DevIL/lib/x86/unicode/Release/ILU.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x86/unicode/Release/ILU.dll -------------------------------------------------------------------------------- /src/support/DevIL/lib/x86/unicode/Release/ILU.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x86/unicode/Release/ILU.lib -------------------------------------------------------------------------------- /src/support/DevIL/lib/x86/unicode/Release/ILUT.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x86/unicode/Release/ILUT.dll -------------------------------------------------------------------------------- /src/support/DevIL/lib/x86/unicode/Release/ILUT.lib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/DevIL/lib/x86/unicode/Release/ILUT.lib -------------------------------------------------------------------------------- /src/support/glfw/.appveyor.yml: -------------------------------------------------------------------------------- 1 | branches: 2 | only: 3 | - ci 4 | - master 5 | skip_tags: true 6 | environment: 7 | matrix: 8 | - BUILD_SHARED_LIBS: ON 9 | - BUILD_SHARED_LIBS: OFF 10 | matrix: 11 | fast_finish: true 12 | build_script: 13 | - mkdir build 14 | - cd build 15 | - cmake -DBUILD_SHARED_LIBS=%BUILD_SHARED_LIBS% .. 16 | - cmake --build . 17 | notifications: 18 | - provider: Email 19 | to: 20 | - ci@glfw.org 21 | - on_build_failure: true 22 | - on_build_success: false 23 | -------------------------------------------------------------------------------- /src/support/glfw/.travis.yml: -------------------------------------------------------------------------------- 1 | language: c 2 | compiler: clang 3 | branches: 4 | only: 5 | - ci 6 | - master 7 | os: 8 | - linux 9 | - osx 10 | sudo: false 11 | addons: 12 | apt: 13 | sources: 14 | - kubuntu-backports 15 | packages: 16 | - cmake 17 | env: 18 | - BUILD_SHARED_LIBS=ON 19 | - BUILD_SHARED_LIBS=OFF 20 | script: 21 | - mkdir build 22 | - cd build 23 | - cmake -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} .. 24 | - cmake --build . 25 | notifications: 26 | email: 27 | recipients: 28 | - ci@glfw.org 29 | on_success: never 30 | on_failure: always 31 | -------------------------------------------------------------------------------- /src/support/glfw/CMake/MacOSXBundleInfo.plist.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ${MACOSX_BUNDLE_EXECUTABLE_NAME} 9 | CFBundleGetInfoString 10 | ${MACOSX_BUNDLE_INFO_STRING} 11 | CFBundleIconFile 12 | ${MACOSX_BUNDLE_ICON_FILE} 13 | CFBundleIdentifier 14 | ${MACOSX_BUNDLE_GUI_IDENTIFIER} 15 | CFBundleInfoDictionaryVersion 16 | 6.0 17 | CFBundleLongVersionString 18 | ${MACOSX_BUNDLE_LONG_VERSION_STRING} 19 | CFBundleName 20 | ${MACOSX_BUNDLE_BUNDLE_NAME} 21 | CFBundlePackageType 22 | APPL 23 | CFBundleShortVersionString 24 | ${MACOSX_BUNDLE_SHORT_VERSION_STRING} 25 | CFBundleSignature 26 | ???? 27 | CFBundleVersion 28 | ${MACOSX_BUNDLE_BUNDLE_VERSION} 29 | CSResourcesFileMapped 30 | 31 | LSRequiresCarbon 32 | 33 | NSHumanReadableCopyright 34 | ${MACOSX_BUNDLE_COPYRIGHT} 35 | NSHighResolutionCapable 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /src/support/glfw/CMake/amd64-mingw32msvc.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross compiling from Linux to Win64 2 | SET(CMAKE_SYSTEM_NAME Windows) 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "amd64-mingw32msvc-gcc") 5 | SET(CMAKE_CXX_COMPILER "amd64-mingw32msvc-g++") 6 | SET(CMAKE_RC_COMPILER "amd64-mingw32msvc-windres") 7 | SET(CMAKE_RANLIB "amd64-mingw32msvc-ranlib") 8 | 9 | # Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/usr/amd64-mingw32msvc") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /src/support/glfw/CMake/i586-mingw32msvc.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross compiling from Linux to Win32 2 | SET(CMAKE_SYSTEM_NAME Windows) 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "i586-mingw32msvc-gcc") 5 | SET(CMAKE_CXX_COMPILER "i586-mingw32msvc-g++") 6 | SET(CMAKE_RC_COMPILER "i586-mingw32msvc-windres") 7 | SET(CMAKE_RANLIB "i586-mingw32msvc-ranlib") 8 | 9 | # Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/usr/i586-mingw32msvc") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /src/support/glfw/CMake/i686-pc-mingw32.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross compiling from Linux to Win32 2 | SET(CMAKE_SYSTEM_NAME Windows) # Target system name 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "i686-pc-mingw32-gcc") 5 | SET(CMAKE_CXX_COMPILER "i686-pc-mingw32-g++") 6 | SET(CMAKE_RC_COMPILER "i686-pc-mingw32-windres") 7 | SET(CMAKE_RANLIB "i686-pc-mingw32-ranlib") 8 | 9 | #Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/opt/mingw/usr/i686-pc-mingw32") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /src/support/glfw/CMake/i686-w64-mingw32.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross compiling from Linux to Win32 2 | SET(CMAKE_SYSTEM_NAME Windows) # Target system name 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "i686-w64-mingw32-gcc") 5 | SET(CMAKE_CXX_COMPILER "i686-w64-mingw32-g++") 6 | SET(CMAKE_RC_COMPILER "i686-w64-mingw32-windres") 7 | SET(CMAKE_RANLIB "i686-w64-mingw32-ranlib") 8 | 9 | # Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/usr/i686-w64-mingw32") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /src/support/glfw/CMake/modules/FindMir.cmake: -------------------------------------------------------------------------------- 1 | # Try to find Mir on a Unix system 2 | # 3 | # This will define: 4 | # 5 | # MIR_LIBRARIES - Link these to use Wayland 6 | # MIR_INCLUDE_DIR - Include directory for Wayland 7 | # 8 | # Copyright (c) 2014 Brandon Schaefer 9 | 10 | if (NOT WIN32) 11 | 12 | find_package (PkgConfig) 13 | pkg_check_modules (PKG_MIR QUIET mirclient) 14 | 15 | set (MIR_INCLUDE_DIR ${PKG_MIR_INCLUDE_DIRS}) 16 | set (MIR_LIBRARIES ${PKG_MIR_LIBRARIES}) 17 | 18 | endif () 19 | -------------------------------------------------------------------------------- /src/support/glfw/CMake/modules/FindVulkan.cmake: -------------------------------------------------------------------------------- 1 | # Find Vulkan 2 | # 3 | # VULKAN_INCLUDE_DIR 4 | # VULKAN_LIBRARY 5 | # VULKAN_FOUND 6 | 7 | if (WIN32) 8 | find_path(VULKAN_INCLUDE_DIR NAMES vulkan/vulkan.h HINTS 9 | "$ENV{VULKAN_SDK}/Include" 10 | "$ENV{VK_SDK_PATH}/Include") 11 | if (CMAKE_CL_64) 12 | find_library(VULKAN_LIBRARY NAMES vulkan-1 HINTS 13 | "$ENV{VULKAN_SDK}/Bin" 14 | "$ENV{VK_SDK_PATH}/Bin") 15 | find_library(VULKAN_STATIC_LIBRARY NAMES vkstatic.1 HINTS 16 | "$ENV{VULKAN_SDK}/Bin" 17 | "$ENV{VK_SDK_PATH}/Bin") 18 | else() 19 | find_library(VULKAN_LIBRARY NAMES vulkan-1 HINTS 20 | "$ENV{VULKAN_SDK}/Bin32" 21 | "$ENV{VK_SDK_PATH}/Bin32") 22 | endif() 23 | else() 24 | find_path(VULKAN_INCLUDE_DIR NAMES vulkan/vulkan.h HINTS 25 | "$ENV{VULKAN_SDK}/include") 26 | find_library(VULKAN_LIBRARY NAMES vulkan HINTS 27 | "$ENV{VULKAN_SDK}/lib") 28 | endif() 29 | 30 | include(FindPackageHandleStandardArgs) 31 | find_package_handle_standard_args(Vulkan DEFAULT_MSG VULKAN_LIBRARY VULKAN_INCLUDE_DIR) 32 | 33 | mark_as_advanced(VULKAN_INCLUDE_DIR VULKAN_LIBRARY VULKAN_STATIC_LIBRARY) 34 | 35 | -------------------------------------------------------------------------------- /src/support/glfw/CMake/modules/FindWaylandProtocols.cmake: -------------------------------------------------------------------------------- 1 | find_package(PkgConfig) 2 | 3 | pkg_check_modules(WaylandProtocols QUIET wayland-protocols>=${WaylandProtocols_FIND_VERSION}) 4 | 5 | execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=pkgdatadir wayland-protocols 6 | OUTPUT_VARIABLE WaylandProtocols_PKGDATADIR 7 | RESULT_VARIABLE _pkgconfig_failed) 8 | if (_pkgconfig_failed) 9 | message(FATAL_ERROR "Missing wayland-protocols pkgdatadir") 10 | endif() 11 | 12 | string(REGEX REPLACE "[\r\n]" "" WaylandProtocols_PKGDATADIR "${WaylandProtocols_PKGDATADIR}") 13 | 14 | find_package_handle_standard_args(WaylandProtocols 15 | FOUND_VAR 16 | WaylandProtocols_FOUND 17 | REQUIRED_VARS 18 | WaylandProtocols_PKGDATADIR 19 | VERSION_VAR 20 | WaylandProtocols_VERSION 21 | HANDLE_COMPONENTS 22 | ) 23 | 24 | set(WAYLAND_PROTOCOLS_FOUND ${WaylandProtocols_FOUND}) 25 | set(WAYLAND_PROTOCOLS_PKGDATADIR ${WaylandProtocols_PKGDATADIR}) 26 | set(WAYLAND_PROTOCOLS_VERSION ${WaylandProtocols_VERSION}) 27 | -------------------------------------------------------------------------------- /src/support/glfw/CMake/modules/FindXKBCommon.cmake: -------------------------------------------------------------------------------- 1 | # - Try to find XKBCommon 2 | # Once done, this will define 3 | # 4 | # XKBCOMMON_FOUND - System has XKBCommon 5 | # XKBCOMMON_INCLUDE_DIRS - The XKBCommon include directories 6 | # XKBCOMMON_LIBRARIES - The libraries needed to use XKBCommon 7 | # XKBCOMMON_DEFINITIONS - Compiler switches required for using XKBCommon 8 | 9 | find_package(PkgConfig) 10 | pkg_check_modules(PC_XKBCOMMON QUIET xkbcommon) 11 | set(XKBCOMMON_DEFINITIONS ${PC_XKBCOMMON_CFLAGS_OTHER}) 12 | 13 | find_path(XKBCOMMON_INCLUDE_DIR 14 | NAMES xkbcommon/xkbcommon.h 15 | HINTS ${PC_XKBCOMMON_INCLUDE_DIR} ${PC_XKBCOMMON_INCLUDE_DIRS} 16 | ) 17 | 18 | find_library(XKBCOMMON_LIBRARY 19 | NAMES xkbcommon 20 | HINTS ${PC_XKBCOMMON_LIBRARY} ${PC_XKBCOMMON_LIBRARY_DIRS} 21 | ) 22 | 23 | set(XKBCOMMON_LIBRARIES ${XKBCOMMON_LIBRARY}) 24 | set(XKBCOMMON_LIBRARY_DIRS ${XKBCOMMON_LIBRARY_DIRS}) 25 | set(XKBCOMMON_INCLUDE_DIRS ${XKBCOMMON_INCLUDE_DIR}) 26 | 27 | include(FindPackageHandleStandardArgs) 28 | find_package_handle_standard_args(XKBCommon DEFAULT_MSG 29 | XKBCOMMON_LIBRARY 30 | XKBCOMMON_INCLUDE_DIR 31 | ) 32 | 33 | mark_as_advanced(XKBCOMMON_LIBRARY XKBCOMMON_INCLUDE_DIR) 34 | 35 | -------------------------------------------------------------------------------- /src/support/glfw/CMake/x86_64-w64-mingw32.cmake: -------------------------------------------------------------------------------- 1 | # Define the environment for cross compiling from Linux to Win32 2 | SET(CMAKE_SYSTEM_NAME Windows) # Target system name 3 | SET(CMAKE_SYSTEM_VERSION 1) 4 | SET(CMAKE_C_COMPILER "x86_64-w64-mingw32-gcc") 5 | SET(CMAKE_CXX_COMPILER "x86_64-w64-mingw32-g++") 6 | SET(CMAKE_RC_COMPILER "x86_64-w64-mingw32-windres") 7 | SET(CMAKE_RANLIB "x86_64-w64-mingw32-ranlib") 8 | 9 | # Configure the behaviour of the find commands 10 | SET(CMAKE_FIND_ROOT_PATH "/usr/x86_64-w64-mingw32") 11 | SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 12 | SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 13 | SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 14 | -------------------------------------------------------------------------------- /src/support/glfw/COPYING.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002-2006 Marcus Geelnard 2 | Copyright (c) 2006-2016 Camilla Berglund 3 | 4 | This software is provided 'as-is', without any express or implied 5 | warranty. In no event will the authors be held liable for any damages 6 | arising from the use of this software. 7 | 8 | Permission is granted to anyone to use this software for any purpose, 9 | including commercial applications, and to alter it and redistribute it 10 | freely, subject to the following restrictions: 11 | 12 | 1. The origin of this software must not be misrepresented; you must not 13 | claim that you wrote the original software. If you use this software 14 | in a product, an acknowledgment in the product documentation would 15 | be appreciated but is not required. 16 | 17 | 2. Altered source versions must be plainly marked as such, and must not 18 | be misrepresented as being the original software. 19 | 20 | 3. This notice may not be removed or altered from any source 21 | distribution. 22 | 23 | -------------------------------------------------------------------------------- /src/support/glfw/cmake_uninstall.cmake.in: -------------------------------------------------------------------------------- 1 | 2 | if (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") 3 | message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") 4 | endif() 5 | 6 | file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) 7 | string(REGEX REPLACE "\n" ";" files "${files}") 8 | 9 | foreach (file ${files}) 10 | message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") 11 | if (EXISTS "$ENV{DESTDIR}${file}") 12 | exec_program("@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" 13 | OUTPUT_VARIABLE rm_out 14 | RETURN_VALUE rm_retval) 15 | if (NOT "${rm_retval}" STREQUAL 0) 16 | MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") 17 | endif() 18 | elseif (IS_SYMLINK "$ENV{DESTDIR}${file}") 19 | EXEC_PROGRAM("@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\"" 20 | OUTPUT_VARIABLE rm_out 21 | RETURN_VALUE rm_retval) 22 | if (NOT "${rm_retval}" STREQUAL 0) 23 | message(FATAL_ERROR "Problem when removing symlink \"$ENV{DESTDIR}${file}\"") 24 | endif() 25 | else() 26 | message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") 27 | endif() 28 | endforeach() 29 | 30 | -------------------------------------------------------------------------------- /src/support/glfw/deps/getopt.h: -------------------------------------------------------------------------------- 1 | /* Copyright (c) 2012, Kim Gräsman 2 | * All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions are met: 6 | * * Redistributions of source code must retain the above copyright notice, 7 | * this list of conditions and the following disclaimer. 8 | * * Redistributions in binary form must reproduce the above copyright notice, 9 | * this list of conditions and the following disclaimer in the documentation 10 | * and/or other materials provided with the distribution. 11 | * * Neither the name of Kim Gräsman nor the names of contributors may be used 12 | * to endorse or promote products derived from this software without specific 13 | * prior written permission. 14 | * 15 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 16 | * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18 | * ARE DISCLAIMED. IN NO EVENT SHALL KIM GRÄSMAN BE LIABLE FOR ANY DIRECT, 19 | * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 20 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 21 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 22 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 24 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25 | */ 26 | 27 | #ifndef INCLUDED_GETOPT_PORT_H 28 | #define INCLUDED_GETOPT_PORT_H 29 | 30 | #if defined(__cplusplus) 31 | extern "C" { 32 | #endif 33 | 34 | extern const int no_argument; 35 | extern const int required_argument; 36 | extern const int optional_argument; 37 | 38 | extern char* optarg; 39 | extern int optind, opterr, optopt; 40 | 41 | struct option { 42 | const char* name; 43 | int has_arg; 44 | int* flag; 45 | int val; 46 | }; 47 | 48 | int getopt(int argc, char* const argv[], const char* optstring); 49 | 50 | int getopt_long(int argc, char* const argv[], 51 | const char* optstring, const struct option* longopts, int* longindex); 52 | 53 | #if defined(__cplusplus) 54 | } 55 | #endif 56 | 57 | #endif // INCLUDED_GETOPT_PORT_H 58 | -------------------------------------------------------------------------------- /src/support/glfw/docs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | set(glfw_DOCS_SOURCES 3 | "${GLFW_SOURCE_DIR}/include/GLFW/glfw3.h" 4 | "${GLFW_SOURCE_DIR}/include/GLFW/glfw3native.h" 5 | "${GLFW_SOURCE_DIR}/docs/main.dox" 6 | "${GLFW_SOURCE_DIR}/docs/news.dox" 7 | "${GLFW_SOURCE_DIR}/docs/moving.dox" 8 | "${GLFW_SOURCE_DIR}/docs/quick.dox" 9 | "${GLFW_SOURCE_DIR}/docs/compile.dox" 10 | "${GLFW_SOURCE_DIR}/docs/build.dox" 11 | "${GLFW_SOURCE_DIR}/docs/intro.dox" 12 | "${GLFW_SOURCE_DIR}/docs/context.dox" 13 | "${GLFW_SOURCE_DIR}/docs/monitor.dox" 14 | "${GLFW_SOURCE_DIR}/docs/window.dox" 15 | "${GLFW_SOURCE_DIR}/docs/input.dox" 16 | "${GLFW_SOURCE_DIR}/docs/vulkan.dox" 17 | "${GLFW_SOURCE_DIR}/docs/compat.dox") 18 | 19 | if (GLFW_DOCUMENT_INTERNALS) 20 | list(APPEND glfw_DOCS_SOURCES "${GLFW_SOURCE_DIR}/src/internal.h") 21 | endif() 22 | 23 | foreach(arg ${glfw_DOCS_SOURCES}) 24 | set(GLFW_DOCS_SOURCES "${GLFW_DOCS_SOURCES} ${arg}") 25 | endforeach() 26 | 27 | configure_file(Doxyfile.in Doxyfile @ONLY) 28 | 29 | add_custom_target(docs ALL "${DOXYGEN_EXECUTABLE}" 30 | WORKING_DIRECTORY "${GLFW_BINARY_DIR}/docs" 31 | COMMENT "Generating HTML documentation" VERBATIM) 32 | 33 | -------------------------------------------------------------------------------- /src/support/glfw/docs/footer.html: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/support/glfw/docs/header.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | $projectname: $title 8 | $title 9 | 10 | 11 | 12 | $treeview 13 | $search 14 | $mathjax 15 | 16 | $extrastylesheet 17 | 18 | 19 |
20 | 21 | 22 |
23 |
24 | GLFW 25 | 31 |
32 |
33 | 34 | 35 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/arrowdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/arrowdown.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/arrowright.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/arrowright.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/bc_s.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/bdwn.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/closed.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/doc.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/doxygen.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/folderclosed.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/folderopen.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/nav_f.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/nav_g.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/nav_h.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/open.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['blue',['blue',['../structGLFWgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b',1,'GLFWgammaramp']]], 4 | ['bluebits',['blueBits',['../structGLFWvidmode.html#af310977f58d2e3b188175b6e3d314047',1,'GLFWvidmode']]], 5 | ['bug_20list',['Bug List',['../bug.html',1,'']]], 6 | ['build_2edox',['build.dox',['../build_8dox.html',1,'']]], 7 | ['building_20applications',['Building applications',['../build_guide.html',1,'']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['compat_2edox',['compat.dox',['../compat_8dox.html',1,'']]], 4 | ['compile_2edox',['compile.dox',['../compile_8dox.html',1,'']]], 5 | ['compiling_20glfw',['Compiling GLFW',['../compile_guide.html',1,'']]], 6 | ['context_20reference',['Context reference',['../group__context.html',1,'']]], 7 | ['context_2edox',['context.dox',['../context_8dox.html',1,'']]], 8 | ['context_20guide',['Context guide',['../context_guide.html',1,'']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['error_20codes',['Error codes',['../group__errors.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['height',['height',['../structGLFWvidmode.html#ac65942a5f6981695517437a9d571d03c',1,'GLFWvidmode::height()'],['../structGLFWimage.html#a0b7d95368f0c80d5e5c9875057c7dbec',1,'GLFWimage::height()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['initialization_2c_20version_20and_20error_20reference',['Initialization, version and error reference',['../group__init.html',1,'']]], 4 | ['input_20reference',['Input reference',['../group__input.html',1,'']]], 5 | ['input_2edox',['input.dox',['../input_8dox.html',1,'']]], 6 | ['input_20guide',['Input guide',['../input_guide.html',1,'']]], 7 | ['intro_2edox',['intro.dox',['../intro_8dox.html',1,'']]], 8 | ['introduction_20to_20the_20api',['Introduction to the API',['../intro_guide.html',1,'']]] 9 | ]; 10 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['joysticks',['Joysticks',['../group__joysticks.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['keyboard_20keys',['Keyboard keys',['../group__keys.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['mouse_20buttons',['Mouse buttons',['../group__buttons.html',1,'']]], 4 | ['main_2edox',['main.dox',['../main_8dox.html',1,'']]], 5 | ['modifier_20key_20flags',['Modifier key flags',['../group__mods.html',1,'']]], 6 | ['monitor_20reference',['Monitor reference',['../group__monitor.html',1,'']]], 7 | ['monitor_2edox',['monitor.dox',['../monitor_8dox.html',1,'']]], 8 | ['monitor_20guide',['Monitor guide',['../monitor_guide.html',1,'']]], 9 | ['moving_2edox',['moving.dox',['../moving_8dox.html',1,'']]], 10 | ['moving_20from_20glfw_202_20to_203',['Moving from GLFW 2 to 3',['../moving_guide.html',1,'']]] 11 | ]; 12 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['notitle',['notitle',['../index.html',1,'']]], 4 | ['native_20access',['Native access',['../group__native.html',1,'']]], 5 | ['new_20features',['New features',['../news.html',1,'']]], 6 | ['news_2edox',['news.dox',['../news_8dox.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_a.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pixels',['pixels',['../structGLFWimage.html#a0c532a5c2bb715555279b7817daba0fb',1,'GLFWimage']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_b.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quick_2edox',['quick.dox',['../quick_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_c.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['red',['red',['../structGLFWgammaramp.html#a2cce5d968734b685623eef913e635138',1,'GLFWgammaramp']]], 4 | ['redbits',['redBits',['../structGLFWvidmode.html#a6066c4ecd251098700062d3b735dba1b',1,'GLFWvidmode']]], 5 | ['refreshrate',['refreshRate',['../structGLFWvidmode.html#a791bdd6c7697b09f7e9c97054bf05649',1,'GLFWvidmode']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_d.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_d.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['standards_20conformance',['Standards conformance',['../compat_guide.html',1,'']]], 4 | ['standard_20cursor_20shapes',['Standard cursor shapes',['../group__shapes.html',1,'']]], 5 | ['size',['size',['../structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5',1,'GLFWgammaramp']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_e.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vulkan_20reference',['Vulkan reference',['../group__vulkan.html',1,'']]], 4 | ['vulkan_2edox',['vulkan.dox',['../vulkan_8dox.html',1,'']]], 5 | ['vulkan_20guide',['Vulkan guide',['../vulkan_guide.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_f.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/all_f.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['width',['width',['../structGLFWvidmode.html#a698dcb200562051a7249cb6ae154c71d',1,'GLFWvidmode::width()'],['../structGLFWimage.html#af6a71cc999fe6d3aea31dd7e9687d835',1,'GLFWimage::width()']]], 4 | ['window_20reference',['Window reference',['../group__window.html',1,'']]], 5 | ['window_2edox',['window.dox',['../window_8dox.html',1,'']]], 6 | ['window_20guide',['Window guide',['../window_guide.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/classes_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/classes_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['glfwgammaramp',['GLFWgammaramp',['../structGLFWgammaramp.html',1,'']]], 4 | ['glfwimage',['GLFWimage',['../structGLFWimage.html',1,'']]], 5 | ['glfwvidmode',['GLFWvidmode',['../structGLFWvidmode.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/search/close.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/defines_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['build_2edox',['build.dox',['../build_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['compat_2edox',['compat.dox',['../compat_8dox.html',1,'']]], 4 | ['compile_2edox',['compile.dox',['../compile_8dox.html',1,'']]], 5 | ['context_2edox',['context.dox',['../context_8dox.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['glfw3_2eh',['glfw3.h',['../glfw3_8h.html',1,'']]], 4 | ['glfw3native_2eh',['glfw3native.h',['../glfw3native_8h.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['input_2edox',['input.dox',['../input_8dox.html',1,'']]], 4 | ['intro_2edox',['intro.dox',['../intro_8dox.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['main_2edox',['main.dox',['../main_8dox.html',1,'']]], 4 | ['monitor_2edox',['monitor.dox',['../monitor_8dox.html',1,'']]], 5 | ['moving_2edox',['moving.dox',['../moving_8dox.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['news_2edox',['news.dox',['../news_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quick_2edox',['quick.dox',['../quick_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vulkan_2edox',['vulkan.dox',['../vulkan_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/files_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_2edox',['window.dox',['../window_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/functions_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['context_20reference',['Context reference',['../group__context.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['error_20codes',['Error codes',['../group__errors.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['initialization_2c_20version_20and_20error_20reference',['Initialization, version and error reference',['../group__init.html',1,'']]], 4 | ['input_20reference',['Input reference',['../group__input.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['joysticks',['Joysticks',['../group__joysticks.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['keyboard_20keys',['Keyboard keys',['../group__keys.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['mouse_20buttons',['Mouse buttons',['../group__buttons.html',1,'']]], 4 | ['modifier_20key_20flags',['Modifier key flags',['../group__mods.html',1,'']]], 5 | ['monitor_20reference',['Monitor reference',['../group__monitor.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['native_20access',['Native access',['../group__native.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['standard_20cursor_20shapes',['Standard cursor shapes',['../group__shapes.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vulkan_20reference',['Vulkan reference',['../group__vulkan.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_9.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/groups_9.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_20reference',['Window reference',['../group__window.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/search/mag_sel.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
No Matches
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['bug_20list',['Bug List',['../bug.html',1,'']]], 4 | ['building_20applications',['Building applications',['../build_guide.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['compiling_20glfw',['Compiling GLFW',['../compile_guide.html',1,'']]], 4 | ['context_20guide',['Context guide',['../context_guide.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['getting_20started',['Getting started',['../quick_guide.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['input_20guide',['Input guide',['../input_guide.html',1,'']]], 4 | ['introduction_20to_20the_20api',['Introduction to the API',['../intro_guide.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['monitor_20guide',['Monitor guide',['../monitor_guide.html',1,'']]], 4 | ['moving_20from_20glfw_202_20to_203',['Moving from GLFW 2 to 3',['../moving_guide.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['notitle',['notitle',['../index.html',1,'']]], 4 | ['new_20features',['New features',['../news.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['standards_20conformance',['Standards conformance',['../compat_guide.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_7.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['vulkan_20guide',['Vulkan guide',['../vulkan_guide.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_8.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/pages_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_20guide',['Window guide',['../window_guide.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/search/search_l.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/search/search_m.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/search/search_r.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/searchdata.js: -------------------------------------------------------------------------------- 1 | var indexSectionsWithContent = 2 | { 3 | 0: "bceghijkmnpqrsvw", 4 | 1: "g", 5 | 2: "bcgimnqvw", 6 | 3: "g", 7 | 4: "bghprsw", 8 | 5: "g", 9 | 6: "g", 10 | 7: "ceijkmnsvw", 11 | 8: "bcgimnsvw" 12 | }; 13 | 14 | var indexSectionNames = 15 | { 16 | 0: "all", 17 | 1: "classes", 18 | 2: "files", 19 | 3: "functions", 20 | 4: "variables", 21 | 5: "typedefs", 22 | 6: "defines", 23 | 7: "groups", 24 | 8: "pages" 25 | }; 26 | 27 | var indexSectionLabels = 28 | { 29 | 0: "All", 30 | 1: "Data Structures", 31 | 2: "Files", 32 | 3: "Functions", 33 | 4: "Variables", 34 | 5: "Typedefs", 35 | 6: "Macros", 36 | 7: "Modules", 37 | 8: "Pages" 38 | }; 39 | 40 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/typedefs_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['blue',['blue',['../structGLFWgammaramp.html#acf0c836d0efe29c392fe8d1a1042744b',1,'GLFWgammaramp']]], 4 | ['bluebits',['blueBits',['../structGLFWvidmode.html#af310977f58d2e3b188175b6e3d314047',1,'GLFWvidmode']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['green',['green',['../structGLFWgammaramp.html#affccc6f5df47820b6562d709da3a5a3a',1,'GLFWgammaramp']]], 4 | ['greenbits',['greenBits',['../structGLFWvidmode.html#a292fdd281f3485fb3ff102a5bda43faa',1,'GLFWvidmode']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['height',['height',['../structGLFWvidmode.html#ac65942a5f6981695517437a9d571d03c',1,'GLFWvidmode::height()'],['../structGLFWimage.html#a0b7d95368f0c80d5e5c9875057c7dbec',1,'GLFWimage::height()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pixels',['pixels',['../structGLFWimage.html#a0c532a5c2bb715555279b7817daba0fb',1,'GLFWimage']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['red',['red',['../structGLFWgammaramp.html#a2cce5d968734b685623eef913e635138',1,'GLFWgammaramp']]], 4 | ['redbits',['redBits',['../structGLFWvidmode.html#a6066c4ecd251098700062d3b735dba1b',1,'GLFWvidmode']]], 5 | ['refreshrate',['refreshRate',['../structGLFWvidmode.html#a791bdd6c7697b09f7e9c97054bf05649',1,'GLFWvidmode']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_5.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['size',['size',['../structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5',1,'GLFWgammaramp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_6.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 |
Loading...
12 |
13 | 16 |
Searching...
17 |
No Matches
18 | 24 |
25 | 26 | 27 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/search/variables_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['width',['width',['../structGLFWvidmode.html#a698dcb200562051a7249cb6ae154c71d',1,'GLFWvidmode::width()'],['../structGLFWimage.html#af6a71cc999fe6d3aea31dd7e9687d835',1,'GLFWimage::width()']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /src/support/glfw/docs/html/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/splitbar.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/sync_off.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/sync_on.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/tab_a.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/tab_b.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/tab_h.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/docs/html/tab_s.png -------------------------------------------------------------------------------- /src/support/glfw/docs/html/tabs.css: -------------------------------------------------------------------------------- 1 | .tabs, .tabs2, .tabs3 { 2 | background-image: url('tab_b.png'); 3 | width: 100%; 4 | z-index: 101; 5 | font-size: 13px; 6 | font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; 7 | } 8 | 9 | .tabs2 { 10 | font-size: 10px; 11 | } 12 | .tabs3 { 13 | font-size: 9px; 14 | } 15 | 16 | .tablist { 17 | margin: 0; 18 | padding: 0; 19 | display: table; 20 | } 21 | 22 | .tablist li { 23 | float: left; 24 | display: table-cell; 25 | background-image: url('tab_b.png'); 26 | line-height: 36px; 27 | list-style: none; 28 | } 29 | 30 | .tablist a { 31 | display: block; 32 | padding: 0 20px; 33 | font-weight: bold; 34 | background-image:url('tab_s.png'); 35 | background-repeat:no-repeat; 36 | background-position:right; 37 | color: #283A5D; 38 | text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); 39 | text-decoration: none; 40 | outline: none; 41 | } 42 | 43 | .tabs3 .tablist a { 44 | padding: 0 10px; 45 | } 46 | 47 | .tablist a:hover { 48 | background-image: url('tab_h.png'); 49 | background-repeat:repeat-x; 50 | color: #fff; 51 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); 52 | text-decoration: none; 53 | } 54 | 55 | .tablist li.current a { 56 | background-image: url('tab_a.png'); 57 | background-repeat:repeat-x; 58 | color: #fff; 59 | text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0); 60 | } 61 | -------------------------------------------------------------------------------- /src/support/glfw/docs/main.dox: -------------------------------------------------------------------------------- 1 | /*! 2 | 3 | @mainpage notitle 4 | 5 | @section main_intro Introduction 6 | 7 | GLFW is a free, Open Source, multi-platform library for OpenGL, OpenGL ES and 8 | Vulkan application development. It provides a simple, platform-independent API 9 | for creating windows, contexts and surfaces, reading input, handling events, etc. 10 | 11 | See @ref news_32 for release highlights or the 12 | [version history](http://www.glfw.org/changelog.html) for details. 13 | 14 | @ref quick_guide is a guide for users new to GLFW. It takes you through how to 15 | write a small but complete program. 16 | 17 | There are guides for each section of the API: 18 | 19 | - @ref intro_guide – initialization, error handling and high-level design 20 | - @ref window_guide – creating and working with windows and framebuffers 21 | - @ref context_guide – working with OpenGL and OpenGL ES contexts 22 | - @ref vulkan_guide - working with Vulkan objects and extensions 23 | - @ref monitor_guide – enumerating and working with monitors and video modes 24 | - @ref input_guide – receiving events, polling and processing input 25 | 26 | Once you have written a program, see @ref compile_guide and @ref build_guide. 27 | 28 | The [reference documentation](modules.html) provides more detailed information 29 | about specific functions. 30 | 31 | @ref moving_guide explains what has changed and how to update existing code to 32 | use the new API. 33 | 34 | There is a section on @ref guarantees_limitations for pointer lifetimes, 35 | reentrancy, thread safety, event order and backward and forward compatibility. 36 | 37 | The [FAQ](http://www.glfw.org/faq.html) answers many common questions about the 38 | design, implementation and use of GLFW. 39 | 40 | Finally, @ref compat_guide explains what APIs, standards and protocols GLFW uses 41 | and what happens when they are not present on a given machine. 42 | 43 | This documentation was generated with Doxygen. The sources for it are available 44 | in both the [source distribution](http://www.glfw.org/download.html) and 45 | [GitHub repository](https://github.com/glfw/glfw). 46 | 47 | */ 48 | -------------------------------------------------------------------------------- /src/support/glfw/examples/glfw.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/examples/glfw.icns -------------------------------------------------------------------------------- /src/support/glfw/examples/glfw.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/support/glfw/examples/glfw.ico -------------------------------------------------------------------------------- /src/support/glfw/examples/glfw.rc: -------------------------------------------------------------------------------- 1 | 2 | GLFW_ICON ICON "glfw.ico" 3 | 4 | -------------------------------------------------------------------------------- /src/support/glfw/src/cocoa_joystick.h: -------------------------------------------------------------------------------- 1 | //======================================================================== 2 | // GLFW 3.2 Cocoa - www.glfw.org 3 | //------------------------------------------------------------------------ 4 | // Copyright (c) 2006-2016 Camilla Berglund 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would 17 | // be appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not 20 | // be misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source 23 | // distribution. 24 | // 25 | //======================================================================== 26 | 27 | #ifndef _glfw3_cocoa_joystick_h_ 28 | #define _glfw3_cocoa_joystick_h_ 29 | 30 | #include 31 | #include 32 | #include 33 | #include 34 | 35 | #define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE \ 36 | _GLFWjoystickNS ns_js[GLFW_JOYSTICK_LAST + 1] 37 | 38 | 39 | // Cocoa-specific per-joystick data 40 | // 41 | typedef struct _GLFWjoystickNS 42 | { 43 | GLFWbool present; 44 | char name[256]; 45 | 46 | IOHIDDeviceRef deviceRef; 47 | 48 | CFMutableArrayRef axisElements; 49 | CFMutableArrayRef buttonElements; 50 | CFMutableArrayRef hatElements; 51 | 52 | float* axes; 53 | unsigned char* buttons; 54 | } _GLFWjoystickNS; 55 | 56 | 57 | void _glfwInitJoysticksNS(void); 58 | void _glfwTerminateJoysticksNS(void); 59 | 60 | #endif // _glfw3_cocoa_joystick_h_ 61 | -------------------------------------------------------------------------------- /src/support/glfw/src/cocoa_time.c: -------------------------------------------------------------------------------- 1 | //======================================================================== 2 | // GLFW 3.2 OS X - www.glfw.org 3 | //------------------------------------------------------------------------ 4 | // Copyright (c) 2009-2016 Camilla Berglund 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would 17 | // be appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not 20 | // be misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source 23 | // distribution. 24 | // 25 | //======================================================================== 26 | 27 | #include "internal.h" 28 | 29 | #include 30 | 31 | 32 | ////////////////////////////////////////////////////////////////////////// 33 | ////// GLFW internal API ////// 34 | ////////////////////////////////////////////////////////////////////////// 35 | 36 | // Initialise timer 37 | // 38 | void _glfwInitTimerNS(void) 39 | { 40 | mach_timebase_info_data_t info; 41 | mach_timebase_info(&info); 42 | 43 | _glfw.ns_time.frequency = (info.denom * 1e9) / info.numer; 44 | } 45 | 46 | 47 | ////////////////////////////////////////////////////////////////////////// 48 | ////// GLFW platform API ////// 49 | ////////////////////////////////////////////////////////////////////////// 50 | 51 | uint64_t _glfwPlatformGetTimerValue(void) 52 | { 53 | return mach_absolute_time(); 54 | } 55 | 56 | uint64_t _glfwPlatformGetTimerFrequency(void) 57 | { 58 | return _glfw.ns_time.frequency; 59 | } 60 | 61 | -------------------------------------------------------------------------------- /src/support/glfw/src/glfw3.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=${prefix} 3 | includedir=${prefix}/include 4 | libdir=${exec_prefix}/lib@LIB_SUFFIX@ 5 | 6 | Name: GLFW 7 | Description: A multi-platform library for OpenGL, window and input 8 | Version: @GLFW_VERSION_FULL@ 9 | URL: http://www.glfw.org/ 10 | Requires.private: @GLFW_PKG_DEPS@ 11 | Libs: -L${libdir} -l@GLFW_LIB_NAME@ 12 | Libs.private: @GLFW_PKG_LIBS@ 13 | Cflags: -I${includedir} 14 | -------------------------------------------------------------------------------- /src/support/glfw/src/glfw3Config.cmake.in: -------------------------------------------------------------------------------- 1 | include("${CMAKE_CURRENT_LIST_DIR}/glfw3Targets.cmake") 2 | -------------------------------------------------------------------------------- /src/support/glfw/src/linux_joystick.h: -------------------------------------------------------------------------------- 1 | //======================================================================== 2 | // GLFW 3.2 Linux - www.glfw.org 3 | //------------------------------------------------------------------------ 4 | // Copyright (c) 2014 Jonas Ådahl 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would 17 | // be appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not 20 | // be misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source 23 | // distribution. 24 | // 25 | //======================================================================== 26 | 27 | #ifndef _glfw3_linux_joystick_h_ 28 | #define _glfw3_linux_joystick_h_ 29 | 30 | #include 31 | 32 | #define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE _GLFWjoylistLinux linux_js 33 | 34 | 35 | // Linux-specific joystick data 36 | // 37 | typedef struct _GLFWjoystickLinux 38 | { 39 | GLFWbool present; 40 | int fd; 41 | float* axes; 42 | int axisCount; 43 | unsigned char* buttons; 44 | int buttonCount; 45 | char* name; 46 | char* path; 47 | } _GLFWjoystickLinux; 48 | 49 | // Linux-specific joystick API data 50 | // 51 | typedef struct _GLFWjoylistLinux 52 | { 53 | _GLFWjoystickLinux js[GLFW_JOYSTICK_LAST + 1]; 54 | 55 | #if defined(__linux__) 56 | int inotify; 57 | int watch; 58 | regex_t regex; 59 | #endif /*__linux__*/ 60 | } _GLFWjoylistLinux; 61 | 62 | 63 | GLFWbool _glfwInitJoysticksLinux(void); 64 | void _glfwTerminateJoysticksLinux(void); 65 | 66 | void _glfwPollJoystickEvents(void); 67 | 68 | #endif // _glfw3_linux_joystick_h_ 69 | -------------------------------------------------------------------------------- /src/support/glfw/src/nsgl_context.h: -------------------------------------------------------------------------------- 1 | //======================================================================== 2 | // GLFW 3.2 OS X - www.glfw.org 3 | //------------------------------------------------------------------------ 4 | // Copyright (c) 2009-2016 Camilla Berglund 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would 17 | // be appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not 20 | // be misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source 23 | // distribution. 24 | // 25 | //======================================================================== 26 | 27 | #ifndef _glfw3_nsgl_context_h_ 28 | #define _glfw3_nsgl_context_h_ 29 | 30 | #define _GLFW_PLATFORM_CONTEXT_STATE _GLFWcontextNSGL nsgl 31 | #define _GLFW_PLATFORM_LIBRARY_CONTEXT_STATE _GLFWlibraryNSGL nsgl 32 | 33 | 34 | // NSGL-specific per-context data 35 | // 36 | typedef struct _GLFWcontextNSGL 37 | { 38 | id pixelFormat; 39 | id object; 40 | 41 | } _GLFWcontextNSGL; 42 | 43 | // NSGL-specific global data 44 | // 45 | typedef struct _GLFWlibraryNSGL 46 | { 47 | // dlopen handle for OpenGL.framework (for glfwGetProcAddress) 48 | CFBundleRef framework; 49 | 50 | } _GLFWlibraryNSGL; 51 | 52 | 53 | GLFWbool _glfwInitNSGL(void); 54 | void _glfwTerminateNSGL(void); 55 | GLFWbool _glfwCreateContextNSGL(_GLFWwindow* window, 56 | const _GLFWctxconfig* ctxconfig, 57 | const _GLFWfbconfig* fbconfig); 58 | void _glfwDestroyContextNSGL(_GLFWwindow* window); 59 | 60 | #endif // _glfw3_nsgl_context_h_ 61 | -------------------------------------------------------------------------------- /src/support/glfw/src/posix_time.h: -------------------------------------------------------------------------------- 1 | //======================================================================== 2 | // GLFW 3.2 POSIX - www.glfw.org 3 | //------------------------------------------------------------------------ 4 | // Copyright (c) 2002-2006 Marcus Geelnard 5 | // Copyright (c) 2006-2016 Camilla Berglund 6 | // 7 | // This software is provided 'as-is', without any express or implied 8 | // warranty. In no event will the authors be held liable for any damages 9 | // arising from the use of this software. 10 | // 11 | // Permission is granted to anyone to use this software for any purpose, 12 | // including commercial applications, and to alter it and redistribute it 13 | // freely, subject to the following restrictions: 14 | // 15 | // 1. The origin of this software must not be misrepresented; you must not 16 | // claim that you wrote the original software. If you use this software 17 | // in a product, an acknowledgment in the product documentation would 18 | // be appreciated but is not required. 19 | // 20 | // 2. Altered source versions must be plainly marked as such, and must not 21 | // be misrepresented as being the original software. 22 | // 23 | // 3. This notice may not be removed or altered from any source 24 | // distribution. 25 | // 26 | //======================================================================== 27 | 28 | #ifndef _glfw3_posix_time_h_ 29 | #define _glfw3_posix_time_h_ 30 | 31 | #define _GLFW_PLATFORM_LIBRARY_TIME_STATE _GLFWtimePOSIX posix_time 32 | 33 | #include 34 | 35 | 36 | // POSIX-specific global timer data 37 | // 38 | typedef struct _GLFWtimePOSIX 39 | { 40 | GLFWbool monotonic; 41 | uint64_t frequency; 42 | 43 | } _GLFWtimePOSIX; 44 | 45 | 46 | void _glfwInitTimerPOSIX(void); 47 | 48 | #endif // _glfw3_posix_time_h_ 49 | -------------------------------------------------------------------------------- /src/support/glfw/src/posix_tls.c: -------------------------------------------------------------------------------- 1 | //======================================================================== 2 | // GLFW 3.2 POSIX - www.glfw.org 3 | //------------------------------------------------------------------------ 4 | // Copyright (c) 2002-2006 Marcus Geelnard 5 | // Copyright (c) 2006-2016 Camilla Berglund 6 | // 7 | // This software is provided 'as-is', without any express or implied 8 | // warranty. In no event will the authors be held liable for any damages 9 | // arising from the use of this software. 10 | // 11 | // Permission is granted to anyone to use this software for any purpose, 12 | // including commercial applications, and to alter it and redistribute it 13 | // freely, subject to the following restrictions: 14 | // 15 | // 1. The origin of this software must not be misrepresented; you must not 16 | // claim that you wrote the original software. If you use this software 17 | // in a product, an acknowledgment in the product documentation would 18 | // be appreciated but is not required. 19 | // 20 | // 2. Altered source versions must be plainly marked as such, and must not 21 | // be misrepresented as being the original software. 22 | // 23 | // 3. This notice may not be removed or altered from any source 24 | // distribution. 25 | // 26 | //======================================================================== 27 | 28 | #include "internal.h" 29 | 30 | 31 | ////////////////////////////////////////////////////////////////////////// 32 | ////// GLFW internal API ////// 33 | ////////////////////////////////////////////////////////////////////////// 34 | 35 | GLFWbool _glfwInitThreadLocalStoragePOSIX(void) 36 | { 37 | if (pthread_key_create(&_glfw.posix_tls.context, NULL) != 0) 38 | { 39 | _glfwInputError(GLFW_PLATFORM_ERROR, 40 | "POSIX: Failed to create context TLS"); 41 | return GLFW_FALSE; 42 | } 43 | 44 | _glfw.posix_tls.allocated = GLFW_TRUE; 45 | return GLFW_TRUE; 46 | } 47 | 48 | void _glfwTerminateThreadLocalStoragePOSIX(void) 49 | { 50 | if (_glfw.posix_tls.allocated) 51 | pthread_key_delete(_glfw.posix_tls.context); 52 | } 53 | 54 | 55 | ////////////////////////////////////////////////////////////////////////// 56 | ////// GLFW platform API ////// 57 | ////////////////////////////////////////////////////////////////////////// 58 | 59 | void _glfwPlatformSetCurrentContext(_GLFWwindow* context) 60 | { 61 | pthread_setspecific(_glfw.posix_tls.context, context); 62 | } 63 | 64 | _GLFWwindow* _glfwPlatformGetCurrentContext(void) 65 | { 66 | return pthread_getspecific(_glfw.posix_tls.context); 67 | } 68 | 69 | -------------------------------------------------------------------------------- /src/support/glfw/src/posix_tls.h: -------------------------------------------------------------------------------- 1 | //======================================================================== 2 | // GLFW 3.2 POSIX - www.glfw.org 3 | //------------------------------------------------------------------------ 4 | // Copyright (c) 2002-2006 Marcus Geelnard 5 | // Copyright (c) 2006-2016 Camilla Berglund 6 | // 7 | // This software is provided 'as-is', without any express or implied 8 | // warranty. In no event will the authors be held liable for any damages 9 | // arising from the use of this software. 10 | // 11 | // Permission is granted to anyone to use this software for any purpose, 12 | // including commercial applications, and to alter it and redistribute it 13 | // freely, subject to the following restrictions: 14 | // 15 | // 1. The origin of this software must not be misrepresented; you must not 16 | // claim that you wrote the original software. If you use this software 17 | // in a product, an acknowledgment in the product documentation would 18 | // be appreciated but is not required. 19 | // 20 | // 2. Altered source versions must be plainly marked as such, and must not 21 | // be misrepresented as being the original software. 22 | // 23 | // 3. This notice may not be removed or altered from any source 24 | // distribution. 25 | // 26 | //======================================================================== 27 | 28 | #ifndef _glfw3_posix_tls_h_ 29 | #define _glfw3_posix_tls_h_ 30 | 31 | #include 32 | 33 | #define _GLFW_PLATFORM_LIBRARY_TLS_STATE _GLFWtlsPOSIX posix_tls 34 | 35 | 36 | // POSIX-specific global TLS data 37 | // 38 | typedef struct _GLFWtlsPOSIX 39 | { 40 | GLFWbool allocated; 41 | pthread_key_t context; 42 | 43 | } _GLFWtlsPOSIX; 44 | 45 | 46 | GLFWbool _glfwInitThreadLocalStoragePOSIX(void); 47 | void _glfwTerminateThreadLocalStoragePOSIX(void); 48 | 49 | #endif // _glfw3_posix_tls_h_ 50 | -------------------------------------------------------------------------------- /src/support/glfw/src/win32_joystick.h: -------------------------------------------------------------------------------- 1 | //======================================================================== 2 | // GLFW 3.2 Win32 - www.glfw.org 3 | //------------------------------------------------------------------------ 4 | // Copyright (c) 2006-2016 Camilla Berglund 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would 17 | // be appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not 20 | // be misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source 23 | // distribution. 24 | // 25 | //======================================================================== 26 | 27 | #ifndef _glfw3_win32_joystick_h_ 28 | #define _glfw3_win32_joystick_h_ 29 | 30 | #define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE \ 31 | _GLFWjoystickWin32 win32_js[GLFW_JOYSTICK_LAST + 1] 32 | 33 | // Joystick element (axis, button or slider) 34 | // 35 | typedef struct _GLFWjoyobjectWin32 36 | { 37 | int offset; 38 | int type; 39 | } _GLFWjoyobjectWin32; 40 | 41 | // Win32-specific per-joystick data 42 | // 43 | typedef struct _GLFWjoystickWin32 44 | { 45 | GLFWbool present; 46 | float* axes; 47 | int axisCount; 48 | unsigned char* buttons; 49 | int buttonCount; 50 | _GLFWjoyobjectWin32* objects; 51 | int objectCount; 52 | char* name; 53 | IDirectInputDevice8W* device; 54 | DWORD index; 55 | GUID guid; 56 | } _GLFWjoystickWin32; 57 | 58 | 59 | void _glfwInitJoysticksWin32(void); 60 | void _glfwTerminateJoysticksWin32(void); 61 | void _glfwDetectJoystickConnectionWin32(void); 62 | void _glfwDetectJoystickDisconnectionWin32(void); 63 | 64 | #endif // _glfw3_win32_joystick_h_ 65 | -------------------------------------------------------------------------------- /src/support/glfw/src/win32_time.c: -------------------------------------------------------------------------------- 1 | //======================================================================== 2 | // GLFW 3.2 Win32 - www.glfw.org 3 | //------------------------------------------------------------------------ 4 | // Copyright (c) 2002-2006 Marcus Geelnard 5 | // Copyright (c) 2006-2016 Camilla Berglund 6 | // 7 | // This software is provided 'as-is', without any express or implied 8 | // warranty. In no event will the authors be held liable for any damages 9 | // arising from the use of this software. 10 | // 11 | // Permission is granted to anyone to use this software for any purpose, 12 | // including commercial applications, and to alter it and redistribute it 13 | // freely, subject to the following restrictions: 14 | // 15 | // 1. The origin of this software must not be misrepresented; you must not 16 | // claim that you wrote the original software. If you use this software 17 | // in a product, an acknowledgment in the product documentation would 18 | // be appreciated but is not required. 19 | // 20 | // 2. Altered source versions must be plainly marked as such, and must not 21 | // be misrepresented as being the original software. 22 | // 23 | // 3. This notice may not be removed or altered from any source 24 | // distribution. 25 | // 26 | //======================================================================== 27 | 28 | #include "internal.h" 29 | 30 | 31 | ////////////////////////////////////////////////////////////////////////// 32 | ////// GLFW internal API ////// 33 | ////////////////////////////////////////////////////////////////////////// 34 | 35 | // Initialise timer 36 | // 37 | void _glfwInitTimerWin32(void) 38 | { 39 | uint64_t frequency; 40 | 41 | if (QueryPerformanceFrequency((LARGE_INTEGER*) &frequency)) 42 | { 43 | _glfw.win32_time.hasPC = GLFW_TRUE; 44 | _glfw.win32_time.frequency = frequency; 45 | } 46 | else 47 | { 48 | _glfw.win32_time.hasPC = GLFW_FALSE; 49 | _glfw.win32_time.frequency = 1000; 50 | } 51 | } 52 | 53 | 54 | ////////////////////////////////////////////////////////////////////////// 55 | ////// GLFW platform API ////// 56 | ////////////////////////////////////////////////////////////////////////// 57 | 58 | uint64_t _glfwPlatformGetTimerValue(void) 59 | { 60 | if (_glfw.win32_time.hasPC) 61 | { 62 | uint64_t value; 63 | QueryPerformanceCounter((LARGE_INTEGER*) &value); 64 | return value; 65 | } 66 | else 67 | return (uint64_t) _glfw_timeGetTime(); 68 | } 69 | 70 | uint64_t _glfwPlatformGetTimerFrequency(void) 71 | { 72 | return _glfw.win32_time.frequency; 73 | } 74 | 75 | -------------------------------------------------------------------------------- /src/support/glfw/src/win32_tls.c: -------------------------------------------------------------------------------- 1 | //======================================================================== 2 | // GLFW 3.2 Win32 - www.glfw.org 3 | //------------------------------------------------------------------------ 4 | // Copyright (c) 2002-2006 Marcus Geelnard 5 | // Copyright (c) 2006-2016 Camilla Berglund 6 | // 7 | // This software is provided 'as-is', without any express or implied 8 | // warranty. In no event will the authors be held liable for any damages 9 | // arising from the use of this software. 10 | // 11 | // Permission is granted to anyone to use this software for any purpose, 12 | // including commercial applications, and to alter it and redistribute it 13 | // freely, subject to the following restrictions: 14 | // 15 | // 1. The origin of this software must not be misrepresented; you must not 16 | // claim that you wrote the original software. If you use this software 17 | // in a product, an acknowledgment in the product documentation would 18 | // be appreciated but is not required. 19 | // 20 | // 2. Altered source versions must be plainly marked as such, and must not 21 | // be misrepresented as being the original software. 22 | // 23 | // 3. This notice may not be removed or altered from any source 24 | // distribution. 25 | // 26 | //======================================================================== 27 | 28 | #include "internal.h" 29 | 30 | 31 | ////////////////////////////////////////////////////////////////////////// 32 | ////// GLFW internal API ////// 33 | ////////////////////////////////////////////////////////////////////////// 34 | 35 | GLFWbool _glfwInitThreadLocalStorageWin32(void) 36 | { 37 | _glfw.win32_tls.context = TlsAlloc(); 38 | if (_glfw.win32_tls.context == TLS_OUT_OF_INDEXES) 39 | { 40 | _glfwInputError(GLFW_PLATFORM_ERROR, 41 | "Win32: Failed to allocate TLS index"); 42 | return GLFW_FALSE; 43 | } 44 | 45 | _glfw.win32_tls.allocated = GLFW_TRUE; 46 | return GLFW_TRUE; 47 | } 48 | 49 | void _glfwTerminateThreadLocalStorageWin32(void) 50 | { 51 | if (_glfw.win32_tls.allocated) 52 | TlsFree(_glfw.win32_tls.context); 53 | } 54 | 55 | 56 | ////////////////////////////////////////////////////////////////////////// 57 | ////// GLFW platform API ////// 58 | ////////////////////////////////////////////////////////////////////////// 59 | 60 | void _glfwPlatformSetCurrentContext(_GLFWwindow* context) 61 | { 62 | TlsSetValue(_glfw.win32_tls.context, context); 63 | } 64 | 65 | _GLFWwindow* _glfwPlatformGetCurrentContext(void) 66 | { 67 | return TlsGetValue(_glfw.win32_tls.context); 68 | } 69 | 70 | -------------------------------------------------------------------------------- /src/support/glfw/src/xkb_unicode.h: -------------------------------------------------------------------------------- 1 | //======================================================================== 2 | // GLFW 3.2 Linux - www.glfw.org 3 | //------------------------------------------------------------------------ 4 | // Copyright (c) 2014 Jonas Ådahl 5 | // 6 | // This software is provided 'as-is', without any express or implied 7 | // warranty. In no event will the authors be held liable for any damages 8 | // arising from the use of this software. 9 | // 10 | // Permission is granted to anyone to use this software for any purpose, 11 | // including commercial applications, and to alter it and redistribute it 12 | // freely, subject to the following restrictions: 13 | // 14 | // 1. The origin of this software must not be misrepresented; you must not 15 | // claim that you wrote the original software. If you use this software 16 | // in a product, an acknowledgment in the product documentation would 17 | // be appreciated but is not required. 18 | // 19 | // 2. Altered source versions must be plainly marked as such, and must not 20 | // be misrepresented as being the original software. 21 | // 22 | // 3. This notice may not be removed or altered from any source 23 | // distribution. 24 | // 25 | //======================================================================== 26 | 27 | #ifndef _glfw3_xkb_unicode_h_ 28 | #define _glfw3_xkb_unicode_h_ 29 | 30 | 31 | long _glfwKeySym2Unicode(unsigned int keysym); 32 | 33 | #endif // _glfw3_xkb_unicode_h_ 34 | -------------------------------------------------------------------------------- /src/support/glfw/tests/title.c: -------------------------------------------------------------------------------- 1 | //======================================================================== 2 | // UTF-8 window title test 3 | // Copyright (c) Camilla Berglund 4 | // 5 | // This software is provided 'as-is', without any express or implied 6 | // warranty. In no event will the authors be held liable for any damages 7 | // arising from the use of this software. 8 | // 9 | // Permission is granted to anyone to use this software for any purpose, 10 | // including commercial applications, and to alter it and redistribute it 11 | // freely, subject to the following restrictions: 12 | // 13 | // 1. The origin of this software must not be misrepresented; you must not 14 | // claim that you wrote the original software. If you use this software 15 | // in a product, an acknowledgment in the product documentation would 16 | // be appreciated but is not required. 17 | // 18 | // 2. Altered source versions must be plainly marked as such, and must not 19 | // be misrepresented as being the original software. 20 | // 21 | // 3. This notice may not be removed or altered from any source 22 | // distribution. 23 | // 24 | //======================================================================== 25 | // 26 | // This test sets a UTF-8 window title 27 | // 28 | //======================================================================== 29 | 30 | #include 31 | #include 32 | 33 | #include 34 | #include 35 | 36 | static void error_callback(int error, const char* description) 37 | { 38 | fprintf(stderr, "Error: %s\n", description); 39 | } 40 | 41 | static void framebuffer_size_callback(GLFWwindow* window, int width, int height) 42 | { 43 | glViewport(0, 0, width, height); 44 | } 45 | 46 | int main(void) 47 | { 48 | GLFWwindow* window; 49 | 50 | glfwSetErrorCallback(error_callback); 51 | 52 | if (!glfwInit()) 53 | exit(EXIT_FAILURE); 54 | 55 | window = glfwCreateWindow(400, 400, "English 日本語 русский язык 官話", NULL, NULL); 56 | if (!window) 57 | { 58 | glfwTerminate(); 59 | exit(EXIT_FAILURE); 60 | } 61 | 62 | glfwMakeContextCurrent(window); 63 | gladLoadGLLoader((GLADloadproc) glfwGetProcAddress); 64 | glfwSwapInterval(1); 65 | 66 | glfwSetFramebufferSizeCallback(window, framebuffer_size_callback); 67 | 68 | while (!glfwWindowShouldClose(window)) 69 | { 70 | glClear(GL_COLOR_BUFFER_BIT); 71 | glfwSwapBuffers(window); 72 | glfwWaitEvents(); 73 | } 74 | 75 | glfwTerminate(); 76 | exit(EXIT_SUCCESS); 77 | } 78 | 79 | -------------------------------------------------------------------------------- /src/support/imgui/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | include_directories(${CMAKE_CURRENT_SOURCE_DIR}) 3 | 4 | add_library( imgui SHARED 5 | imconfig.h 6 | imgui.cpp 7 | imgui_demo.cpp 8 | imgui_draw.cpp 9 | imgui.h 10 | imgui_impl_glfw.cpp 11 | imgui_impl_glfw.h 12 | imgui_internal.h 13 | stb_rect_pack.h 14 | stb_textedit.h 15 | stb_truetype.h 16 | ) 17 | 18 | target_link_libraries( imgui glfw ${OPENGL_gl_LIBRARY}) 19 | -------------------------------------------------------------------------------- /src/support/imgui/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2015 Omar Cornut and ImGui contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /src/support/imgui/imgui_impl_glfw.h: -------------------------------------------------------------------------------- 1 | // ImGui GLFW binding with OpenGL 2 | // In this binding, ImTextureID is used to store an OpenGL 'GLuint' texture identifier. Read the FAQ about ImTextureID in imgui.cpp. 3 | 4 | // If your context is GL3/GL3 then prefer using the code in opengl3_example. 5 | // You *might* use this code with a GL3/GL4 context but make sure you disable the programmable pipeline by calling "glUseProgram(0)" before ImGui::Render(). 6 | // We cannot do that from GL2 code because the function doesn't exist. 7 | 8 | // You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this. 9 | // If you use this binding you'll need to call 4 functions: ImGui_ImplXXXX_Init(), ImGui_ImplXXXX_NewFrame(), ImGui::Render() and ImGui_ImplXXXX_Shutdown(). 10 | // If you are new to ImGui, see examples/README.txt and documentation at the top of imgui.cpp. 11 | // https://github.com/ocornut/imgui 12 | 13 | struct GLFWwindow; 14 | 15 | IMGUI_API bool ImGui_ImplGlfw_Init(GLFWwindow* window, bool install_callbacks); 16 | IMGUI_API void ImGui_ImplGlfw_Shutdown(); 17 | IMGUI_API void ImGui_ImplGlfw_NewFrame(); 18 | 19 | // Use if you want to reset your rendering device without losing ImGui state. 20 | IMGUI_API void ImGui_ImplGlfw_InvalidateDeviceObjects(); 21 | IMGUI_API bool ImGui_ImplGlfw_CreateDeviceObjects(); 22 | 23 | // GLFW callbacks (installed by default if you enable 'install_callbacks' during initialization) 24 | // Provided here if you want to chain callbacks. 25 | // You can also handle inputs yourself and use those as a reference. 26 | IMGUI_API void ImGui_ImplGlfw_MouseButtonCallback(GLFWwindow* window, int button, int action, int mods); 27 | IMGUI_API void ImGui_ImplGlfw_ScrollCallback(GLFWwindow* window, double xoffset, double yoffset); 28 | IMGUI_API void ImGui_ImplGlfw_KeyCallback(GLFWwindow* window, int key, int scancode, int action, int mods); 29 | IMGUI_API void ImGui_ImplGlfw_CharCallback(GLFWwindow* window, unsigned int c); 30 | -------------------------------------------------------------------------------- /src/sutil/Arcball.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2016, NVIDIA CORPORATION. All rights reserved. 3 | * 4 | * Redistribution and use in source and binary forms, with or without 5 | * modification, are permitted provided that the following conditions 6 | * are met: 7 | * * Redistributions of source code must retain the above copyright 8 | * notice, this list of conditions and the following disclaimer. 9 | * * Redistributions in binary form must reproduce the above copyright 10 | * notice, this list of conditions and the following disclaimer in the 11 | * documentation and/or other materials provided with the distribution. 12 | * * Neither the name of NVIDIA CORPORATION nor the names of its 13 | * contributors may be used to endorse or promote products derived 14 | * from this software without specific prior written permission. 15 | * 16 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY 17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 19 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 20 | * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 21 | * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 22 | * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 23 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 24 | * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 | * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 | */ 28 | 29 | #pragma once 30 | 31 | #include 32 | #include 33 | 34 | namespace sutil 35 | { 36 | 37 | class Arcball 38 | { 39 | // 40 | // Note: all 2d units are in normalized [0,1] screen coords 41 | // 42 | public: 43 | 44 | SUTILAPI Arcball( const optix::float2& center, float radius ) 45 | : m_center(center), m_radius(radius) 46 | {} 47 | 48 | SUTILAPI Arcball() 49 | : m_center( optix::make_float2( 0.5f ) ), m_radius(0.45f) 50 | {} 51 | 52 | // Return incremental rotation. Does not save state. 53 | SUTILAPI optix::Matrix4x4 rotate(const optix::float2& from, const optix::float2& to) const; 54 | 55 | private: 56 | 57 | optix::float3 toSphere(const optix::float2& v) const; 58 | 59 | const optix::float2 m_center; 60 | const float m_radius; 61 | }; 62 | 63 | } // namespace sutil 64 | 65 | -------------------------------------------------------------------------------- /src/sutil/rply-1.01/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/src/sutil/rply-1.01/LICENSE -------------------------------------------------------------------------------- /src/sutil/stb/stb_image_write.cpp: -------------------------------------------------------------------------------- 1 | 2 | #define STB_IMAGE_WRITE_IMPLEMENTATION 3 | #include "stb_image_write.h" 4 | 5 | -------------------------------------------------------------------------------- /src/sutil/tinyobjloader/tiny_obj_loader.cc: -------------------------------------------------------------------------------- 1 | #define TINYOBJLOADER_IMPLEMENTATION 2 | #include "tiny_obj_loader.h" 3 | -------------------------------------------------------------------------------- /stormtrooper.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/knightcrawler25/Optix-PathTracer/29f89061dcca6e7e1d1c6bfd3ebbf7ac540530e4/stormtrooper.png --------------------------------------------------------------------------------