├── .github └── workflows │ └── cargo.yml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── Makefile ├── README.md ├── data ├── scene_10.json ├── scene_10.yaml ├── scene_200_no_bvh.json ├── scene_200_no_bvh.yaml ├── scene_500.json └── scene_500.yaml ├── objects ├── Buddha.obj ├── Char_Patrick.png ├── bunny.fine.obj ├── cube.obj ├── dodecahedron.obj ├── fixed.perfect.dragon.100K.0.07.obj ├── glass1.obj ├── icosahedron.obj ├── patrick.mtl ├── patrick.obj ├── spot_texture.png ├── spot_triangulated.obj └── spot_triangulated_good.obj ├── output └── .keep ├── raytracer ├── Cargo.toml └── src │ ├── main.rs │ ├── material.rs │ ├── scene.rs │ └── vec3.rs ├── raytracer_codegen ├── Cargo.toml └── src │ └── lib.rs └── rust-toolchain /.github/workflows/cargo.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/.github/workflows/cargo.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /output 3 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/README.md -------------------------------------------------------------------------------- /data/scene_10.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/data/scene_10.json -------------------------------------------------------------------------------- /data/scene_10.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/data/scene_10.yaml -------------------------------------------------------------------------------- /data/scene_200_no_bvh.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/data/scene_200_no_bvh.json -------------------------------------------------------------------------------- /data/scene_200_no_bvh.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/data/scene_200_no_bvh.yaml -------------------------------------------------------------------------------- /data/scene_500.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/data/scene_500.json -------------------------------------------------------------------------------- /data/scene_500.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/data/scene_500.yaml -------------------------------------------------------------------------------- /objects/Buddha.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/objects/Buddha.obj -------------------------------------------------------------------------------- /objects/Char_Patrick.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/objects/Char_Patrick.png -------------------------------------------------------------------------------- /objects/bunny.fine.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/objects/bunny.fine.obj -------------------------------------------------------------------------------- /objects/cube.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/objects/cube.obj -------------------------------------------------------------------------------- /objects/dodecahedron.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/objects/dodecahedron.obj -------------------------------------------------------------------------------- /objects/fixed.perfect.dragon.100K.0.07.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/objects/fixed.perfect.dragon.100K.0.07.obj -------------------------------------------------------------------------------- /objects/glass1.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/objects/glass1.obj -------------------------------------------------------------------------------- /objects/icosahedron.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/objects/icosahedron.obj -------------------------------------------------------------------------------- /objects/patrick.mtl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/objects/patrick.mtl -------------------------------------------------------------------------------- /objects/patrick.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/objects/patrick.obj -------------------------------------------------------------------------------- /objects/spot_texture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/objects/spot_texture.png -------------------------------------------------------------------------------- /objects/spot_triangulated.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/objects/spot_triangulated.obj -------------------------------------------------------------------------------- /objects/spot_triangulated_good.obj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/objects/spot_triangulated_good.obj -------------------------------------------------------------------------------- /output/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /raytracer/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/raytracer/Cargo.toml -------------------------------------------------------------------------------- /raytracer/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/raytracer/src/main.rs -------------------------------------------------------------------------------- /raytracer/src/material.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/raytracer/src/material.rs -------------------------------------------------------------------------------- /raytracer/src/scene.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/raytracer/src/scene.rs -------------------------------------------------------------------------------- /raytracer/src/vec3.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/raytracer/src/vec3.rs -------------------------------------------------------------------------------- /raytracer_codegen/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/raytracer_codegen/Cargo.toml -------------------------------------------------------------------------------- /raytracer_codegen/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aik2mlj/raytracer-tutorial/HEAD/raytracer_codegen/src/lib.rs -------------------------------------------------------------------------------- /rust-toolchain: -------------------------------------------------------------------------------- 1 | 1.53 2 | --------------------------------------------------------------------------------