├── .DS_Store ├── .gitignore ├── Assignment1 ├── .vscode │ └── settings.json ├── CMakeLists.txt ├── Triangle.cpp ├── Triangle.hpp ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.10.2 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── Rasterizer.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── Triangle.cpp.o │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ ├── main.cpp.o │ │ │ ├── progress.make │ │ │ └── rasterizer.cpp.o │ │ ├── TargetDirectories.txt │ │ ├── cmake.check_cache │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ └── progress.marks │ ├── Makefile │ ├── Rasterizer │ └── cmake_install.cmake ├── main.cpp ├── rasterizer.cpp └── rasterizer.hpp ├── Assignment2 ├── CMakeLists.txt ├── Triangle.cpp ├── Triangle.hpp ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.10.2 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── Rasterizer.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── Triangle.cpp.o │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ ├── main.cpp.o │ │ │ ├── progress.make │ │ │ └── rasterizer.cpp.o │ │ ├── TargetDirectories.txt │ │ ├── cmake.check_cache │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ └── progress.marks │ ├── Makefile │ ├── Rasterizer │ ├── cmake_install.cmake │ └── ouput.png ├── global.hpp ├── main.cpp ├── rasterizer.cpp └── rasterizer.hpp ├── Assignment3 ├── .DS_Store ├── CMakeLists.txt ├── OBJ_Loader.h ├── Shader.hpp ├── Texture.cpp ├── Texture.hpp ├── Triangle.cpp ├── Triangle.hpp ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.10.2 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── Rasterizer.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── Texture.cpp.o │ │ │ ├── Triangle.cpp.o │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ ├── main.cpp.o │ │ │ ├── progress.make │ │ │ └── rasterizer.cpp.o │ │ ├── TargetDirectories.txt │ │ ├── cmake.check_cache │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ └── progress.marks │ ├── Makefile │ ├── Rasterizer │ ├── cmake_install.cmake │ └── hhh.png ├── bunny │ ├── normal.png │ └── phong.png ├── cube │ ├── normal.png │ ├── phong.png │ └── tex.png ├── global.hpp ├── main.cpp ├── models │ ├── .DS_Store │ ├── Crate │ │ ├── Crate1.3ds │ │ ├── Crate1.blend │ │ ├── Crate1.mtl │ │ ├── Crate1.obj │ │ ├── CrateImage1.JPG │ │ ├── CrateImage2.JPG │ │ └── crate_1.jpg │ ├── bunny │ │ └── bunny.obj │ ├── cube │ │ ├── cube.mtl │ │ ├── cube.obj │ │ ├── wall.tif │ │ └── wall1.tif │ ├── rock │ │ ├── rock.mtl │ │ ├── rock.obj │ │ └── rock.png │ └── spot │ │ ├── README.txt │ │ ├── hmap.jpg │ │ ├── spot_control_mesh.obj │ │ ├── spot_quadrangulated.obj │ │ ├── spot_texture.png │ │ ├── spot_texture.svg │ │ ├── spot_triangulated.obj │ │ └── spot_triangulated_good.obj ├── rasterizer.cpp ├── rasterizer.hpp └── spot │ ├── bump.png │ ├── displacement.png │ ├── normal.png │ ├── phong.png │ └── texture.png ├── Assignment6 ├── .DS_Store ├── AreaLight.hpp ├── BVH.cpp ├── BVH.hpp ├── Bounds3.hpp ├── CMakeLists.txt ├── Intersection.hpp ├── Light.hpp ├── Material.hpp ├── OBJ_Loader.hpp ├── Object.hpp ├── README.md ├── Ray.hpp ├── Renderer.cpp ├── Renderer.hpp ├── Scene.cpp ├── Scene.hpp ├── Sphere.hpp ├── Triangle.hpp ├── Vector.cpp ├── Vector.hpp ├── global.hpp ├── images │ └── binary.ppm ├── main.cpp └── models │ └── bunny │ └── bunny.obj ├── Assignment7 ├── .DS_Store ├── AreaLight.hpp ├── BVH.cpp ├── BVH.hpp ├── Bounds3.hpp ├── CMakeLists.txt ├── Intersection.hpp ├── Light.hpp ├── Material.hpp ├── OBJ_Loader.hpp ├── Object.hpp ├── README.md ├── Ray.hpp ├── Renderer.cpp ├── Renderer.hpp ├── Scene.cpp ├── Scene.hpp ├── Sphere.hpp ├── Triangle.hpp ├── Vector.cpp ├── Vector.hpp ├── global.hpp ├── images │ ├── 512_2.ppm │ ├── 512_8.ppm │ └── 784_16.ppm ├── main.cpp └── models │ ├── bunny │ └── bunny.obj │ └── cornellbox │ ├── floor.obj │ ├── left.obj │ ├── light.obj │ ├── right.obj │ ├── shortbox.obj │ └── tallbox.obj ├── README.md ├── assignment4 ├── .DS_Store ├── .vscode │ └── settings.json ├── CMakeLists.txt ├── build │ ├── BezierCurve │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.10.2 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── BezierCurve.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ ├── main.cpp.o │ │ │ └── progress.make │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── TargetDirectories.txt │ │ ├── cmake.check_cache │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ └── progress.marks │ ├── Makefile │ └── cmake_install.cmake ├── main.cpp ├── my_bezier_curve_AntiAliasing.png └── my_bezier_curve_normal.png ├── assignment5 ├── .DS_Store ├── CMakeLists.txt ├── Light.hpp ├── Object.hpp ├── Renderer.cpp ├── Renderer.hpp ├── Scene.cpp ├── Scene.hpp ├── Sphere.hpp ├── Triangle.hpp ├── Vector.hpp ├── global.hpp └── main.cpp ├── assignment8 ├── .DS_Store ├── CGL │ ├── .gitignore │ ├── CMakeLists.txt │ ├── cmake │ │ └── modules │ │ │ └── FindGLEW.cmake │ ├── deps │ │ ├── glew │ │ │ ├── CMakeLists.txt │ │ │ ├── LICENSE.txt │ │ │ ├── include │ │ │ │ └── GL │ │ │ │ │ ├── glew.h │ │ │ │ │ ├── glxew.h │ │ │ │ │ └── wglew.h │ │ │ └── src │ │ │ │ ├── glew.c │ │ │ │ ├── glewinfo.c │ │ │ │ └── visualinfo.c │ │ └── glfw │ │ │ ├── CMake │ │ │ ├── AppleInfo.plist │ │ │ ├── amd64-mingw32msvc.cmake │ │ │ ├── i586-mingw32msvc.cmake │ │ │ ├── i686-pc-mingw32.cmake │ │ │ ├── i686-w64-mingw32.cmake │ │ │ ├── modules │ │ │ │ ├── FindEGL.cmake │ │ │ │ ├── FindGLESv1.cmake │ │ │ │ ├── FindGLESv2.cmake │ │ │ │ ├── FindMir.cmake │ │ │ │ ├── FindWayland.cmake │ │ │ │ └── FindXKBCommon.cmake │ │ │ └── x86_64-w64-mingw32.cmake │ │ │ ├── CMakeLists.txt │ │ │ ├── COPYING.txt │ │ │ ├── cmake_uninstall.cmake.in │ │ │ ├── deps │ │ │ ├── EGL │ │ │ │ └── eglext.h │ │ │ ├── GL │ │ │ │ ├── glext.h │ │ │ │ ├── glxext.h │ │ │ │ └── wglext.h │ │ │ ├── KHR │ │ │ │ └── khrplatform.h │ │ │ ├── getopt.c │ │ │ ├── getopt.h │ │ │ ├── glad.c │ │ │ ├── glad │ │ │ │ └── glad.h │ │ │ ├── tinycthread.c │ │ │ └── tinycthread.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 │ │ │ │ ├── bc_s.png │ │ │ │ ├── bdwn.png │ │ │ │ ├── bug.html │ │ │ │ ├── build.html │ │ │ │ ├── build_8dox.html │ │ │ │ ├── classes.html │ │ │ │ ├── closed.png │ │ │ │ ├── compat.html │ │ │ │ ├── compat_8dox.html │ │ │ │ ├── compile.html │ │ │ │ ├── compile_8dox.html │ │ │ │ ├── context.html │ │ │ │ ├── context_8dox.html │ │ │ │ ├── dir_2424ad704b206c89082f9408cac4dea1.html │ │ │ │ ├── dir_cad64ac143687238294d0ef1c4308bc1.html │ │ │ │ ├── dir_d0d9ff8e306589526ff939d1e8a51d35.html │ │ │ │ ├── doxygen.css │ │ │ │ ├── doxygen.png │ │ │ │ ├── dynsections.js │ │ │ │ ├── extra.css │ │ │ │ ├── files.html │ │ │ │ ├── ftv2blank.png │ │ │ │ ├── ftv2cl.png │ │ │ │ ├── ftv2doc.png │ │ │ │ ├── ftv2folderclosed.png │ │ │ │ ├── ftv2folderopen.png │ │ │ │ ├── ftv2lastnode.png │ │ │ │ ├── ftv2link.png │ │ │ │ ├── ftv2mlastnode.png │ │ │ │ ├── ftv2mnode.png │ │ │ │ ├── ftv2mo.png │ │ │ │ ├── ftv2node.png │ │ │ │ ├── ftv2ns.png │ │ │ │ ├── ftv2plastnode.png │ │ │ │ ├── ftv2pnode.png │ │ │ │ ├── ftv2splitbar.png │ │ │ │ ├── ftv2vertline.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_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_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__window.html │ │ │ │ ├── index.html │ │ │ │ ├── input.html │ │ │ │ ├── input_8dox.html │ │ │ │ ├── intro.html │ │ │ │ ├── intro_8dox.html │ │ │ │ ├── jquery.js │ │ │ │ ├── main_8dox.html │ │ │ │ ├── modules.html │ │ │ │ ├── monitor.html │ │ │ │ ├── monitor_8dox.html │ │ │ │ ├── moving.html │ │ │ │ ├── moving_8dox.html │ │ │ │ ├── nav_f.png │ │ │ │ ├── nav_g.png │ │ │ │ ├── nav_h.png │ │ │ │ ├── news.html │ │ │ │ ├── news_8dox.html │ │ │ │ ├── open.png │ │ │ │ ├── pages.html │ │ │ │ ├── quick.html │ │ │ │ ├── quick_8dox.html │ │ │ │ ├── rift.html │ │ │ │ ├── rift_8dox.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 │ │ │ │ │ ├── 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 │ │ │ │ │ ├── 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 │ │ │ │ ├── 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 │ │ │ │ ├── window.html │ │ │ │ └── window_8dox.html │ │ │ ├── input.dox │ │ │ ├── internal.dox │ │ │ ├── intro.dox │ │ │ ├── main.dox │ │ │ ├── monitor.dox │ │ │ ├── moving.dox │ │ │ ├── news.dox │ │ │ ├── quick.dox │ │ │ ├── rift.dox │ │ │ ├── spaces.svg │ │ │ └── window.dox │ │ │ ├── examples │ │ │ ├── CMakeLists.txt │ │ │ ├── boing.c │ │ │ ├── gears.c │ │ │ ├── heightmap.c │ │ │ ├── particles.c │ │ │ ├── simple.c │ │ │ ├── splitview.c │ │ │ └── wave.c │ │ │ ├── include │ │ │ └── GLFW │ │ │ │ ├── glfw3.h │ │ │ │ └── glfw3native.h │ │ │ ├── src │ │ │ ├── CMakeLists.txt │ │ │ ├── cocoa_init.m │ │ │ ├── cocoa_monitor.m │ │ │ ├── cocoa_platform.h │ │ │ ├── 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 │ │ │ ├── iokit_joystick.h │ │ │ ├── iokit_joystick.m │ │ │ ├── linux_joystick.c │ │ │ ├── linux_joystick.h │ │ │ ├── mach_time.c │ │ │ ├── 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 │ │ │ ├── wgl_context.c │ │ │ ├── wgl_context.h │ │ │ ├── win32_init.c │ │ │ ├── win32_monitor.c │ │ │ ├── win32_platform.h │ │ │ ├── win32_time.c │ │ │ ├── win32_tls.c │ │ │ ├── win32_tls.h │ │ │ ├── win32_window.c │ │ │ ├── window.c │ │ │ ├── winmm_joystick.c │ │ │ ├── winmm_joystick.h │ │ │ ├── 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 │ │ │ ├── accuracy.c │ │ │ ├── clipboard.c │ │ │ ├── cursor.c │ │ │ ├── cursoranim.c │ │ │ ├── defaults.c │ │ │ ├── empty.c │ │ │ ├── events.c │ │ │ ├── fsaa.c │ │ │ ├── gamma.c │ │ │ ├── glfwinfo.c │ │ │ ├── iconify.c │ │ │ ├── joysticks.c │ │ │ ├── monitors.c │ │ │ ├── peter.c │ │ │ ├── reopen.c │ │ │ ├── sharing.c │ │ │ ├── tearing.c │ │ │ ├── threads.c │ │ │ ├── title.c │ │ │ └── windows.c │ ├── examples │ │ ├── CMakeLists.txt │ │ ├── text.cpp │ │ └── triangle.cpp │ ├── include │ │ ├── CGL │ │ │ ├── CGL.h │ │ │ ├── base64.h │ │ │ ├── color.h │ │ │ ├── complex.h │ │ │ ├── matrix3x3.h │ │ │ ├── matrix4x4.h │ │ │ ├── misc.h │ │ │ ├── osdtext.h │ │ │ ├── quaternion.h │ │ │ ├── renderer.h │ │ │ ├── tinyxml2.h │ │ │ ├── vector2D.h │ │ │ ├── vector3D.h │ │ │ ├── vector4D.h │ │ │ └── viewer.h │ │ ├── GL │ │ │ ├── glew.h │ │ │ ├── glxew.h │ │ │ └── wglew.h │ │ └── GLFW │ │ │ ├── glfw3.h │ │ │ └── glfw3native.h │ ├── src │ │ ├── CGL.h │ │ ├── CMakeLists.txt │ │ ├── base64.cpp │ │ ├── base64.h │ │ ├── color.cpp │ │ ├── color.h │ │ ├── complex.cpp │ │ ├── complex.h │ │ ├── console.h │ │ ├── matrix3x3.cpp │ │ ├── matrix3x3.h │ │ ├── matrix4x4.cpp │ │ ├── matrix4x4.h │ │ ├── osdfont.c │ │ ├── osdtext.cpp │ │ ├── osdtext.h │ │ ├── quaternion.cpp │ │ ├── quaternion.h │ │ ├── renderer.h │ │ ├── tinyxml2.cpp │ │ ├── tinyxml2.h │ │ ├── vector2D.cpp │ │ ├── vector2D.h │ │ ├── vector3D.cpp │ │ ├── vector3D.h │ │ ├── vector4D.cpp │ │ ├── vector4D.h │ │ ├── viewer.cpp │ │ └── viewer.h │ └── tests │ │ ├── CMakeLists.txt │ │ └── osd.cpp ├── CMakeLists.txt ├── README.md └── src │ ├── .DS_Store │ ├── CMakeLists.txt │ ├── application.cpp │ ├── application.h │ ├── images │ └── homework8.gif │ ├── main.cpp │ ├── mass.h │ ├── rope.cpp │ ├── rope.h │ └── spring.h ├── clothrendering ├── .DS_Store ├── AreaLight.hpp ├── BVH.cpp ├── BVH.hpp ├── Bounds3.hpp ├── CMakeLists.txt ├── Intersection.hpp ├── Light.hpp ├── Material.hpp ├── OBJ_Loader.hpp ├── Object.hpp ├── README.md ├── Ray.hpp ├── Renderer.cpp ├── Renderer.hpp ├── Scene.cpp ├── Scene.hpp ├── Sphere.hpp ├── Triangle.hpp ├── Vector.cpp ├── Vector.hpp ├── global.hpp ├── images │ ├── 512_2.ppm │ ├── 512_8.ppm │ └── 784_16.ppm ├── main.cpp └── models │ ├── .DS_Store │ ├── bunny │ └── bunny.obj │ ├── cornellbox │ ├── floor.obj │ ├── left.obj │ ├── light.obj │ ├── right.obj │ ├── shortbox.obj │ └── tallbox.obj │ └── pillownew.obj ├── pa0 ├── .vscode │ └── settings.json ├── CMakeLists.txt ├── build │ ├── CMakeCache.txt │ ├── CMakeFiles │ │ ├── 3.10.2 │ │ │ ├── CMakeCCompiler.cmake │ │ │ ├── CMakeCXXCompiler.cmake │ │ │ ├── CMakeDetermineCompilerABI_C.bin │ │ │ ├── CMakeDetermineCompilerABI_CXX.bin │ │ │ ├── CMakeSystem.cmake │ │ │ ├── CompilerIdC │ │ │ │ ├── CMakeCCompilerId.c │ │ │ │ └── a.out │ │ │ └── CompilerIdCXX │ │ │ │ ├── CMakeCXXCompilerId.cpp │ │ │ │ └── a.out │ │ ├── CMakeDirectoryInformation.cmake │ │ ├── CMakeOutput.log │ │ ├── Makefile.cmake │ │ ├── Makefile2 │ │ ├── TargetDirectories.txt │ │ ├── Transformation.dir │ │ │ ├── CXX.includecache │ │ │ ├── DependInfo.cmake │ │ │ ├── build.make │ │ │ ├── cmake_clean.cmake │ │ │ ├── depend.internal │ │ │ ├── depend.make │ │ │ ├── flags.make │ │ │ ├── link.txt │ │ │ ├── main.cpp.o │ │ │ └── progress.make │ │ ├── cmake.check_cache │ │ ├── feature_tests.bin │ │ ├── feature_tests.c │ │ ├── feature_tests.cxx │ │ └── progress.marks │ ├── Makefile │ ├── Transformation │ └── cmake_install.cmake └── main.cpp └── project ├── .DS_Store ├── CGL ├── .gitignore ├── CMakeLists.txt ├── cmake │ └── modules │ │ └── FindGLEW.cmake ├── deps │ ├── glew │ │ ├── CMakeLists.txt │ │ ├── LICENSE.txt │ │ ├── include │ │ │ └── GL │ │ │ │ ├── glew.h │ │ │ │ ├── glxew.h │ │ │ │ └── wglew.h │ │ └── src │ │ │ ├── glew.c │ │ │ ├── glewinfo.c │ │ │ └── visualinfo.c │ └── glfw │ │ ├── CMake │ │ ├── AppleInfo.plist │ │ ├── amd64-mingw32msvc.cmake │ │ ├── i586-mingw32msvc.cmake │ │ ├── i686-pc-mingw32.cmake │ │ ├── i686-w64-mingw32.cmake │ │ ├── modules │ │ │ ├── FindEGL.cmake │ │ │ ├── FindGLESv1.cmake │ │ │ ├── FindGLESv2.cmake │ │ │ ├── FindMir.cmake │ │ │ ├── FindWayland.cmake │ │ │ └── FindXKBCommon.cmake │ │ └── x86_64-w64-mingw32.cmake │ │ ├── CMakeLists.txt │ │ ├── COPYING.txt │ │ ├── cmake_uninstall.cmake.in │ │ ├── deps │ │ ├── EGL │ │ │ └── eglext.h │ │ ├── GL │ │ │ ├── glext.h │ │ │ ├── glxext.h │ │ │ └── wglext.h │ │ ├── KHR │ │ │ └── khrplatform.h │ │ ├── getopt.c │ │ ├── getopt.h │ │ ├── glad.c │ │ ├── glad │ │ │ └── glad.h │ │ ├── tinycthread.c │ │ └── tinycthread.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 │ │ │ ├── bc_s.png │ │ │ ├── bdwn.png │ │ │ ├── bug.html │ │ │ ├── build.html │ │ │ ├── build_8dox.html │ │ │ ├── classes.html │ │ │ ├── closed.png │ │ │ ├── compat.html │ │ │ ├── compat_8dox.html │ │ │ ├── compile.html │ │ │ ├── compile_8dox.html │ │ │ ├── context.html │ │ │ ├── context_8dox.html │ │ │ ├── dir_2424ad704b206c89082f9408cac4dea1.html │ │ │ ├── dir_cad64ac143687238294d0ef1c4308bc1.html │ │ │ ├── dir_d0d9ff8e306589526ff939d1e8a51d35.html │ │ │ ├── doxygen.css │ │ │ ├── doxygen.png │ │ │ ├── dynsections.js │ │ │ ├── extra.css │ │ │ ├── files.html │ │ │ ├── ftv2blank.png │ │ │ ├── ftv2cl.png │ │ │ ├── ftv2doc.png │ │ │ ├── ftv2folderclosed.png │ │ │ ├── ftv2folderopen.png │ │ │ ├── ftv2lastnode.png │ │ │ ├── ftv2link.png │ │ │ ├── ftv2mlastnode.png │ │ │ ├── ftv2mnode.png │ │ │ ├── ftv2mo.png │ │ │ ├── ftv2node.png │ │ │ ├── ftv2ns.png │ │ │ ├── ftv2plastnode.png │ │ │ ├── ftv2pnode.png │ │ │ ├── ftv2splitbar.png │ │ │ ├── ftv2vertline.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_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_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__window.html │ │ │ ├── index.html │ │ │ ├── input.html │ │ │ ├── input_8dox.html │ │ │ ├── intro.html │ │ │ ├── intro_8dox.html │ │ │ ├── jquery.js │ │ │ ├── main_8dox.html │ │ │ ├── modules.html │ │ │ ├── monitor.html │ │ │ ├── monitor_8dox.html │ │ │ ├── moving.html │ │ │ ├── moving_8dox.html │ │ │ ├── nav_f.png │ │ │ ├── nav_g.png │ │ │ ├── nav_h.png │ │ │ ├── news.html │ │ │ ├── news_8dox.html │ │ │ ├── open.png │ │ │ ├── pages.html │ │ │ ├── quick.html │ │ │ ├── quick_8dox.html │ │ │ ├── rift.html │ │ │ ├── rift_8dox.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 │ │ │ │ ├── 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 │ │ │ │ ├── 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 │ │ │ ├── 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 │ │ │ ├── window.html │ │ │ └── window_8dox.html │ │ ├── input.dox │ │ ├── internal.dox │ │ ├── intro.dox │ │ ├── main.dox │ │ ├── monitor.dox │ │ ├── moving.dox │ │ ├── news.dox │ │ ├── quick.dox │ │ ├── rift.dox │ │ ├── spaces.svg │ │ └── window.dox │ │ ├── examples │ │ ├── CMakeLists.txt │ │ ├── boing.c │ │ ├── gears.c │ │ ├── heightmap.c │ │ ├── particles.c │ │ ├── simple.c │ │ ├── splitview.c │ │ └── wave.c │ │ ├── include │ │ └── GLFW │ │ │ ├── glfw3.h │ │ │ └── glfw3native.h │ │ ├── src │ │ ├── CMakeLists.txt │ │ ├── cocoa_init.m │ │ ├── cocoa_monitor.m │ │ ├── cocoa_platform.h │ │ ├── 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 │ │ ├── iokit_joystick.h │ │ ├── iokit_joystick.m │ │ ├── linux_joystick.c │ │ ├── linux_joystick.h │ │ ├── mach_time.c │ │ ├── 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 │ │ ├── wgl_context.c │ │ ├── wgl_context.h │ │ ├── win32_init.c │ │ ├── win32_monitor.c │ │ ├── win32_platform.h │ │ ├── win32_time.c │ │ ├── win32_tls.c │ │ ├── win32_tls.h │ │ ├── win32_window.c │ │ ├── window.c │ │ ├── winmm_joystick.c │ │ ├── winmm_joystick.h │ │ ├── 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 │ │ ├── accuracy.c │ │ ├── clipboard.c │ │ ├── cursor.c │ │ ├── cursoranim.c │ │ ├── defaults.c │ │ ├── empty.c │ │ ├── events.c │ │ ├── fsaa.c │ │ ├── gamma.c │ │ ├── glfwinfo.c │ │ ├── iconify.c │ │ ├── joysticks.c │ │ ├── monitors.c │ │ ├── peter.c │ │ ├── reopen.c │ │ ├── sharing.c │ │ ├── tearing.c │ │ ├── threads.c │ │ ├── title.c │ │ └── windows.c ├── examples │ ├── CMakeLists.txt │ ├── text.cpp │ └── triangle.cpp ├── include │ ├── CGL │ │ ├── CGL.h │ │ ├── base64.h │ │ ├── color.h │ │ ├── complex.h │ │ ├── matrix3x3.h │ │ ├── matrix4x4.h │ │ ├── misc.h │ │ ├── osdtext.h │ │ ├── quaternion.h │ │ ├── renderer.h │ │ ├── tinyxml2.h │ │ ├── vector2D.h │ │ ├── vector3D.h │ │ ├── vector4D.h │ │ └── viewer.h │ ├── GL │ │ ├── glew.h │ │ ├── glxew.h │ │ └── wglew.h │ └── GLFW │ │ ├── glfw3.h │ │ └── glfw3native.h ├── src │ ├── CGL.h │ ├── CMakeLists.txt │ ├── base64.cpp │ ├── base64.h │ ├── color.cpp │ ├── color.h │ ├── complex.cpp │ ├── complex.h │ ├── console.h │ ├── matrix3x3.cpp │ ├── matrix3x3.h │ ├── matrix4x4.cpp │ ├── matrix4x4.h │ ├── osdfont.c │ ├── osdtext.cpp │ ├── osdtext.h │ ├── quaternion.cpp │ ├── quaternion.h │ ├── renderer.h │ ├── tinyxml2.cpp │ ├── tinyxml2.h │ ├── vector2D.cpp │ ├── vector2D.h │ ├── vector3D.cpp │ ├── vector3D.h │ ├── vector4D.cpp │ ├── vector4D.h │ ├── viewer.cpp │ └── viewer.h └── tests │ ├── CMakeLists.txt │ └── osd.cpp ├── CMakeLists.txt ├── README.md └── src ├── CMakeLists.txt ├── application.cpp ├── application.h ├── main.cpp ├── mass.h ├── rope.cpp ├── rope.h └── spring.h /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Directory 2 | build 3 | -------------------------------------------------------------------------------- /Assignment1/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "files.associations": { 3 | "iostream": "cpp", 4 | "cmath": "cpp" 5 | } 6 | } -------------------------------------------------------------------------------- /Assignment1/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project(Rasterizer) 3 | 4 | find_package(OpenCV REQUIRED) 5 | 6 | set(CMAKE_CXX_STANDARD 17) 7 | 8 | include_directories(/usr/local/include) 9 | 10 | add_executable(Rasterizer main.cpp rasterizer.hpp rasterizer.cpp Triangle.hpp Triangle.cpp) 11 | target_link_libraries(Rasterizer ${OpenCV_LIBRARIES}) 12 | -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/3.10.2/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment1/build/CMakeFiles/3.10.2/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/3.10.2/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment1/build/CMakeFiles/3.10.2/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/3.10.2/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-4.18.0-17-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "4.18.0-17-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-4.18.0-17-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "4.18.0-17-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/3.10.2/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment1/build/CMakeFiles/3.10.2/CompilerIdC/a.out -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/3.10.2/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment1/build/CMakeFiles/3.10.2/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.10 3 | 4 | # Relative path conversion top directories. 5 | set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cs18/Games101/Assignment1") 6 | set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cs18/Games101/Assignment1/build") 7 | 8 | # Force unix paths in dependencies. 9 | set(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/Rasterizer.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/cs18/Games101/Assignment1/Triangle.cpp" "/home/cs18/Games101/Assignment1/build/CMakeFiles/Rasterizer.dir/Triangle.cpp.o" 8 | "/home/cs18/Games101/Assignment1/main.cpp" "/home/cs18/Games101/Assignment1/build/CMakeFiles/Rasterizer.dir/main.cpp.o" 9 | "/home/cs18/Games101/Assignment1/rasterizer.cpp" "/home/cs18/Games101/Assignment1/build/CMakeFiles/Rasterizer.dir/rasterizer.cpp.o" 10 | ) 11 | set(CMAKE_CXX_COMPILER_ID "GNU") 12 | 13 | # The include file search paths: 14 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 15 | "/usr/local/include" 16 | "/usr/include/opencv" 17 | ) 18 | 19 | # Targets to which this target links. 20 | set(CMAKE_TARGET_LINKED_INFO_FILES 21 | ) 22 | 23 | # Fortran module output directory. 24 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 25 | -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/Rasterizer.dir/Triangle.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment1/build/CMakeFiles/Rasterizer.dir/Triangle.cpp.o -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/Rasterizer.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/Rasterizer.dir/main.cpp.o" 3 | "CMakeFiles/Rasterizer.dir/rasterizer.cpp.o" 4 | "CMakeFiles/Rasterizer.dir/Triangle.cpp.o" 5 | "Rasterizer.pdb" 6 | "Rasterizer" 7 | ) 8 | 9 | # Per-language clean rules from dependency scanning. 10 | foreach(lang CXX) 11 | include(CMakeFiles/Rasterizer.dir/cmake_clean_${lang}.cmake OPTIONAL) 12 | endforeach() 13 | -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/Rasterizer.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.10 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=gnu++1z 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -I/usr/local/include -isystem /usr/include/opencv 10 | 11 | -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/Rasterizer.dir/main.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment1/build/CMakeFiles/Rasterizer.dir/main.cpp.o -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/Rasterizer.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | CMAKE_PROGRESS_3 = 3 4 | CMAKE_PROGRESS_4 = 4 5 | 6 | -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/Rasterizer.dir/rasterizer.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment1/build/CMakeFiles/Rasterizer.dir/rasterizer.cpp.o -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/cs18/Games101/Assignment1/build/CMakeFiles/rebuild_cache.dir 2 | /home/cs18/Games101/Assignment1/build/CMakeFiles/Rasterizer.dir 3 | /home/cs18/Games101/Assignment1/build/CMakeFiles/edit_cache.dir 4 | -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment1/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /Assignment1/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /Assignment1/build/Rasterizer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment1/build/Rasterizer -------------------------------------------------------------------------------- /Assignment2/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project(Rasterizer) 3 | 4 | find_package(OpenCV REQUIRED) 5 | 6 | set(CMAKE_CXX_STANDARD 17) 7 | 8 | include_directories(/usr/local/include) 9 | 10 | add_executable(Rasterizer main.cpp rasterizer.hpp rasterizer.cpp global.hpp Triangle.hpp Triangle.cpp) 11 | target_link_libraries(Rasterizer ${OpenCV_LIBRARIES}) 12 | -------------------------------------------------------------------------------- /Assignment2/Triangle.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 4/11/19. 3 | // 4 | 5 | #ifndef RASTERIZER_TRIANGLE_H 6 | #define RASTERIZER_TRIANGLE_H 7 | 8 | #include 9 | 10 | 11 | using namespace Eigen; 12 | class Triangle{ 13 | 14 | public: 15 | Vector3f v[3]; /*the original coordinates of the triangle, v0, v1, v2 in counter clockwise order*/ 16 | /*Per vertex values*/ 17 | Vector3f color[3]; //color at each vertex; 18 | Vector2f tex_coords[3]; //texture u,v 19 | Vector3f normal[3]; //normal vector for each vertex 20 | 21 | //Texture *tex; 22 | Triangle(); 23 | 24 | void setVertex(int ind, Vector3f ver); /*set i-th vertex coordinates */ 25 | void setNormal(int ind, Vector3f n); /*set i-th vertex normal vector*/ 26 | void setColor(int ind, float r, float g, float b); /*set i-th vertex color*/ 27 | Vector3f getColor() const { return color[0]*255; } // Only one color per triangle. 28 | void setTexCoord(int ind, float s, float t); /*set i-th vertex texture coordinate*/ 29 | std::array toVector4() const; 30 | }; 31 | 32 | 33 | 34 | 35 | 36 | 37 | #endif //RASTERIZER_TRIANGLE_H 38 | -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/3.10.2/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment2/build/CMakeFiles/3.10.2/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/3.10.2/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment2/build/CMakeFiles/3.10.2/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/3.10.2/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-4.18.0-17-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "4.18.0-17-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-4.18.0-17-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "4.18.0-17-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/3.10.2/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment2/build/CMakeFiles/3.10.2/CompilerIdC/a.out -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/3.10.2/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment2/build/CMakeFiles/3.10.2/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.10 3 | 4 | # Relative path conversion top directories. 5 | set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cs18/Games101/Assignment2") 6 | set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cs18/Games101/Assignment2/build") 7 | 8 | # Force unix paths in dependencies. 9 | set(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/Rasterizer.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/cs18/Games101/Assignment2/Triangle.cpp" "/home/cs18/Games101/Assignment2/build/CMakeFiles/Rasterizer.dir/Triangle.cpp.o" 8 | "/home/cs18/Games101/Assignment2/main.cpp" "/home/cs18/Games101/Assignment2/build/CMakeFiles/Rasterizer.dir/main.cpp.o" 9 | "/home/cs18/Games101/Assignment2/rasterizer.cpp" "/home/cs18/Games101/Assignment2/build/CMakeFiles/Rasterizer.dir/rasterizer.cpp.o" 10 | ) 11 | set(CMAKE_CXX_COMPILER_ID "GNU") 12 | 13 | # The include file search paths: 14 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 15 | "/usr/local/include" 16 | "/usr/include/opencv" 17 | ) 18 | 19 | # Targets to which this target links. 20 | set(CMAKE_TARGET_LINKED_INFO_FILES 21 | ) 22 | 23 | # Fortran module output directory. 24 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 25 | -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/Rasterizer.dir/Triangle.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment2/build/CMakeFiles/Rasterizer.dir/Triangle.cpp.o -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/Rasterizer.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/Rasterizer.dir/main.cpp.o" 3 | "CMakeFiles/Rasterizer.dir/rasterizer.cpp.o" 4 | "CMakeFiles/Rasterizer.dir/Triangle.cpp.o" 5 | "Rasterizer.pdb" 6 | "Rasterizer" 7 | ) 8 | 9 | # Per-language clean rules from dependency scanning. 10 | foreach(lang CXX) 11 | include(CMakeFiles/Rasterizer.dir/cmake_clean_${lang}.cmake OPTIONAL) 12 | endforeach() 13 | -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/Rasterizer.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.10 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=gnu++1z 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -I/usr/local/include -isystem /usr/include/opencv 10 | 11 | -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/Rasterizer.dir/main.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment2/build/CMakeFiles/Rasterizer.dir/main.cpp.o -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/Rasterizer.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | CMAKE_PROGRESS_3 = 3 4 | CMAKE_PROGRESS_4 = 4 5 | 6 | -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/Rasterizer.dir/rasterizer.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment2/build/CMakeFiles/Rasterizer.dir/rasterizer.cpp.o -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/cs18/Games101/Assignment2/build/CMakeFiles/rebuild_cache.dir 2 | /home/cs18/Games101/Assignment2/build/CMakeFiles/Rasterizer.dir 3 | /home/cs18/Games101/Assignment2/build/CMakeFiles/edit_cache.dir 4 | -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment2/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /Assignment2/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 4 2 | -------------------------------------------------------------------------------- /Assignment2/build/Rasterizer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment2/build/Rasterizer -------------------------------------------------------------------------------- /Assignment2/build/ouput.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment2/build/ouput.png -------------------------------------------------------------------------------- /Assignment2/global.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 4/9/19. 3 | // 4 | 5 | #ifndef RASTERIZER_GLOBAL_H 6 | #define RASTERIZER_GLOBAL_H 7 | 8 | //#define MY_PI 3.1415926 9 | //#define TWO_PI (2.0* MY_PI) 10 | 11 | 12 | #endif //RASTERIZER_GLOBAL_H 13 | -------------------------------------------------------------------------------- /Assignment3/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/.DS_Store -------------------------------------------------------------------------------- /Assignment3/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project(Rasterizer) 3 | 4 | find_package(OpenCV REQUIRED) 5 | 6 | set(CMAKE_CXX_STANDARD 17) 7 | 8 | include_directories(/usr/local/include ./include) 9 | 10 | add_executable(Rasterizer main.cpp rasterizer.hpp rasterizer.cpp global.hpp Triangle.hpp Triangle.cpp Texture.hpp Texture.cpp Shader.hpp OBJ_Loader.h) 11 | target_link_libraries(Rasterizer ${OpenCV_LIBRARIES}) 12 | #target_compile_options(Rasterizer PUBLIC -Wall -Wextra -pedantic) -------------------------------------------------------------------------------- /Assignment3/Shader.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 4/27/19. 3 | // 4 | 5 | #ifndef RASTERIZER_SHADER_H 6 | #define RASTERIZER_SHADER_H 7 | #include 8 | #include "Texture.hpp" 9 | 10 | 11 | struct fragment_shader_payload 12 | { 13 | fragment_shader_payload() 14 | { 15 | texture = nullptr; 16 | } 17 | 18 | fragment_shader_payload(const Eigen::Vector3f& col, const Eigen::Vector3f& nor,const Eigen::Vector2f& tc, Texture* tex) : 19 | color(col), normal(nor), tex_coords(tc), texture(tex) {} 20 | 21 | 22 | Eigen::Vector3f view_pos; 23 | Eigen::Vector3f color; 24 | Eigen::Vector3f normal; 25 | Eigen::Vector2f tex_coords; 26 | Texture* texture; 27 | }; 28 | 29 | struct vertex_shader_payload 30 | { 31 | Eigen::Vector3f position; 32 | }; 33 | 34 | #endif //RASTERIZER_SHADER_H 35 | -------------------------------------------------------------------------------- /Assignment3/Texture.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 4/27/19. 3 | // 4 | 5 | -------------------------------------------------------------------------------- /Assignment3/Texture.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 4/27/19. 3 | // 4 | 5 | #ifndef RASTERIZER_TEXTURE_H 6 | #define RASTERIZER_TEXTURE_H 7 | #include "global.hpp" 8 | #include 9 | #include 10 | class Texture{ 11 | private: 12 | cv::Mat image_data; 13 | 14 | public: 15 | Texture(const std::string& name) 16 | { 17 | std::cout<(v_img, u_img); 31 | return Eigen::Vector3f(color[0], color[1], color[2]); 32 | } 33 | 34 | }; 35 | #endif //RASTERIZER_TEXTURE_H 36 | -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/3.10.2/CMakeDetermineCompilerABI_C.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/build/CMakeFiles/3.10.2/CMakeDetermineCompilerABI_C.bin -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/3.10.2/CMakeDetermineCompilerABI_CXX.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/build/CMakeFiles/3.10.2/CMakeDetermineCompilerABI_CXX.bin -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/3.10.2/CMakeSystem.cmake: -------------------------------------------------------------------------------- 1 | set(CMAKE_HOST_SYSTEM "Linux-4.18.0-17-generic") 2 | set(CMAKE_HOST_SYSTEM_NAME "Linux") 3 | set(CMAKE_HOST_SYSTEM_VERSION "4.18.0-17-generic") 4 | set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") 5 | 6 | 7 | 8 | set(CMAKE_SYSTEM "Linux-4.18.0-17-generic") 9 | set(CMAKE_SYSTEM_NAME "Linux") 10 | set(CMAKE_SYSTEM_VERSION "4.18.0-17-generic") 11 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 12 | 13 | set(CMAKE_CROSSCOMPILING "FALSE") 14 | 15 | set(CMAKE_SYSTEM_LOADED 1) 16 | -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/3.10.2/CompilerIdC/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/build/CMakeFiles/3.10.2/CompilerIdC/a.out -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/3.10.2/CompilerIdCXX/a.out: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/build/CMakeFiles/3.10.2/CompilerIdCXX/a.out -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.10 3 | 4 | # Relative path conversion top directories. 5 | set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cs18/Games101/Assignment3") 6 | set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cs18/Games101/Assignment3/build") 7 | 8 | # Force unix paths in dependencies. 9 | set(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/Rasterizer.dir/Texture.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/build/CMakeFiles/Rasterizer.dir/Texture.cpp.o -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/Rasterizer.dir/Triangle.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/build/CMakeFiles/Rasterizer.dir/Triangle.cpp.o -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/Rasterizer.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/Rasterizer.dir/main.cpp.o" 3 | "CMakeFiles/Rasterizer.dir/rasterizer.cpp.o" 4 | "CMakeFiles/Rasterizer.dir/Triangle.cpp.o" 5 | "CMakeFiles/Rasterizer.dir/Texture.cpp.o" 6 | "Rasterizer.pdb" 7 | "Rasterizer" 8 | ) 9 | 10 | # Per-language clean rules from dependency scanning. 11 | foreach(lang CXX) 12 | include(CMakeFiles/Rasterizer.dir/cmake_clean_${lang}.cmake OPTIONAL) 13 | endforeach() 14 | -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/Rasterizer.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.10 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=gnu++1z 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -I/usr/local/include -I/home/cs18/Games101/Assignment3/./include -isystem /usr/include/opencv 10 | 11 | -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/Rasterizer.dir/main.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/build/CMakeFiles/Rasterizer.dir/main.cpp.o -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/Rasterizer.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | CMAKE_PROGRESS_3 = 3 4 | CMAKE_PROGRESS_4 = 4 5 | CMAKE_PROGRESS_5 = 5 6 | 7 | -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/Rasterizer.dir/rasterizer.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/build/CMakeFiles/Rasterizer.dir/rasterizer.cpp.o -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/cs18/Games101/Assignment3/build/CMakeFiles/rebuild_cache.dir 2 | /home/cs18/Games101/Assignment3/build/CMakeFiles/Rasterizer.dir 3 | /home/cs18/Games101/Assignment3/build/CMakeFiles/edit_cache.dir 4 | -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /Assignment3/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 5 2 | -------------------------------------------------------------------------------- /Assignment3/build/Rasterizer: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/build/Rasterizer -------------------------------------------------------------------------------- /Assignment3/build/hhh.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/build/hhh.png -------------------------------------------------------------------------------- /Assignment3/bunny/normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/bunny/normal.png -------------------------------------------------------------------------------- /Assignment3/bunny/phong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/bunny/phong.png -------------------------------------------------------------------------------- /Assignment3/cube/normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/cube/normal.png -------------------------------------------------------------------------------- /Assignment3/cube/phong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/cube/phong.png -------------------------------------------------------------------------------- /Assignment3/cube/tex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/cube/tex.png -------------------------------------------------------------------------------- /Assignment3/global.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 4/9/19. 3 | // 4 | 5 | #ifndef RASTERIZER_GLOBAL_H 6 | #define RASTERIZER_GLOBAL_H 7 | 8 | typedef unsigned char u08; 9 | #define MY_PI 3.1415926 10 | #define TWO_PI (2.0* MY_PI) 11 | 12 | 13 | 14 | #endif //RASTERIZER_GLOBAL_H 15 | -------------------------------------------------------------------------------- /Assignment3/models/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/models/.DS_Store -------------------------------------------------------------------------------- /Assignment3/models/Crate/Crate1.3ds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/models/Crate/Crate1.3ds -------------------------------------------------------------------------------- /Assignment3/models/Crate/Crate1.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/models/Crate/Crate1.blend -------------------------------------------------------------------------------- /Assignment3/models/Crate/Crate1.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'Crate1.blend' 2 | # Material Count: 1 3 | 4 | newmtl Material.001 5 | Ns 96.078431 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 0.500000 0.500000 0.500000 9 | Ni 1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd C:\\Users\\Elijah\\Pictures\\ToBeTextures\\crate_1.jpg 13 | -------------------------------------------------------------------------------- /Assignment3/models/Crate/Crate1.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.67 (sub 1) OBJ File: 'Crate1.blend' 2 | # www.blender.org 3 | mtllib Crate1.mtl 4 | o Cube_Cube.001 5 | v -1.000000 -1.000000 1.000000 6 | v -1.000000 -1.000000 -1.000000 7 | v 1.000000 -1.000000 -1.000000 8 | v 1.000000 -1.000000 1.000000 9 | v -1.000000 1.000000 1.000000 10 | v -1.000000 1.000000 -1.000000 11 | v 1.000000 1.000000 -1.000000 12 | v 1.000000 1.000000 1.000000 13 | vt 0.000000 0.000000 14 | vt 1.000000 0.000000 15 | vt 1.000000 1.000000 16 | vt 0.000000 1.000000 17 | usemtl Material.001 18 | f 5/1 6/2 2/3 1/4 19 | f 6/1 7/2 3/3 2/4 20 | f 7/1 8/2 4/3 3/4 21 | f 8/1 5/2 1/3 4/4 22 | f 1/1 2/2 3/3 4/4 23 | f 8/1 7/2 6/3 5/4 24 | -------------------------------------------------------------------------------- /Assignment3/models/Crate/CrateImage1.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/models/Crate/CrateImage1.JPG -------------------------------------------------------------------------------- /Assignment3/models/Crate/CrateImage2.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/models/Crate/CrateImage2.JPG -------------------------------------------------------------------------------- /Assignment3/models/Crate/crate_1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/models/Crate/crate_1.jpg -------------------------------------------------------------------------------- /Assignment3/models/cube/cube.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'Crate1.blend' 2 | # Material Count: 1 3 | 4 | newmtl Material.001 5 | Ns 96.078431 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 0.500000 0.500000 0.500000 9 | Ni 1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd wall1.tif 13 | -------------------------------------------------------------------------------- /Assignment3/models/cube/wall.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/models/cube/wall.tif -------------------------------------------------------------------------------- /Assignment3/models/cube/wall1.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/models/cube/wall1.tif -------------------------------------------------------------------------------- /Assignment3/models/rock/rock.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'Rock1.blend' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 13.725490 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.640000 0.640000 0.640000 8 | Ks 0.007937 0.007937 0.007937 9 | Ni 1.000000 10 | d 1.000000 11 | illum 2 12 | map_Kd rock.png 13 | map_Bump rock.png 14 | -------------------------------------------------------------------------------- /Assignment3/models/rock/rock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/models/rock/rock.png -------------------------------------------------------------------------------- /Assignment3/models/spot/README.txt: -------------------------------------------------------------------------------- 1 | Spot 2 | ==== 3 | contact: Keenan Crane (keenan@cs.caltech.edu) 4 | 5 | Files 6 | -------------------------------------------- 7 | This archive contains a description of the surface "Spot," including: 8 | 9 | 1. the original Catmull-Clark control mesh [spot_control_mesh.obj] 10 | 2. the original texture map as a vector image [spot_texture.svg] 11 | 3. triangular and quadrilateral tessellations [spot_triangulated.obj, spot_quadrangulated.obj] 12 | 4. the texture map as a raster image [spot_texture.png] 13 | 14 | Note that (3) and (4) can be generated from (1) and (2), and are provided only 15 | for convenience. Meshes are stored in the Wavefront OBJ format. All meshes 16 | are manifold, genus-0 embeddings. The texture map should be interpreted as a 17 | unit square in the positive quadrant [0,1]x[0,1]. 18 | 19 | License 20 | -------------------------------------------- 21 | 22 | As the sole author of this data, I hereby release it into the public domain. 23 | 24 | -------------------------------------------------------------------------------- /Assignment3/models/spot/hmap.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/models/spot/hmap.jpg -------------------------------------------------------------------------------- /Assignment3/models/spot/spot_texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/models/spot/spot_texture.png -------------------------------------------------------------------------------- /Assignment3/spot/bump.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/spot/bump.png -------------------------------------------------------------------------------- /Assignment3/spot/displacement.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/spot/displacement.png -------------------------------------------------------------------------------- /Assignment3/spot/normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/spot/normal.png -------------------------------------------------------------------------------- /Assignment3/spot/phong.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/spot/phong.png -------------------------------------------------------------------------------- /Assignment3/spot/texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment3/spot/texture.png -------------------------------------------------------------------------------- /Assignment6/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/Assignment6/.DS_Store -------------------------------------------------------------------------------- /Assignment6/AreaLight.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Göksu Güvendiren on 2019-05-14. 3 | // 4 | 5 | #pragma once 6 | 7 | #include "Vector.hpp" 8 | #include "Light.hpp" 9 | #include "global.hpp" 10 | 11 | class AreaLight : public Light 12 | { 13 | public: 14 | AreaLight(const Vector3f &p, const Vector3f &i) : Light(p, i) 15 | { 16 | normal = Vector3f(0, -1, 0); 17 | u = Vector3f(1, 0, 0); 18 | v = Vector3f(0, 0, 1); 19 | length = 100; 20 | } 21 | 22 | Vector3f SamplePoint() const 23 | { 24 | auto random_u = get_random_float(); 25 | auto random_v = get_random_float(); 26 | return position + random_u * u + random_v * v; 27 | } 28 | 29 | float length; 30 | Vector3f normal; 31 | Vector3f u; 32 | Vector3f v; 33 | }; 34 | -------------------------------------------------------------------------------- /Assignment6/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project(RayTracing) 3 | 4 | set(CMAKE_CXX_STANDARD 17) 5 | 6 | add_executable(RayTracing main.cpp Object.hpp Vector.cpp Vector.hpp Sphere.hpp global.hpp Triangle.hpp Scene.cpp 7 | Scene.hpp Light.hpp AreaLight.hpp BVH.cpp BVH.hpp Bounds3.hpp Ray.hpp Material.hpp Intersection.hpp 8 | Renderer.cpp Renderer.hpp) 9 | -------------------------------------------------------------------------------- /Assignment6/Intersection.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 5/16/19. 3 | // 4 | 5 | #ifndef RAYTRACING_INTERSECTION_H 6 | #define RAYTRACING_INTERSECTION_H 7 | #include "Vector.hpp" 8 | #include "Material.hpp" 9 | class Object; 10 | class Sphere; 11 | 12 | struct Intersection 13 | { 14 | Intersection(){ 15 | happened=false; 16 | coords=Vector3f(); 17 | normal=Vector3f(); 18 | distance= std::numeric_limits::max(); 19 | obj =nullptr; 20 | m=nullptr; 21 | } 22 | bool happened; 23 | Vector3f coords; 24 | Vector3f normal; 25 | double distance; 26 | Object* obj; 27 | Material* m; 28 | }; 29 | #endif //RAYTRACING_INTERSECTION_H 30 | -------------------------------------------------------------------------------- /Assignment6/Light.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Göksu Güvendiren on 2019-05-14. 3 | // 4 | 5 | #pragma once 6 | 7 | #include "Vector.hpp" 8 | 9 | class Light 10 | { 11 | public: 12 | Light(const Vector3f &p, const Vector3f &i) : position(p), intensity(i) {} 13 | virtual ~Light() = default; 14 | Vector3f position; 15 | Vector3f intensity; 16 | }; 17 | -------------------------------------------------------------------------------- /Assignment6/Object.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 5/13/19. 3 | // 4 | #pragma once 5 | #ifndef RAYTRACING_OBJECT_H 6 | #define RAYTRACING_OBJECT_H 7 | 8 | #include "Vector.hpp" 9 | #include "global.hpp" 10 | #include "Bounds3.hpp" 11 | #include "Ray.hpp" 12 | #include "Intersection.hpp" 13 | 14 | class Object 15 | { 16 | public: 17 | Object() {} 18 | virtual ~Object() {} 19 | virtual bool intersect(const Ray& ray) = 0; 20 | virtual bool intersect(const Ray& ray, float &, uint32_t &) const = 0; 21 | virtual Intersection getIntersection(Ray _ray) = 0; 22 | virtual void getSurfaceProperties(const Vector3f &, const Vector3f &, const uint32_t &, const Vector2f &, Vector3f &, Vector2f &) const = 0; 23 | virtual Vector3f evalDiffuseColor(const Vector2f &) const =0; 24 | virtual Bounds3 getBounds()=0; 25 | }; 26 | 27 | 28 | 29 | #endif //RAYTRACING_OBJECT_H 30 | -------------------------------------------------------------------------------- /Assignment6/Ray.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 5/16/19. 3 | // 4 | 5 | #ifndef RAYTRACING_RAY_H 6 | #define RAYTRACING_RAY_H 7 | #include "Vector.hpp" 8 | struct Ray{ 9 | //Destination = origin + t*direction 10 | Vector3f origin; 11 | Vector3f direction, direction_inv; 12 | double t;//transportation time, 13 | double t_min, t_max; 14 | 15 | Ray(const Vector3f& ori, const Vector3f& dir, const double _t = 0.0): origin(ori), direction(dir),t(_t) { 16 | direction_inv = Vector3f(1./direction.x, 1./direction.y, 1./direction.z); 17 | t_min = 0.0; 18 | t_max = std::numeric_limits::max(); 19 | 20 | } 21 | 22 | Vector3f operator()(double t) const{return origin+direction*t;} 23 | 24 | friend std::ostream &operator<<(std::ostream& os, const Ray& r){ 25 | os<<"[origin:="<::max(); 19 | obj =nullptr; 20 | m=nullptr; 21 | } 22 | bool happened; 23 | Vector3f coords; 24 | Vector3f tcoords; 25 | Vector3f normal; 26 | Vector3f emit; 27 | double distance; 28 | Object* obj; 29 | Material* m; 30 | }; 31 | #endif //RAYTRACING_INTERSECTION_H 32 | -------------------------------------------------------------------------------- /Assignment7/Light.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Göksu Güvendiren on 2019-05-14. 3 | // 4 | 5 | #pragma once 6 | 7 | #include "Vector.hpp" 8 | 9 | class Light 10 | { 11 | public: 12 | Light(const Vector3f &p, const Vector3f &i) : position(p), intensity(i) {} 13 | virtual ~Light() = default; 14 | Vector3f position; 15 | Vector3f intensity; 16 | }; 17 | -------------------------------------------------------------------------------- /Assignment7/Object.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 5/13/19. 3 | // 4 | #pragma once 5 | #ifndef RAYTRACING_OBJECT_H 6 | #define RAYTRACING_OBJECT_H 7 | 8 | #include "Vector.hpp" 9 | #include "global.hpp" 10 | #include "Bounds3.hpp" 11 | #include "Ray.hpp" 12 | #include "Intersection.hpp" 13 | 14 | class Object 15 | { 16 | public: 17 | Object() {} 18 | virtual ~Object() {} 19 | virtual bool intersect(const Ray& ray) = 0; 20 | virtual bool intersect(const Ray& ray, float &, uint32_t &) const = 0; 21 | virtual Intersection getIntersection(Ray _ray) = 0; 22 | virtual void getSurfaceProperties(const Vector3f &, const Vector3f &, const uint32_t &, const Vector2f &, Vector3f &, Vector2f &) const = 0; 23 | virtual Vector3f evalDiffuseColor(const Vector2f &) const =0; 24 | virtual Bounds3 getBounds()=0; 25 | virtual float getArea()=0; 26 | virtual void Sample(Intersection &pos, float &pdf)=0; 27 | virtual bool hasEmit()=0; 28 | }; 29 | 30 | 31 | 32 | #endif //RAYTRACING_OBJECT_H 33 | -------------------------------------------------------------------------------- /Assignment7/README.md: -------------------------------------------------------------------------------- 1 | 2 | # kingil_homework7 email: kingilustc@163.com 3 | 4 | ## 实现[5points]格式正确;可以正确编译运行 5 | 结果见/images 6 | ## 实现[45points]正确实现PathTracing算法 7 | 基本上还是按照老师PPT里的算法思路。需要注意的几个要点是: 8 | 1 ws和-ws的方向一定要注意写对符号; 9 | 2 要对光源注意进行判断,否则会出现光源全黑的情况; 10 | 3 wo是负的ray的方向 11 | 未使用多线程的时候,时间大致是68min。(具体就没贴了,不小心clear了结果,再跑一次实在太慢) 12 | 提交的结果图片是 13 | 14 | 784*784,16个点的采样效果; 15 | 16 | 512*512,8个点的采样效果。 17 | 18 | 还有其他一些测试结果。为快速验证算法。 19 | 20 | 21 | 22 | ## 实现[10points]多线程 23 | 对cpp多线程不是特别熟悉,所以根据大家论坛上的讨论,网上google了omp的方法,具体参考: 24 | https://blog.csdn.net/fengtian12345/article/details/80566491 25 | 由于在家编码,个人电脑配置一般,macbookpro2015early版本,双核CPU,所以使用多线程的提升比较有限,最后时间大致在60min,也没有尝试更高采样点。 26 | 注意的是用多线程以后,原程序中progress进度条加载是只需要执行一次的,所以这块代码应该独立出来。 27 | 28 | 其他结果: 29 | 30 | 84*84 2sample 分别是6s和5s。 31 | 32 | ## 未实现Microfacet模块 33 | 34 | -------------------------------------------------------------------------------- /Assignment7/Ray.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 5/16/19. 3 | // 4 | 5 | #ifndef RAYTRACING_RAY_H 6 | #define RAYTRACING_RAY_H 7 | #include "Vector.hpp" 8 | struct Ray{ 9 | //Destination = origin + t*direction 10 | Vector3f origin; 11 | Vector3f direction, direction_inv; 12 | double t;//transportation time, 13 | double t_min, t_max; 14 | 15 | Ray(const Vector3f& ori, const Vector3f& dir, const double _t = 0.0): origin(ori), direction(dir),t(_t) { 16 | direction_inv = Vector3f(1./direction.x, 1./direction.y, 1./direction.z); 17 | t_min = 0.0; 18 | t_max = std::numeric_limits::max(); 19 | 20 | } 21 | 22 | Vector3f operator()(double t) const{return origin+direction*t;} 23 | 24 | friend std::ostream &operator<<(std::ostream& os, const Ray& r){ 25 | os<<"[origin:="<]+)([">]) 2 | 3 | #IncludeRegexScan: ^.*$ 4 | 5 | #IncludeRegexComplain: ^$ 6 | 7 | #IncludeRegexTransform: 8 | 9 | /home/cs18/Games101/assignment4/main.cpp 10 | chrono 11 | - 12 | iostream 13 | - 14 | opencv2/opencv.hpp 15 | - 16 | 17 | -------------------------------------------------------------------------------- /assignment4/build/CMakeFiles/BezierCurve.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/cs18/Games101/assignment4/main.cpp" "/home/cs18/Games101/assignment4/build/CMakeFiles/BezierCurve.dir/main.cpp.o" 8 | ) 9 | set(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # The include file search paths: 12 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 13 | "/usr/include/opencv" 14 | ) 15 | 16 | # Targets to which this target links. 17 | set(CMAKE_TARGET_LINKED_INFO_FILES 18 | ) 19 | 20 | # Fortran module output directory. 21 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 22 | -------------------------------------------------------------------------------- /assignment4/build/CMakeFiles/BezierCurve.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/BezierCurve.dir/main.cpp.o" 3 | "BezierCurve.pdb" 4 | "BezierCurve" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | foreach(lang CXX) 9 | include(CMakeFiles/BezierCurve.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /assignment4/build/CMakeFiles/BezierCurve.dir/depend.internal: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.10 3 | 4 | CMakeFiles/BezierCurve.dir/main.cpp.o 5 | /home/cs18/Games101/assignment4/main.cpp 6 | -------------------------------------------------------------------------------- /assignment4/build/CMakeFiles/BezierCurve.dir/depend.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.10 3 | 4 | CMakeFiles/BezierCurve.dir/main.cpp.o: ../main.cpp 5 | 6 | -------------------------------------------------------------------------------- /assignment4/build/CMakeFiles/BezierCurve.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.10 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = -std=gnu++14 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -isystem /usr/include/opencv 10 | 11 | -------------------------------------------------------------------------------- /assignment4/build/CMakeFiles/BezierCurve.dir/main.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment4/build/CMakeFiles/BezierCurve.dir/main.cpp.o -------------------------------------------------------------------------------- /assignment4/build/CMakeFiles/BezierCurve.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | 4 | -------------------------------------------------------------------------------- /assignment4/build/CMakeFiles/CMakeDirectoryInformation.cmake: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.10 3 | 4 | # Relative path conversion top directories. 5 | set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/cs18/Games101/assignment4") 6 | set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/cs18/Games101/assignment4/build") 7 | 8 | # Force unix paths in dependencies. 9 | set(CMAKE_FORCE_UNIX_PATHS 1) 10 | 11 | 12 | # The C and CXX include file regular expressions for this directory. 13 | set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") 14 | set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") 15 | set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) 16 | set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) 17 | -------------------------------------------------------------------------------- /assignment4/build/CMakeFiles/TargetDirectories.txt: -------------------------------------------------------------------------------- 1 | /home/cs18/Games101/assignment4/build/CMakeFiles/rebuild_cache.dir 2 | /home/cs18/Games101/assignment4/build/CMakeFiles/BezierCurve.dir 3 | /home/cs18/Games101/assignment4/build/CMakeFiles/edit_cache.dir 4 | -------------------------------------------------------------------------------- /assignment4/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /assignment4/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment4/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /assignment4/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /assignment4/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /assignment4/my_bezier_curve_AntiAliasing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment4/my_bezier_curve_AntiAliasing.png -------------------------------------------------------------------------------- /assignment4/my_bezier_curve_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment4/my_bezier_curve_normal.png -------------------------------------------------------------------------------- /assignment5/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment5/.DS_Store -------------------------------------------------------------------------------- /assignment5/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project(RayTracing) 3 | 4 | set(CMAKE_CXX_STANDARD 17) 5 | 6 | add_executable(RayTracing main.cpp Object.hpp Vector.hpp Sphere.hpp global.hpp Triangle.hpp Scene.cpp Scene.hpp Light.hpp Renderer.cpp) 7 | target_compile_options(RayTracing PUBLIC -Wall -Wextra -pedantic -Wshadow -Wreturn-type -fsanitize=undefined) 8 | target_compile_features(RayTracing PUBLIC cxx_std_17) 9 | target_link_libraries(RayTracing PUBLIC -fsanitize=undefined) 10 | -------------------------------------------------------------------------------- /assignment5/Light.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Vector.hpp" 4 | 5 | class Light 6 | { 7 | public: 8 | Light(const Vector3f& p, const Vector3f& i) 9 | : position(p) 10 | , intensity(i) 11 | {} 12 | virtual ~Light() = default; 13 | Vector3f position; 14 | Vector3f intensity; 15 | }; 16 | -------------------------------------------------------------------------------- /assignment5/Object.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Vector.hpp" 4 | #include "global.hpp" 5 | 6 | class Object 7 | { 8 | public: 9 | Object() 10 | : materialType(DIFFUSE_AND_GLOSSY) 11 | , ior(1.3) 12 | , Kd(0.8) 13 | , Ks(0.2) 14 | , diffuseColor(0.2) 15 | , specularExponent(25) 16 | {} 17 | 18 | virtual ~Object() = default; 19 | 20 | virtual bool intersect(const Vector3f&, const Vector3f&, float&, uint32_t&, Vector2f&) const = 0; 21 | 22 | virtual void getSurfaceProperties(const Vector3f&, const Vector3f&, const uint32_t&, const Vector2f&, Vector3f&, 23 | Vector2f&) const = 0; 24 | 25 | virtual Vector3f evalDiffuseColor(const Vector2f&) const 26 | { 27 | return diffuseColor; 28 | } 29 | 30 | // material properties 31 | MaterialType materialType; 32 | float ior; 33 | float Kd, Ks; 34 | Vector3f diffuseColor; 35 | float specularExponent; 36 | }; 37 | -------------------------------------------------------------------------------- /assignment5/Renderer.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | #include "Scene.hpp" 3 | 4 | struct hit_payload 5 | { 6 | float tNear; 7 | uint32_t index; 8 | Vector2f uv; 9 | Object* hit_obj; 10 | }; 11 | 12 | class Renderer 13 | { 14 | public: 15 | void Render(const Scene& scene); 16 | 17 | private: 18 | }; -------------------------------------------------------------------------------- /assignment5/Scene.cpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Göksu Güvendiren on 2019-05-14. 3 | // 4 | 5 | #include "Scene.hpp" 6 | -------------------------------------------------------------------------------- /assignment5/Scene.hpp: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | #include "Vector.hpp" 6 | #include "Object.hpp" 7 | #include "Light.hpp" 8 | 9 | class Scene 10 | { 11 | public: 12 | // setting up options 13 | int width = 1280; 14 | int height = 960; 15 | double fov = 90; 16 | Vector3f backgroundColor = Vector3f(0.235294, 0.67451, 0.843137); 17 | int maxDepth = 5; 18 | float epsilon = 0.00001; 19 | 20 | Scene(int w, int h) : width(w), height(h) 21 | {} 22 | 23 | void Add(std::unique_ptr object) { objects.push_back(std::move(object)); } 24 | void Add(std::unique_ptr light) { lights.push_back(std::move(light)); } 25 | 26 | [[nodiscard]] const std::vector >& get_objects() const { return objects; } 27 | [[nodiscard]] const std::vector >& get_lights() const { return lights; } 28 | 29 | private: 30 | // creating the scene (adding objects and lights) 31 | std::vector > objects; 32 | std::vector > lights; 33 | }; -------------------------------------------------------------------------------- /assignment8/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/.DS_Store -------------------------------------------------------------------------------- /assignment8/CGL/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_store -------------------------------------------------------------------------------- /assignment8/CGL/deps/glew/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(GLEW_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}) 2 | 3 | set(GLEW_SOURCE_DIR ${GLEW_ROOT_DIR}/src) 4 | set(GLEW_HEADER_DIR ${GLEW_ROOT_DIR}/include) 5 | 6 | include_directories(${GLEW_HEADER_DIR}) 7 | add_library(glew 8 | ${GLEW_SOURCE_DIR}/glew.c 9 | ${GLEW_SOURCE_DIR}/glewinfo.c 10 | ${GLEW_SOURCE_DIR}/visualinfo.c) 11 | 12 | set(GLEW_LIBRARIES glew PARENT_SCOPE) 13 | set(GLEW_INCLUDE_DIRS ${GLEW_HEADER_DIR} PARENT_SCOPE) 14 | 15 | install(TARGETS glew DESTINATION lib) 16 | install(DIRECTORY ${GLEW_HEADER_DIR}/GL DESTINATION include) 17 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/CMake/modules/FindEGL.cmake: -------------------------------------------------------------------------------- 1 | # Find EGL 2 | # 3 | # EGL_INCLUDE_DIR 4 | # EGL_LIBRARY 5 | # EGL_FOUND 6 | 7 | find_path(EGL_INCLUDE_DIR NAMES EGL/egl.h PATHS /opt/vc/include) 8 | 9 | set(EGL_NAMES ${EGL_NAMES} egl EGL) 10 | find_library(EGL_LIBRARY NAMES ${EGL_NAMES} PATHS /opt/vc/lib) 11 | 12 | include(FindPackageHandleStandardArgs) 13 | find_package_handle_standard_args(EGL DEFAULT_MSG EGL_LIBRARY EGL_INCLUDE_DIR) 14 | 15 | mark_as_advanced(EGL_INCLUDE_DIR EGL_LIBRARY) 16 | 17 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/CMake/modules/FindGLESv1.cmake: -------------------------------------------------------------------------------- 1 | # Find GLESv1 2 | # 3 | # GLESv1_INCLUDE_DIR 4 | # GLESv1_LIBRARY 5 | # GLESv1_FOUND 6 | 7 | find_path(GLESv1_INCLUDE_DIR NAMES GLES/gl.h PATHS /opt/vc/include) 8 | 9 | set(GLESv1_NAMES ${GLESv1_NAMES} GLESv1_CM) 10 | find_library(GLESv1_LIBRARY NAMES ${GLESv1_NAMES} PATHS /opt/vc/lib) 11 | 12 | include(FindPackageHandleStandardArgs) 13 | find_package_handle_standard_args(GLESv1 DEFAULT_MSG GLESv1_LIBRARY GLESv1_INCLUDE_DIR) 14 | 15 | mark_as_advanced(GLESv1_INCLUDE_DIR GLESv1_LIBRARY) 16 | 17 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/CMake/modules/FindGLESv2.cmake: -------------------------------------------------------------------------------- 1 | # Find GLESv2 2 | # 3 | # GLESv2_INCLUDE_DIR 4 | # GLESv2_LIBRARY 5 | # GLESv2_FOUND 6 | 7 | find_path(GLESv2_INCLUDE_DIR NAMES GLES2/gl2.h PATHS /opt/vc/include) 8 | 9 | set(GLESv2_NAMES ${GLESv2_NAMES} GLESv2) 10 | find_library(GLESv2_LIBRARY NAMES ${GLESv2_NAMES} PATHS /opt/vc/lib) 11 | 12 | include(FindPackageHandleStandardArgs) 13 | find_package_handle_standard_args(GLESv2 DEFAULT_MSG GLESv2_LIBRARY GLESv2_INCLUDE_DIR) 14 | 15 | mark_as_advanced(GLESv2_INCLUDE_DIR GLESv2_LIBRARY) 16 | 17 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/COPYING.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002-2006 Marcus Geelnard 2 | Copyright (c) 2006-2010 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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | add_custom_target(docs ALL ${DOXYGEN_EXECUTABLE} 3 | WORKING_DIRECTORY ${GLFW_BINARY_DIR}/docs 4 | COMMENT "Generating HTML documentation" VERBATIM) 5 | 6 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/footer.html: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/bc_s.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/bdwn.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/closed.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/doxygen.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2blank.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2cl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2cl.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2doc.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2folderclosed.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2folderopen.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2lastnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2lastnode.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2link.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2mlastnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2mlastnode.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2mnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2mnode.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2mo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2mo.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2node.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2ns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2ns.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2plastnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2plastnode.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2pnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2pnode.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2splitbar.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/ftv2vertline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/ftv2vertline.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/nav_f.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/nav_g.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/nav_h.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/open.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | ['building_20applications',['Building applications',['../build.html',1,'']]], 7 | ['build_2edox',['build.dox',['../build_8dox.html',1,'']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['compat_2edox',['compat.dox',['../compat_8dox.html',1,'']]], 4 | ['compiling_20glfw',['Compiling GLFW',['../compile.html',1,'']]], 5 | ['compile_2edox',['compile.dox',['../compile_8dox.html',1,'']]], 6 | ['context_20handling',['Context handling',['../group__context.html',1,'(Global Namespace)'],['../context.html',1,'(Global Namespace)']]], 7 | ['context_2edox',['context.dox',['../context_8dox.html',1,'']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['error_20codes',['Error codes',['../group__errors.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['initialization_2c_20version_20and_20errors',['Initialization, version and errors',['../group__init.html',1,'']]], 4 | ['input_20handling',['Input handling',['../group__input.html',1,'(Global Namespace)'],['../input.html',1,'(Global Namespace)']]], 5 | ['input_2edox',['input.dox',['../input_8dox.html',1,'']]], 6 | ['introduction_20to_20the_20api',['Introduction to the API',['../intro.html',1,'']]], 7 | ['intro_2edox',['intro.dox',['../intro_8dox.html',1,'']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/all_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['joysticks',['Joysticks',['../group__joysticks.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['keyboard_20keys',['Keyboard keys',['../group__keys.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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_20handling',['Monitor handling',['../group__monitor.html',1,'(Global Namespace)'],['../monitor.html',1,'(Global Namespace)']]], 7 | ['monitor_2edox',['monitor.dox',['../monitor_8dox.html',1,'']]], 8 | ['moving_20from_20glfw_202_20to_203',['Moving from GLFW 2 to 3',['../moving.html',1,'']]], 9 | ['moving_2edox',['moving.dox',['../moving_8dox.html',1,'']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/all_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['oculus_20rift_20guide',['Oculus Rift guide',['../rift.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/all_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pixels',['pixels',['../structGLFWimage.html#a0c532a5c2bb715555279b7817daba0fb',1,'GLFWimage']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/all_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quick_2edox',['quick.dox',['../quick_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/all_d.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 | ['rift_2edox',['rift.dox',['../rift_8dox.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/all_e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['standards_20conformance',['Standards conformance',['../compat.html',1,'']]], 4 | ['standard_20cursor_20shapes',['Standard cursor shapes',['../group__shapes.html',1,'']]], 5 | ['size',['size',['../structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5',1,'GLFWgammaramp']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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_20handling',['Window handling',['../group__window.html',1,'(Global Namespace)'],['../window.html',1,'(Global Namespace)']]], 5 | ['window_2edox',['window.dox',['../window_8dox.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/search/close.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/files_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['build_2edox',['build.dox',['../build_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/files_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['news_2edox',['news.dox',['../news_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/files_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quick_2edox',['quick.dox',['../quick_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/files_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['rift_2edox',['rift.dox',['../rift_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/files_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_2edox',['window.dox',['../window_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/groups_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['context_20handling',['Context handling',['../group__context.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/groups_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['error_20codes',['Error codes',['../group__errors.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/groups_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['initialization_2c_20version_20and_20errors',['Initialization, version and errors',['../group__init.html',1,'']]], 4 | ['input_20handling',['Input handling',['../group__input.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/groups_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['joysticks',['Joysticks',['../group__joysticks.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/groups_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['keyboard_20keys',['Keyboard keys',['../group__keys.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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_20handling',['Monitor handling',['../group__monitor.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/groups_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['native_20access',['Native access',['../group__native.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/groups_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['standard_20cursor_20shapes',['Standard cursor shapes',['../group__shapes.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/groups_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_20handling',['Window handling',['../group__window.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/search/mag_sel.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
No Matches
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/pages_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['compiling_20glfw',['Compiling GLFW',['../compile.html',1,'']]], 4 | ['context_20guide',['Context guide',['../context.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/pages_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['getting_20started',['Getting started',['../quick.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/pages_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['input_20guide',['Input guide',['../input.html',1,'']]], 4 | ['introduction_20to_20the_20api',['Introduction to the API',['../intro.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/pages_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['monitor_20guide',['Monitor guide',['../monitor.html',1,'']]], 4 | ['moving_20from_20glfw_202_20to_203',['Moving from GLFW 2 to 3',['../moving.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/pages_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['oculus_20rift_20guide',['Oculus Rift guide',['../rift.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/pages_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['standards_20conformance',['Standards conformance',['../compat.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/pages_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_20guide',['Window guide',['../window.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/search/search_l.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/search/search_m.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/search/search_r.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/variables_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pixels',['pixels',['../structGLFWimage.html#a0c532a5c2bb715555279b7817daba0fb',1,'GLFWimage']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/search/variables_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['size',['size',['../structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5',1,'GLFWgammaramp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/sync_off.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/sync_on.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/tab_a.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/tab_b.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/tab_h.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/docs/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/CGL/deps/glfw/docs/html/tab_s.png -------------------------------------------------------------------------------- /assignment8/CGL/deps/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 | -------------------------------------------------------------------------------- /assignment8/CGL/deps/glfw/src/glfw3Config.cmake.in: -------------------------------------------------------------------------------- 1 | # - Config file for the glfw3 package 2 | # It defines the following variables 3 | # GLFW3_INCLUDE_DIR, the path where GLFW headers are located 4 | # GLFW3_LIBRARY_DIR, folder in which the GLFW library is located 5 | # GLFW3_LIBRARY, library to link against to use GLFW 6 | 7 | set(GLFW3_VERSION "@GLFW_VERSION_FULL@") 8 | 9 | @PACKAGE_INIT@ 10 | 11 | set_and_check(GLFW3_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@/include") 12 | set_and_check(GLFW3_LIBRARY_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@") 13 | 14 | find_library(GLFW3_LIBRARY "@GLFW_LIB_NAME@" HINTS ${GLFW3_LIBRARY_DIR}) 15 | 16 | -------------------------------------------------------------------------------- /assignment8/CGL/examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | link_libraries(CGL) 2 | 3 | include_directories("${PROJECT_SOURCE_DIR}/src") 4 | 5 | link_libraries( 6 | glfw ${GLFW_LIBRARIES} 7 | glew ${GLEW_LIBRARIES} 8 | ${OPENGL_LIBRARIES} 9 | ${FREETYPE_LIBRARIES} 10 | ) 11 | 12 | add_executable(triangle triangle.cpp) 13 | add_executable(text text.cpp) 14 | 15 | # Install examples 16 | install(TARGETS triangle DESTINATION bin/examples) -------------------------------------------------------------------------------- /assignment8/CGL/include/CGL/CGL.h: -------------------------------------------------------------------------------- 1 | #include "vector2D.h" 2 | #include "complex.h" 3 | 4 | #include "vector3D.h" 5 | #include "matrix3x3.h" 6 | 7 | #include "vector4D.h" 8 | #include "matrix4x4.h" 9 | 10 | // quaternions seem pretty cool. 11 | #include "quaternion.h" 12 | 13 | 14 | #include "color.h" 15 | #include "renderer.h" 16 | #include "viewer.h" 17 | 18 | #include "base64.h" 19 | #include "tinyxml2.h" 20 | -------------------------------------------------------------------------------- /assignment8/CGL/include/CGL/base64.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | std::string base64_encode(unsigned char const* , unsigned int len); 4 | std::string base64_decode(std::string const& s); -------------------------------------------------------------------------------- /assignment8/CGL/src/CGL.h: -------------------------------------------------------------------------------- 1 | #include "vector2D.h" 2 | #include "complex.h" 3 | 4 | #include "vector3D.h" 5 | #include "matrix3x3.h" 6 | 7 | #include "vector4D.h" 8 | #include "matrix4x4.h" 9 | 10 | // quaternions seem pretty cool. 11 | #include "quaternion.h" 12 | 13 | 14 | #include "color.h" 15 | #include "renderer.h" 16 | #include "viewer.h" 17 | 18 | #include "base64.h" 19 | #include "tinyxml2.h" 20 | -------------------------------------------------------------------------------- /assignment8/CGL/src/base64.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | std::string base64_encode(unsigned char const* , unsigned int len); 4 | std::string base64_decode(std::string const& s); -------------------------------------------------------------------------------- /assignment8/CGL/src/complex.cpp: -------------------------------------------------------------------------------- 1 | #include "complex.h" 2 | 3 | namespace CGL { 4 | 5 | std::ostream& operator<<( std::ostream& os, const Complex& z ) { 6 | if( z.y > 0 ) { 7 | os << z.x << " + " << z.y << "i"; 8 | } else if( z.y < 0 ) { 9 | os << z.x << " - " << -z.y << "i"; 10 | } else { 11 | os << z.x; 12 | } 13 | return os; 14 | } 15 | 16 | } // namespace CGL 17 | -------------------------------------------------------------------------------- /assignment8/CGL/src/console.h: -------------------------------------------------------------------------------- 1 | #ifndef CGL_CONSOLE_H 2 | #define CGL_CONSOLE_H 3 | 4 | #include 5 | 6 | #define ANSI_RESET "\x1b[0m" 7 | #define ANSI_R "\x1b[31m" 8 | #define ANSI_G "\x1b[32m" 9 | #define ANSI_B "\x1b[34m" 10 | #define ANSI_C "\x1b[36m" 11 | #define ANSI_M "\x1b[35m" 12 | #define ANSI_Y "\x1b[33m" 13 | 14 | #define out_msg(s) std::cout << ANSI_B << "[CGL] " << ANSI_RESET << s << std::endl << std::flush 15 | #define out_wrn(s) std::cout << ANSI_Y << "[CGL] " << ANSI_RESET << s << std::endl << std::flush 16 | #define out_err(s) std::cout << ANSI_R << "[CGL] " << ANSI_RESET << s << std::endl << std::flush 17 | 18 | #endif // CGL_CONSOLE_H 19 | -------------------------------------------------------------------------------- /assignment8/CGL/src/quaternion.cpp: -------------------------------------------------------------------------------- 1 | #include "quaternion.h" 2 | 3 | namespace CGL { 4 | 5 | std::ostream& operator<<( std::ostream& os, const Quaternion& v ) { 6 | os << "{ " << v.x << "i, " << v.y << "j, " << v.z << "k, " << v.w << " }"; 7 | return os; 8 | } 9 | 10 | } // namespace CGL 11 | -------------------------------------------------------------------------------- /assignment8/CGL/src/vector2D.cpp: -------------------------------------------------------------------------------- 1 | #include "vector2D.h" 2 | 3 | namespace CGL { 4 | 5 | std::ostream& operator<<( std::ostream& os, const Vector2D& v ) { 6 | os << "( " << v.x << ", " << v.y << " )"; 7 | return os; 8 | } 9 | 10 | } // namespace CGL 11 | -------------------------------------------------------------------------------- /assignment8/CGL/src/vector3D.cpp: -------------------------------------------------------------------------------- 1 | #include "vector3D.h" 2 | 3 | namespace CGL { 4 | 5 | std::ostream& operator<<( std::ostream& os, const Vector3D& v ) { 6 | os << "{ " << v.x << ", " << v.y << ", " << v.z << " }"; 7 | return os; 8 | } 9 | 10 | } // namespace CGL 11 | -------------------------------------------------------------------------------- /assignment8/CGL/src/vector4D.cpp: -------------------------------------------------------------------------------- 1 | #include "vector4D.h" 2 | 3 | namespace CGL { 4 | 5 | std::ostream& operator<<( std::ostream& os, const Vector4D& v ) { 6 | os << "{ " << v.x << ", " << v.y << ", " << v.z << ", " << v.w << " }"; 7 | return os; 8 | } 9 | 10 | Vector3D Vector4D::to3D() 11 | { 12 | return Vector3D(x, y, z); 13 | } 14 | 15 | } // namespace CGL 16 | -------------------------------------------------------------------------------- /assignment8/CGL/tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | link_libraries(CGL) 2 | 3 | include_directories("${PROJECT_SOURCE_DIR}/src") 4 | 5 | link_libraries( 6 | glfw ${GLFW_LIBRARIES} 7 | glew ${GLEW_LIBRARIES} 8 | ${OPENGL_LIBRARIES} 9 | ${FREETYPE_LIBRARIES} 10 | ) 11 | 12 | # OSD 13 | add_executable(osd osd.cpp) 14 | 15 | # Install tests 16 | install(TARGETS osd DESTINATION bin/tests) 17 | -------------------------------------------------------------------------------- /assignment8/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/src/.DS_Store -------------------------------------------------------------------------------- /assignment8/src/images/homework8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/assignment8/src/images/homework8.gif -------------------------------------------------------------------------------- /assignment8/src/mass.h: -------------------------------------------------------------------------------- 1 | #ifndef MASS_H 2 | #define MASS_H 3 | 4 | #include "CGL/CGL.h" 5 | #include "CGL/vector2D.h" 6 | 7 | using namespace CGL; 8 | 9 | struct Mass { 10 | Mass(Vector2D position, float mass, bool pinned) 11 | : start_position(position), position(position), last_position(position), 12 | mass(mass), pinned(pinned) {} 13 | 14 | float mass; 15 | bool pinned; 16 | 17 | Vector2D start_position; 18 | Vector2D position; 19 | 20 | // explicit Verlet integration 21 | 22 | Vector2D last_position; 23 | 24 | // explicit Euler integration 25 | 26 | Vector2D velocity; 27 | Vector2D forces; 28 | }; 29 | 30 | #endif /* MASS_H */ 31 | -------------------------------------------------------------------------------- /assignment8/src/rope.h: -------------------------------------------------------------------------------- 1 | #ifndef ROPE_H 2 | #define ROPE_H 3 | 4 | #include "CGL/CGL.h" 5 | #include "mass.h" 6 | #include "spring.h" 7 | 8 | using namespace std; 9 | 10 | namespace CGL { 11 | 12 | class Rope { 13 | public: 14 | Rope(vector &masses, vector &springs) 15 | : masses(masses), springs(springs) {} 16 | Rope(Vector2D start, Vector2D end, int num_nodes, float node_mass, float k, 17 | vector pinned_nodes); 18 | 19 | void simulateVerlet(float delta_t, Vector2D gravity); 20 | void simulateEuler(float delta_t, Vector2D gravity); 21 | 22 | vector masses; 23 | vector springs; 24 | }; // struct Rope 25 | } 26 | #endif /* ROPE_H */ 27 | -------------------------------------------------------------------------------- /assignment8/src/spring.h: -------------------------------------------------------------------------------- 1 | #ifndef SPRING_H 2 | #define SPRING_H 3 | 4 | #include "CGL/CGL.h" 5 | #include "mass.h" 6 | 7 | using namespace std; 8 | 9 | namespace CGL { 10 | 11 | struct Spring { 12 | Spring(Mass *a, Mass *b, float k) 13 | : m1(a), m2(b), k(k), rest_length((a->position - b->position).norm()) {} 14 | 15 | float k; 16 | double rest_length; 17 | 18 | Mass *m1; 19 | Mass *m2; 20 | }; // struct Spring 21 | } 22 | #endif /* SPRING_H */ 23 | -------------------------------------------------------------------------------- /clothrendering/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/clothrendering/.DS_Store -------------------------------------------------------------------------------- /clothrendering/AreaLight.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Göksu Güvendiren on 2019-05-14. 3 | // 4 | 5 | #pragma once 6 | 7 | #include "Vector.hpp" 8 | #include "Light.hpp" 9 | #include "global.hpp" 10 | 11 | class AreaLight : public Light 12 | { 13 | public: 14 | AreaLight(const Vector3f &p, const Vector3f &i) : Light(p, i) 15 | { 16 | normal = Vector3f(0, -1, 0); 17 | u = Vector3f(1, 0, 0); 18 | v = Vector3f(0, 0, 1); 19 | length = 100; 20 | } 21 | 22 | Vector3f SamplePoint() const 23 | { 24 | auto random_u = get_random_float(); 25 | auto random_v = get_random_float(); 26 | return position + random_u * u + random_v * v; 27 | } 28 | 29 | float length; 30 | Vector3f normal; 31 | Vector3f u; 32 | Vector3f v; 33 | }; 34 | -------------------------------------------------------------------------------- /clothrendering/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.10) 2 | project(RayTracing) 3 | 4 | set(CMAKE_CXX_STANDARD 17) 5 | 6 | add_executable(RayTracing main.cpp Object.hpp Vector.cpp Vector.hpp Sphere.hpp global.hpp Triangle.hpp Scene.cpp 7 | Scene.hpp Light.hpp AreaLight.hpp BVH.cpp BVH.hpp Bounds3.hpp Ray.hpp Material.hpp Intersection.hpp 8 | Renderer.cpp Renderer.hpp) 9 | -------------------------------------------------------------------------------- /clothrendering/Intersection.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 5/16/19. 3 | // 4 | 5 | #ifndef RAYTRACING_INTERSECTION_H 6 | #define RAYTRACING_INTERSECTION_H 7 | #include "Vector.hpp" 8 | #include "Material.hpp" 9 | class Object; 10 | class Sphere; 11 | 12 | struct Intersection 13 | { 14 | Intersection(){ 15 | happened=false; 16 | coords=Vector3f(); 17 | normal=Vector3f(); 18 | distance= std::numeric_limits::max(); 19 | obj =nullptr; 20 | m=nullptr; 21 | } 22 | bool happened; 23 | Vector3f coords; 24 | Vector3f tcoords; 25 | Vector3f normal; 26 | Vector3f emit; 27 | double distance; 28 | Object* obj; 29 | Material* m; 30 | }; 31 | #endif //RAYTRACING_INTERSECTION_H 32 | -------------------------------------------------------------------------------- /clothrendering/Light.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by Göksu Güvendiren on 2019-05-14. 3 | // 4 | 5 | #pragma once 6 | 7 | #include "Vector.hpp" 8 | 9 | class Light 10 | { 11 | public: 12 | Light(const Vector3f &p, const Vector3f &i) : position(p), intensity(i) {} 13 | virtual ~Light() = default; 14 | Vector3f position; 15 | Vector3f intensity; 16 | }; 17 | -------------------------------------------------------------------------------- /clothrendering/Object.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 5/13/19. 3 | // 4 | #pragma once 5 | #ifndef RAYTRACING_OBJECT_H 6 | #define RAYTRACING_OBJECT_H 7 | 8 | #include "Vector.hpp" 9 | #include "global.hpp" 10 | #include "Bounds3.hpp" 11 | #include "Ray.hpp" 12 | #include "Intersection.hpp" 13 | 14 | class Object 15 | { 16 | public: 17 | Object() {} 18 | virtual ~Object() {} 19 | virtual bool intersect(const Ray& ray) = 0; 20 | virtual bool intersect(const Ray& ray, float &, uint32_t &) const = 0; 21 | virtual Intersection getIntersection(Ray _ray) = 0; 22 | virtual void getSurfaceProperties(const Vector3f &, const Vector3f &, const uint32_t &, const Vector2f &, Vector3f &, Vector2f &) const = 0; 23 | virtual Vector3f evalDiffuseColor(const Vector2f &) const =0; 24 | virtual Bounds3 getBounds()=0; 25 | virtual float getArea()=0; 26 | virtual void Sample(Intersection &pos, float &pdf)=0; 27 | virtual bool hasEmit()=0; 28 | }; 29 | 30 | 31 | 32 | #endif //RAYTRACING_OBJECT_H 33 | -------------------------------------------------------------------------------- /clothrendering/README.md: -------------------------------------------------------------------------------- 1 | 2 | # kingil_homework7 email: kingilustc@163.com 3 | 4 | ## 实现[5points]格式正确;可以正确编译运行 5 | 结果见/images 6 | ## 实现[45points]正确实现PathTracing算法 7 | 基本上还是按照老师PPT里的算法思路。需要注意的几个要点是: 8 | 1 ws和-ws的方向一定要注意写对符号; 9 | 2 要对光源注意进行判断,否则会出现光源全黑的情况; 10 | 3 wo是负的ray的方向 11 | 未使用多线程的时候,时间大致是68min。(具体就没贴了,不小心clear了结果,再跑一次实在太慢) 12 | 提交的结果图片是 13 | 14 | 784*784,16个点的采样效果; 15 | 16 | 512*512,8个点的采样效果。 17 | 18 | 还有其他一些测试结果。为快速验证算法。 19 | 20 | 21 | 22 | ## 实现[10points]多线程 23 | 对cpp多线程不是特别熟悉,所以根据大家论坛上的讨论,网上google了omp的方法,具体参考: 24 | https://blog.csdn.net/fengtian12345/article/details/80566491 25 | 由于在家编码,个人电脑配置一般,macbookpro2015early版本,双核CPU,所以使用多线程的提升比较有限,最后时间大致在60min,也没有尝试更高采样点。 26 | 注意的是用多线程以后,原程序中progress进度条加载是只需要执行一次的,所以这块代码应该独立出来。 27 | 28 | 其他结果: 29 | 30 | 84*84 2sample 分别是6s和5s。 31 | 32 | ## 未实现Microfacet模块 33 | 34 | -------------------------------------------------------------------------------- /clothrendering/Ray.hpp: -------------------------------------------------------------------------------- 1 | // 2 | // Created by LEI XU on 5/16/19. 3 | // 4 | 5 | #ifndef RAYTRACING_RAY_H 6 | #define RAYTRACING_RAY_H 7 | #include "Vector.hpp" 8 | struct Ray{ 9 | //Destination = origin + t*direction 10 | Vector3f origin; 11 | Vector3f direction, direction_inv; 12 | double t;//transportation time, 13 | double t_min, t_max; 14 | 15 | Ray(const Vector3f& ori, const Vector3f& dir, const double _t = 0.0): origin(ori), direction(dir),t(_t) { 16 | direction_inv = Vector3f(1./direction.x, 1./direction.y, 1./direction.z); 17 | t_min = 0.0; 18 | t_max = std::numeric_limits::max(); 19 | 20 | } 21 | 22 | Vector3f operator()(double t) const{return origin+direction*t;} 23 | 24 | friend std::ostream &operator<<(std::ostream& os, const Ray& r){ 25 | os<<"[origin:="<]+)([">]) 2 | 3 | #IncludeRegexScan: ^.*$ 4 | 5 | #IncludeRegexComplain: ^$ 6 | 7 | #IncludeRegexTransform: 8 | 9 | /home/cs18/Desktop/pa0/main.cpp 10 | cmath 11 | - 12 | eigen3/Eigen/Core 13 | - 14 | eigen3/Eigen/Dense 15 | - 16 | iostream 17 | - 18 | 19 | -------------------------------------------------------------------------------- /pa0/build/CMakeFiles/Transformation.dir/DependInfo.cmake: -------------------------------------------------------------------------------- 1 | # The set of languages for which implicit dependencies are needed: 2 | set(CMAKE_DEPENDS_LANGUAGES 3 | "CXX" 4 | ) 5 | # The set of files for implicit dependencies of each language: 6 | set(CMAKE_DEPENDS_CHECK_CXX 7 | "/home/cs18/Desktop/pa0/main.cpp" "/home/cs18/Desktop/pa0/build/CMakeFiles/Transformation.dir/main.cpp.o" 8 | ) 9 | set(CMAKE_CXX_COMPILER_ID "GNU") 10 | 11 | # The include file search paths: 12 | set(CMAKE_CXX_TARGET_INCLUDE_PATH 13 | "../EIGEN3_INCLUDE_DIR" 14 | ) 15 | 16 | # Targets to which this target links. 17 | set(CMAKE_TARGET_LINKED_INFO_FILES 18 | ) 19 | 20 | # Fortran module output directory. 21 | set(CMAKE_Fortran_TARGET_MODULE_DIR "") 22 | -------------------------------------------------------------------------------- /pa0/build/CMakeFiles/Transformation.dir/cmake_clean.cmake: -------------------------------------------------------------------------------- 1 | file(REMOVE_RECURSE 2 | "CMakeFiles/Transformation.dir/main.cpp.o" 3 | "Transformation.pdb" 4 | "Transformation" 5 | ) 6 | 7 | # Per-language clean rules from dependency scanning. 8 | foreach(lang CXX) 9 | include(CMakeFiles/Transformation.dir/cmake_clean_${lang}.cmake OPTIONAL) 10 | endforeach() 11 | -------------------------------------------------------------------------------- /pa0/build/CMakeFiles/Transformation.dir/depend.internal: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.10 3 | 4 | CMakeFiles/Transformation.dir/main.cpp.o 5 | /home/cs18/Desktop/pa0/main.cpp 6 | -------------------------------------------------------------------------------- /pa0/build/CMakeFiles/Transformation.dir/depend.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.10 3 | 4 | CMakeFiles/Transformation.dir/main.cpp.o: ../main.cpp 5 | 6 | -------------------------------------------------------------------------------- /pa0/build/CMakeFiles/Transformation.dir/flags.make: -------------------------------------------------------------------------------- 1 | # CMAKE generated file: DO NOT EDIT! 2 | # Generated by "Unix Makefiles" Generator, CMake Version 3.10 3 | 4 | # compile CXX with /usr/bin/c++ 5 | CXX_FLAGS = 6 | 7 | CXX_DEFINES = 8 | 9 | CXX_INCLUDES = -I/home/cs18/Desktop/pa0/EIGEN3_INCLUDE_DIR 10 | 11 | -------------------------------------------------------------------------------- /pa0/build/CMakeFiles/Transformation.dir/link.txt: -------------------------------------------------------------------------------- 1 | /usr/bin/c++ -rdynamic CMakeFiles/Transformation.dir/main.cpp.o -o Transformation 2 | -------------------------------------------------------------------------------- /pa0/build/CMakeFiles/Transformation.dir/main.cpp.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/pa0/build/CMakeFiles/Transformation.dir/main.cpp.o -------------------------------------------------------------------------------- /pa0/build/CMakeFiles/Transformation.dir/progress.make: -------------------------------------------------------------------------------- 1 | CMAKE_PROGRESS_1 = 1 2 | CMAKE_PROGRESS_2 = 2 3 | 4 | -------------------------------------------------------------------------------- /pa0/build/CMakeFiles/cmake.check_cache: -------------------------------------------------------------------------------- 1 | # This file is generated by cmake for dependency checking of the CMakeCache.txt file 2 | -------------------------------------------------------------------------------- /pa0/build/CMakeFiles/feature_tests.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/pa0/build/CMakeFiles/feature_tests.bin -------------------------------------------------------------------------------- /pa0/build/CMakeFiles/feature_tests.c: -------------------------------------------------------------------------------- 1 | 2 | const char features[] = {"\n" 3 | "C_FEATURE:" 4 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 5 | "1" 6 | #else 7 | "0" 8 | #endif 9 | "c_function_prototypes\n" 10 | "C_FEATURE:" 11 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 12 | "1" 13 | #else 14 | "0" 15 | #endif 16 | "c_restrict\n" 17 | "C_FEATURE:" 18 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201000L 19 | "1" 20 | #else 21 | "0" 22 | #endif 23 | "c_static_assert\n" 24 | "C_FEATURE:" 25 | #if (__GNUC__ * 100 + __GNUC_MINOR__) >= 304 && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L 26 | "1" 27 | #else 28 | "0" 29 | #endif 30 | "c_variadic_macros\n" 31 | 32 | }; 33 | 34 | int main(int argc, char** argv) { (void)argv; return features[argc]; } 35 | -------------------------------------------------------------------------------- /pa0/build/CMakeFiles/progress.marks: -------------------------------------------------------------------------------- 1 | 2 2 | -------------------------------------------------------------------------------- /pa0/build/Transformation: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/pa0/build/Transformation -------------------------------------------------------------------------------- /pa0/main.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | int main(){ 7 | std::cout <<"------Homework 0-------"< 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 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/COPYING.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2002-2006 Marcus Geelnard 2 | Copyright (c) 2006-2010 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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | add_custom_target(docs ALL ${DOXYGEN_EXECUTABLE} 3 | WORKING_DIRECTORY ${GLFW_BINARY_DIR}/docs 4 | COMMENT "Generating HTML documentation" VERBATIM) 5 | 6 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/footer.html: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/bc_s.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/bdwn.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/closed.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/doxygen.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2blank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2blank.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2cl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2cl.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2doc.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2folderclosed.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2folderopen.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2lastnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2lastnode.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2link.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2link.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2mlastnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2mlastnode.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2mnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2mnode.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2mo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2mo.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2node.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2ns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2ns.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2plastnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2plastnode.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2pnode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2pnode.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2splitbar.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/ftv2vertline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/ftv2vertline.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/nav_f.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/nav_g.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/nav_h.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/open.png -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | ['building_20applications',['Building applications',['../build.html',1,'']]], 7 | ['build_2edox',['build.dox',['../build_8dox.html',1,'']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/all_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['compat_2edox',['compat.dox',['../compat_8dox.html',1,'']]], 4 | ['compiling_20glfw',['Compiling GLFW',['../compile.html',1,'']]], 5 | ['compile_2edox',['compile.dox',['../compile_8dox.html',1,'']]], 6 | ['context_20handling',['Context handling',['../group__context.html',1,'(Global Namespace)'],['../context.html',1,'(Global Namespace)']]], 7 | ['context_2edox',['context.dox',['../context_8dox.html',1,'']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/all_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['error_20codes',['Error codes',['../group__errors.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/all_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['initialization_2c_20version_20and_20errors',['Initialization, version and errors',['../group__init.html',1,'']]], 4 | ['input_20handling',['Input handling',['../group__input.html',1,'(Global Namespace)'],['../input.html',1,'(Global Namespace)']]], 5 | ['input_2edox',['input.dox',['../input_8dox.html',1,'']]], 6 | ['introduction_20to_20the_20api',['Introduction to the API',['../intro.html',1,'']]], 7 | ['intro_2edox',['intro.dox',['../intro_8dox.html',1,'']]] 8 | ]; 9 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/all_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['joysticks',['Joysticks',['../group__joysticks.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/all_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['keyboard_20keys',['Keyboard keys',['../group__keys.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/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_20handling',['Monitor handling',['../group__monitor.html',1,'(Global Namespace)'],['../monitor.html',1,'(Global Namespace)']]], 7 | ['monitor_2edox',['monitor.dox',['../monitor_8dox.html',1,'']]], 8 | ['moving_20from_20glfw_202_20to_203',['Moving from GLFW 2 to 3',['../moving.html',1,'']]], 9 | ['moving_2edox',['moving.dox',['../moving_8dox.html',1,'']]] 10 | ]; 11 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/all_a.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['oculus_20rift_20guide',['Oculus Rift guide',['../rift.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/all_b.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pixels',['pixels',['../structGLFWimage.html#a0c532a5c2bb715555279b7817daba0fb',1,'GLFWimage']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/all_c.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quick_2edox',['quick.dox',['../quick_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/all_d.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 | ['rift_2edox',['rift.dox',['../rift_8dox.html',1,'']]] 7 | ]; 8 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/all_e.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['standards_20conformance',['Standards conformance',['../compat.html',1,'']]], 4 | ['standard_20cursor_20shapes',['Standard cursor shapes',['../group__shapes.html',1,'']]], 5 | ['size',['size',['../structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5',1,'GLFWgammaramp']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/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_20handling',['Window handling',['../group__window.html',1,'(Global Namespace)'],['../window.html',1,'(Global Namespace)']]], 5 | ['window_2edox',['window.dox',['../window_8dox.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/search/close.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/files_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['build_2edox',['build.dox',['../build_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/files_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['news_2edox',['news.dox',['../news_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/files_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['quick_2edox',['quick.dox',['../quick_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/files_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['rift_2edox',['rift.dox',['../rift_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/files_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_2edox',['window.dox',['../window_8dox.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/groups_0.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['context_20handling',['Context handling',['../group__context.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/groups_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['error_20codes',['Error codes',['../group__errors.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/groups_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['initialization_2c_20version_20and_20errors',['Initialization, version and errors',['../group__init.html',1,'']]], 4 | ['input_20handling',['Input handling',['../group__input.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/groups_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['joysticks',['Joysticks',['../group__joysticks.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/groups_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['keyboard_20keys',['Keyboard keys',['../group__keys.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/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_20handling',['Monitor handling',['../group__monitor.html',1,'']]] 6 | ]; 7 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/groups_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['native_20access',['Native access',['../group__native.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/groups_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['standard_20cursor_20shapes',['Standard cursor shapes',['../group__shapes.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/groups_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_20handling',['Window handling',['../group__window.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/mag_sel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/search/mag_sel.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/nomatches.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 |
No Matches
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /project/CGL/deps/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.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/pages_1.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['compiling_20glfw',['Compiling GLFW',['../compile.html',1,'']]], 4 | ['context_20guide',['Context guide',['../context.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/pages_2.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['getting_20started',['Getting started',['../quick.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/pages_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['input_20guide',['Input guide',['../input.html',1,'']]], 4 | ['introduction_20to_20the_20api',['Introduction to the API',['../intro.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/pages_4.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['monitor_20guide',['Monitor guide',['../monitor.html',1,'']]], 4 | ['moving_20from_20glfw_202_20to_203',['Moving from GLFW 2 to 3',['../moving.html',1,'']]] 5 | ]; 6 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/pages_6.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['oculus_20rift_20guide',['Oculus Rift guide',['../rift.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/pages_7.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['standards_20conformance',['Standards conformance',['../compat.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/pages_8.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['window_20guide',['Window guide',['../window.html',1,'']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/search_l.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/search/search_l.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/search_m.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/search/search_m.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/search_r.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/search/search_r.png -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/variables_3.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['pixels',['pixels',['../structGLFWimage.html#a0c532a5c2bb715555279b7817daba0fb',1,'GLFWimage']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/search/variables_5.js: -------------------------------------------------------------------------------- 1 | var searchData= 2 | [ 3 | ['size',['size',['../structGLFWgammaramp.html#ad620e1cffbff9a32c51bca46301b59a5',1,'GLFWgammaramp']]] 4 | ]; 5 | -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/sync_off.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/sync_on.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/tab_a.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/tab_b.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/tab_h.png -------------------------------------------------------------------------------- /project/CGL/deps/glfw/docs/html/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kingiluob/Games101/eba40309c464d35aabf198daa987e87e1b0a1240/project/CGL/deps/glfw/docs/html/tab_s.png -------------------------------------------------------------------------------- /project/CGL/deps/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 | -------------------------------------------------------------------------------- /project/CGL/deps/glfw/src/glfw3Config.cmake.in: -------------------------------------------------------------------------------- 1 | # - Config file for the glfw3 package 2 | # It defines the following variables 3 | # GLFW3_INCLUDE_DIR, the path where GLFW headers are located 4 | # GLFW3_LIBRARY_DIR, folder in which the GLFW library is located 5 | # GLFW3_LIBRARY, library to link against to use GLFW 6 | 7 | set(GLFW3_VERSION "@GLFW_VERSION_FULL@") 8 | 9 | @PACKAGE_INIT@ 10 | 11 | set_and_check(GLFW3_INCLUDE_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@/include") 12 | set_and_check(GLFW3_LIBRARY_DIR "@PACKAGE_CMAKE_INSTALL_PREFIX@/lib@LIB_SUFFIX@") 13 | 14 | find_library(GLFW3_LIBRARY "@GLFW_LIB_NAME@" HINTS ${GLFW3_LIBRARY_DIR}) 15 | 16 | -------------------------------------------------------------------------------- /project/CGL/examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | link_libraries(CGL) 2 | 3 | include_directories("${PROJECT_SOURCE_DIR}/src") 4 | 5 | link_libraries( 6 | glfw ${GLFW_LIBRARIES} 7 | glew ${GLEW_LIBRARIES} 8 | ${OPENGL_LIBRARIES} 9 | ${FREETYPE_LIBRARIES} 10 | ) 11 | 12 | add_executable(triangle triangle.cpp) 13 | add_executable(text text.cpp) 14 | 15 | # Install examples 16 | install(TARGETS triangle DESTINATION bin/examples) -------------------------------------------------------------------------------- /project/CGL/include/CGL/CGL.h: -------------------------------------------------------------------------------- 1 | #include "vector2D.h" 2 | #include "complex.h" 3 | 4 | #include "vector3D.h" 5 | #include "matrix3x3.h" 6 | 7 | #include "vector4D.h" 8 | #include "matrix4x4.h" 9 | 10 | // quaternions seem pretty cool. 11 | #include "quaternion.h" 12 | 13 | 14 | #include "color.h" 15 | #include "renderer.h" 16 | #include "viewer.h" 17 | 18 | #include "base64.h" 19 | #include "tinyxml2.h" 20 | -------------------------------------------------------------------------------- /project/CGL/include/CGL/base64.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | std::string base64_encode(unsigned char const* , unsigned int len); 4 | std::string base64_decode(std::string const& s); -------------------------------------------------------------------------------- /project/CGL/src/CGL.h: -------------------------------------------------------------------------------- 1 | #include "vector2D.h" 2 | #include "complex.h" 3 | 4 | #include "vector3D.h" 5 | #include "matrix3x3.h" 6 | 7 | #include "vector4D.h" 8 | #include "matrix4x4.h" 9 | 10 | // quaternions seem pretty cool. 11 | #include "quaternion.h" 12 | 13 | 14 | #include "color.h" 15 | #include "renderer.h" 16 | #include "viewer.h" 17 | 18 | #include "base64.h" 19 | #include "tinyxml2.h" 20 | -------------------------------------------------------------------------------- /project/CGL/src/base64.h: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | std::string base64_encode(unsigned char const* , unsigned int len); 4 | std::string base64_decode(std::string const& s); -------------------------------------------------------------------------------- /project/CGL/src/complex.cpp: -------------------------------------------------------------------------------- 1 | #include "complex.h" 2 | 3 | namespace CGL { 4 | 5 | std::ostream& operator<<( std::ostream& os, const Complex& z ) { 6 | if( z.y > 0 ) { 7 | os << z.x << " + " << z.y << "i"; 8 | } else if( z.y < 0 ) { 9 | os << z.x << " - " << -z.y << "i"; 10 | } else { 11 | os << z.x; 12 | } 13 | return os; 14 | } 15 | 16 | } // namespace CGL 17 | -------------------------------------------------------------------------------- /project/CGL/src/console.h: -------------------------------------------------------------------------------- 1 | #ifndef CGL_CONSOLE_H 2 | #define CGL_CONSOLE_H 3 | 4 | #include 5 | 6 | #define ANSI_RESET "\x1b[0m" 7 | #define ANSI_R "\x1b[31m" 8 | #define ANSI_G "\x1b[32m" 9 | #define ANSI_B "\x1b[34m" 10 | #define ANSI_C "\x1b[36m" 11 | #define ANSI_M "\x1b[35m" 12 | #define ANSI_Y "\x1b[33m" 13 | 14 | #define out_msg(s) std::cout << ANSI_B << "[CGL] " << ANSI_RESET << s << std::endl << std::flush 15 | #define out_wrn(s) std::cout << ANSI_Y << "[CGL] " << ANSI_RESET << s << std::endl << std::flush 16 | #define out_err(s) std::cout << ANSI_R << "[CGL] " << ANSI_RESET << s << std::endl << std::flush 17 | 18 | #endif // CGL_CONSOLE_H 19 | -------------------------------------------------------------------------------- /project/CGL/src/quaternion.cpp: -------------------------------------------------------------------------------- 1 | #include "quaternion.h" 2 | 3 | namespace CGL { 4 | 5 | std::ostream& operator<<( std::ostream& os, const Quaternion& v ) { 6 | os << "{ " << v.x << "i, " << v.y << "j, " << v.z << "k, " << v.w << " }"; 7 | return os; 8 | } 9 | 10 | } // namespace CGL 11 | -------------------------------------------------------------------------------- /project/CGL/src/vector2D.cpp: -------------------------------------------------------------------------------- 1 | #include "vector2D.h" 2 | 3 | namespace CGL { 4 | 5 | std::ostream& operator<<( std::ostream& os, const Vector2D& v ) { 6 | os << "( " << v.x << ", " << v.y << " )"; 7 | return os; 8 | } 9 | 10 | } // namespace CGL 11 | -------------------------------------------------------------------------------- /project/CGL/src/vector3D.cpp: -------------------------------------------------------------------------------- 1 | #include "vector3D.h" 2 | 3 | namespace CGL { 4 | 5 | std::ostream& operator<<( std::ostream& os, const Vector3D& v ) { 6 | os << "{ " << v.x << ", " << v.y << ", " << v.z << " }"; 7 | return os; 8 | } 9 | 10 | } // namespace CGL 11 | -------------------------------------------------------------------------------- /project/CGL/src/vector4D.cpp: -------------------------------------------------------------------------------- 1 | #include "vector4D.h" 2 | 3 | namespace CGL { 4 | 5 | std::ostream& operator<<( std::ostream& os, const Vector4D& v ) { 6 | os << "{ " << v.x << ", " << v.y << ", " << v.z << ", " << v.w << " }"; 7 | return os; 8 | } 9 | 10 | Vector3D Vector4D::to3D() 11 | { 12 | return Vector3D(x, y, z); 13 | } 14 | 15 | } // namespace CGL 16 | -------------------------------------------------------------------------------- /project/CGL/tests/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | link_libraries(CGL) 2 | 3 | include_directories("${PROJECT_SOURCE_DIR}/src") 4 | 5 | link_libraries( 6 | glfw ${GLFW_LIBRARIES} 7 | glew ${GLEW_LIBRARIES} 8 | ${OPENGL_LIBRARIES} 9 | ${FREETYPE_LIBRARIES} 10 | ) 11 | 12 | # OSD 13 | add_executable(osd osd.cpp) 14 | 15 | # Install tests 16 | install(TARGETS osd DESTINATION bin/tests) 17 | -------------------------------------------------------------------------------- /project/README.md: -------------------------------------------------------------------------------- 1 | 2 | # kingil_project email: kingilustc@163.com 3 | 4 | ## 实现[5points]格式正确;可以正确编译运行 5 | 结果见/images 6 | ## 实现[45points]正确实现PathTracing算法 7 | -------------------------------------------------------------------------------- /project/src/mass.h: -------------------------------------------------------------------------------- 1 | #ifndef MASS_H 2 | #define MASS_H 3 | 4 | #include "CGL/CGL.h" 5 | #include "CGL/vector2D.h" 6 | #include "CGL/vector3D.h" 7 | using namespace CGL; 8 | 9 | struct Mass { 10 | Mass(Vector3D position, float mass, bool pinned) 11 | : start_position(position), position(position), last_position(position), 12 | mass(mass), pinned(pinned) {} 13 | 14 | float mass; 15 | bool pinned; 16 | 17 | Vector3D start_position; 18 | Vector3D position; 19 | 20 | // explicit Verlet integration 21 | 22 | Vector3D last_position; 23 | 24 | // explicit Euler integration 25 | 26 | Vector3D velocity; 27 | Vector3D forces; 28 | }; 29 | 30 | #endif /* MASS_H */ 31 | -------------------------------------------------------------------------------- /project/src/spring.h: -------------------------------------------------------------------------------- 1 | #ifndef SPRING_H 2 | #define SPRING_H 3 | 4 | #include "CGL/CGL.h" 5 | #include "mass.h" 6 | 7 | using namespace std; 8 | 9 | namespace CGL { 10 | 11 | struct Spring { 12 | Spring(Mass *a, Mass *b, float k) 13 | : m1(a), m2(b), k(k), rest_length((a->position - b->position).norm()) { 14 | //rest_length = 4.0; 15 | } 16 | // 17 | float k; 18 | double rest_length; 19 | 20 | Mass *m1; 21 | Mass *m2; 22 | }; // struct Spring 23 | } 24 | #endif /* SPRING_H */ 25 | --------------------------------------------------------------------------------