This is easy, simple ray tracing renderer.
Aten is Egyptian sun god.
Idaten(path tracing on GPGPU) is under construction.
Idaten is Japanese god, it runs fast. And Idanten includes characters of aten, "idaten"
Some features are only supported by either.
- Rendering algorithms
- Next Event Estimation Path Tracing
- Acceleration
- BVH
- SBVH
- TopLayer, BottomLayer
- Transform(Translate, Rotate, Scale) objects
- Materials
- Emissive
- Lambert
- Specular
- Refraction
- Microfacet Beckman
- Microfacet GGX
- OrenNayar
- Disney BRDF
- Retroreflective (Experimental)
- Lights
- Polygonal Light(Area Light)
- Point Light
- Spot Light
- Directional Light
- Image Based Lighting
- Quasi Monte Carlo
- CMJ(Correllated Multi Jittered)
- Rendering shapes
- Polygon(.obj file)
- Sphere
- Texture Map
- Albedo
- Normal
- Roughness
- PostEffect
- Reinherd Tone Mapping
- Camera
- Pinhole
- Equirect
- VolumeRendering
- Homogeneous
- Heterogeneous
- NanoVDB format
- Others
- Instancing
- Deformation
- Alpha blending
- Spatiotemporal Variance-Guided Filtering: Real-Time Reconstruction for Path-Traced Global Illumination
- Spatiotemporal reservoir resampling for real-time ray tracing with dynamic direct lighting
- Physically-based Feature Line Rendering
- Not optimized by SIMD
- To keep easy, simple, to avoid difficult to understand, so not use SIMD.
- There are still some Japanese comments...
See How To Build document
Please find exe
files and run them. You can find them in each directory
where the source files are in.
Please find the executables and run them. You can find them in the directories which you built the applications. And the directories have same name as execution file.
This section works for ony Linux.
If you would like to run the executables in docker, you need to ensure that your host can accept X forwarded connections:
xhost +local:<Docker container name>`
And then, run the docker container like the following:
docker run -it --rm -v ${PWD}:/work -v /tmp/.X11-unix:/tmp/.X11-unix:rw --runtime=nvidia -e DISPLAY <Image Name>:latest bash
You also need to ensure your host accept X forward connections. See Docker in How to run
And, run the docker container via docker-compose like the following:
docker-compose -f .devcontainer/docker-compose.yml run aten
You can open this project on VSCode devcontainer. If you face on devcontainer build failure, it might be due to docker-compose version. In that case, please update docker-compose.
PathTracing 100spp
Materials PathTracing 100spp
SVGF (1spp/5bounds)
Deformation
(c) Unity Technologies Japan/UCL
ReSTIR (1spp/5bounds/126point lights w/o environment map)
AlphaBlending
Physically-based Feature Line Rendering
Homogeneous medium
Heterogeneous medium