├── .github └── workflows │ ├── Documenter.yml │ └── ci.yml ├── .gitignore ├── Project.toml ├── README.md ├── docs ├── Project.toml ├── code │ ├── caustic_glass.jl │ ├── caustic_moving.jl │ ├── sphere.jl │ └── spheres.jl ├── make.jl ├── package.json └── src │ ├── api.md │ ├── assets │ ├── models │ │ └── caustic-glass.ply │ └── shadows-sppm-1024x1024_mio.png │ ├── get_started.md │ ├── index.md │ └── shadows.md ├── src ├── Trace.jl ├── accel │ └── bvh.jl ├── bounds.jl ├── camera │ ├── camera.jl │ └── perspective.jl ├── film.jl ├── filter.jl ├── integrators │ ├── sampler.jl │ └── sppm.jl ├── lights │ ├── directional.jl │ ├── emission.jl │ ├── light.jl │ ├── point.jl │ └── spot.jl ├── materials │ ├── bsdf.jl │ └── material.jl ├── model_loader.jl ├── primitive.jl ├── ray.jl ├── reflection │ ├── Reflection.jl │ ├── bxdf.jl │ ├── lambertian.jl │ ├── microfacet.jl │ └── specular.jl ├── sampler │ ├── primes.jl │ ├── sampler.jl │ ├── sampling.jl │ └── stratified.jl ├── shapes │ ├── Shape.jl │ ├── sphere.jl │ └── triangle_mesh.jl ├── spectrum.jl ├── surface_interaction.jl ├── textures │ ├── basic.jl │ └── mapping.jl ├── transformations.jl └── typeNormal3f.jl └── test ├── Manifest.toml ├── Project.toml ├── runtests.jl ├── test_intersection.jl └── test_materials.jl /.github/workflows/Documenter.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/.github/workflows/Documenter.yml -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/.gitignore -------------------------------------------------------------------------------- /Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/Project.toml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/README.md -------------------------------------------------------------------------------- /docs/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/docs/Project.toml -------------------------------------------------------------------------------- /docs/code/caustic_glass.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/docs/code/caustic_glass.jl -------------------------------------------------------------------------------- /docs/code/caustic_moving.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/docs/code/caustic_moving.jl -------------------------------------------------------------------------------- /docs/code/sphere.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/docs/code/sphere.jl -------------------------------------------------------------------------------- /docs/code/spheres.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/docs/code/spheres.jl -------------------------------------------------------------------------------- /docs/make.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/docs/make.jl -------------------------------------------------------------------------------- /docs/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/docs/package.json -------------------------------------------------------------------------------- /docs/src/api.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/docs/src/api.md -------------------------------------------------------------------------------- /docs/src/assets/models/caustic-glass.ply: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/docs/src/assets/models/caustic-glass.ply -------------------------------------------------------------------------------- /docs/src/assets/shadows-sppm-1024x1024_mio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/docs/src/assets/shadows-sppm-1024x1024_mio.png -------------------------------------------------------------------------------- /docs/src/get_started.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/docs/src/get_started.md -------------------------------------------------------------------------------- /docs/src/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/docs/src/index.md -------------------------------------------------------------------------------- /docs/src/shadows.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/docs/src/shadows.md -------------------------------------------------------------------------------- /src/Trace.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/Trace.jl -------------------------------------------------------------------------------- /src/accel/bvh.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/accel/bvh.jl -------------------------------------------------------------------------------- /src/bounds.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/bounds.jl -------------------------------------------------------------------------------- /src/camera/camera.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/camera/camera.jl -------------------------------------------------------------------------------- /src/camera/perspective.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/camera/perspective.jl -------------------------------------------------------------------------------- /src/film.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/film.jl -------------------------------------------------------------------------------- /src/filter.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/filter.jl -------------------------------------------------------------------------------- /src/integrators/sampler.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/integrators/sampler.jl -------------------------------------------------------------------------------- /src/integrators/sppm.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/integrators/sppm.jl -------------------------------------------------------------------------------- /src/lights/directional.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/lights/directional.jl -------------------------------------------------------------------------------- /src/lights/emission.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/lights/emission.jl -------------------------------------------------------------------------------- /src/lights/light.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/lights/light.jl -------------------------------------------------------------------------------- /src/lights/point.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/lights/point.jl -------------------------------------------------------------------------------- /src/lights/spot.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/lights/spot.jl -------------------------------------------------------------------------------- /src/materials/bsdf.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/materials/bsdf.jl -------------------------------------------------------------------------------- /src/materials/material.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/materials/material.jl -------------------------------------------------------------------------------- /src/model_loader.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/model_loader.jl -------------------------------------------------------------------------------- /src/primitive.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/primitive.jl -------------------------------------------------------------------------------- /src/ray.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/ray.jl -------------------------------------------------------------------------------- /src/reflection/Reflection.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/reflection/Reflection.jl -------------------------------------------------------------------------------- /src/reflection/bxdf.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/reflection/bxdf.jl -------------------------------------------------------------------------------- /src/reflection/lambertian.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/reflection/lambertian.jl -------------------------------------------------------------------------------- /src/reflection/microfacet.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/reflection/microfacet.jl -------------------------------------------------------------------------------- /src/reflection/specular.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/reflection/specular.jl -------------------------------------------------------------------------------- /src/sampler/primes.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/sampler/primes.jl -------------------------------------------------------------------------------- /src/sampler/sampler.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/sampler/sampler.jl -------------------------------------------------------------------------------- /src/sampler/sampling.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/sampler/sampling.jl -------------------------------------------------------------------------------- /src/sampler/stratified.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/sampler/stratified.jl -------------------------------------------------------------------------------- /src/shapes/Shape.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/shapes/Shape.jl -------------------------------------------------------------------------------- /src/shapes/sphere.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/shapes/sphere.jl -------------------------------------------------------------------------------- /src/shapes/triangle_mesh.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/shapes/triangle_mesh.jl -------------------------------------------------------------------------------- /src/spectrum.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/spectrum.jl -------------------------------------------------------------------------------- /src/surface_interaction.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/surface_interaction.jl -------------------------------------------------------------------------------- /src/textures/basic.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/textures/basic.jl -------------------------------------------------------------------------------- /src/textures/mapping.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/textures/mapping.jl -------------------------------------------------------------------------------- /src/transformations.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/transformations.jl -------------------------------------------------------------------------------- /src/typeNormal3f.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/src/typeNormal3f.jl -------------------------------------------------------------------------------- /test/Manifest.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/test/Manifest.toml -------------------------------------------------------------------------------- /test/Project.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/test/Project.toml -------------------------------------------------------------------------------- /test/runtests.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/test/runtests.jl -------------------------------------------------------------------------------- /test/test_intersection.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/test/test_intersection.jl -------------------------------------------------------------------------------- /test/test_materials.jl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/JuliaGraphics/Trace.jl/HEAD/test/test_materials.jl --------------------------------------------------------------------------------