├── .gitignore ├── CMakeLists.txt ├── include ├── fx │ └── gltf.h ├── nlohmann │ └── json.hpp ├── stb_image.h └── stb_image_write.h ├── pathtracer ├── background.h ├── camera │ ├── camera.h │ ├── frustumCamera.h │ └── sphericalCamera.h ├── cmdLineParams.cpp ├── cmdLineParams.h ├── collision.h ├── collision │ ├── AABBTree.h │ ├── BLAS.h │ ├── CWBVH.cpp │ ├── CWBVH.h │ ├── TLAS.cpp │ └── TLAS.h ├── main.cpp ├── materials │ ├── Lambertian.h │ ├── debugMaterials.h │ ├── material.h │ └── pbrMaterial.h ├── math │ ├── aabb.h │ ├── constants.h │ ├── linear.h │ ├── matrix.cpp │ ├── matrix.h │ ├── quaterrnion.h │ ├── random.h │ ├── ray.h │ ├── rectangle.h │ ├── sphericalHarmonics.h │ ├── vector.h │ └── vectorFloat.h ├── scene │ ├── loadGltf.cpp │ ├── loadGltf.h │ ├── scene.cpp │ └── scene.h ├── shapes │ ├── meshInstance.h │ ├── shape.h │ ├── sphere.h │ ├── triangle.h │ └── triangleMesh.h ├── textures │ ├── image.cpp │ ├── image.h │ └── textureSampler.h └── threadPool.h ├── readme.md ├── screenshot.png └── test └── unit ├── algebraTest.cpp ├── collisionTest.cpp └── tlasTest.cpp /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /include/fx/gltf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/include/fx/gltf.h -------------------------------------------------------------------------------- /include/nlohmann/json.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/include/nlohmann/json.hpp -------------------------------------------------------------------------------- /include/stb_image.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/include/stb_image.h -------------------------------------------------------------------------------- /include/stb_image_write.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/include/stb_image_write.h -------------------------------------------------------------------------------- /pathtracer/background.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/background.h -------------------------------------------------------------------------------- /pathtracer/camera/camera.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/camera/camera.h -------------------------------------------------------------------------------- /pathtracer/camera/frustumCamera.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/camera/frustumCamera.h -------------------------------------------------------------------------------- /pathtracer/camera/sphericalCamera.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/camera/sphericalCamera.h -------------------------------------------------------------------------------- /pathtracer/cmdLineParams.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/cmdLineParams.cpp -------------------------------------------------------------------------------- /pathtracer/cmdLineParams.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/cmdLineParams.h -------------------------------------------------------------------------------- /pathtracer/collision.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/collision.h -------------------------------------------------------------------------------- /pathtracer/collision/AABBTree.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/collision/AABBTree.h -------------------------------------------------------------------------------- /pathtracer/collision/BLAS.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/collision/BLAS.h -------------------------------------------------------------------------------- /pathtracer/collision/CWBVH.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/collision/CWBVH.cpp -------------------------------------------------------------------------------- /pathtracer/collision/CWBVH.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/collision/CWBVH.h -------------------------------------------------------------------------------- /pathtracer/collision/TLAS.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/collision/TLAS.cpp -------------------------------------------------------------------------------- /pathtracer/collision/TLAS.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/collision/TLAS.h -------------------------------------------------------------------------------- /pathtracer/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/main.cpp -------------------------------------------------------------------------------- /pathtracer/materials/Lambertian.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/materials/Lambertian.h -------------------------------------------------------------------------------- /pathtracer/materials/debugMaterials.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/materials/debugMaterials.h -------------------------------------------------------------------------------- /pathtracer/materials/material.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/materials/material.h -------------------------------------------------------------------------------- /pathtracer/materials/pbrMaterial.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/materials/pbrMaterial.h -------------------------------------------------------------------------------- /pathtracer/math/aabb.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/math/aabb.h -------------------------------------------------------------------------------- /pathtracer/math/constants.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/math/constants.h -------------------------------------------------------------------------------- /pathtracer/math/linear.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/math/linear.h -------------------------------------------------------------------------------- /pathtracer/math/matrix.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/math/matrix.cpp -------------------------------------------------------------------------------- /pathtracer/math/matrix.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/math/matrix.h -------------------------------------------------------------------------------- /pathtracer/math/quaterrnion.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/math/quaterrnion.h -------------------------------------------------------------------------------- /pathtracer/math/random.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/math/random.h -------------------------------------------------------------------------------- /pathtracer/math/ray.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/math/ray.h -------------------------------------------------------------------------------- /pathtracer/math/rectangle.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/math/rectangle.h -------------------------------------------------------------------------------- /pathtracer/math/sphericalHarmonics.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/math/sphericalHarmonics.h -------------------------------------------------------------------------------- /pathtracer/math/vector.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/math/vector.h -------------------------------------------------------------------------------- /pathtracer/math/vectorFloat.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/math/vectorFloat.h -------------------------------------------------------------------------------- /pathtracer/scene/loadGltf.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/scene/loadGltf.cpp -------------------------------------------------------------------------------- /pathtracer/scene/loadGltf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/scene/loadGltf.h -------------------------------------------------------------------------------- /pathtracer/scene/scene.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/scene/scene.cpp -------------------------------------------------------------------------------- /pathtracer/scene/scene.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/scene/scene.h -------------------------------------------------------------------------------- /pathtracer/shapes/meshInstance.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/shapes/meshInstance.h -------------------------------------------------------------------------------- /pathtracer/shapes/shape.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/shapes/shape.h -------------------------------------------------------------------------------- /pathtracer/shapes/sphere.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/shapes/sphere.h -------------------------------------------------------------------------------- /pathtracer/shapes/triangle.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/shapes/triangle.h -------------------------------------------------------------------------------- /pathtracer/shapes/triangleMesh.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/shapes/triangleMesh.h -------------------------------------------------------------------------------- /pathtracer/textures/image.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/textures/image.cpp -------------------------------------------------------------------------------- /pathtracer/textures/image.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/textures/image.h -------------------------------------------------------------------------------- /pathtracer/textures/textureSampler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/textures/textureSampler.h -------------------------------------------------------------------------------- /pathtracer/threadPool.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/pathtracer/threadPool.h -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/readme.md -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/screenshot.png -------------------------------------------------------------------------------- /test/unit/algebraTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/test/unit/algebraTest.cpp -------------------------------------------------------------------------------- /test/unit/collisionTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/test/unit/collisionTest.cpp -------------------------------------------------------------------------------- /test/unit/tlasTest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/technik/gideon/HEAD/test/unit/tlasTest.cpp --------------------------------------------------------------------------------