https://github.com/ahmedkhalf/voxel-raytracer
A Toy 3D Ray Tracing Renderer for Voxel Objects
https://github.com/ahmedkhalf/voxel-raytracer
Last synced: 13 days ago
JSON representation
A Toy 3D Ray Tracing Renderer for Voxel Objects
- Host: GitHub
- URL: https://github.com/ahmedkhalf/voxel-raytracer
- Owner: ahmedkhalf
- Created: 2022-07-20T03:19:05.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-03T17:23:57.000Z (about 2 years ago)
- Last Synced: 2025-01-19T06:15:26.805Z (12 months ago)
- Language: GLSL
- Homepage:
- Size: 117 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Voxel Raytracer
A voxel is like a 3d pixel used in many fields and applications. It can also make for some interesting 3D art.
## TODO
- support changing of camera angle and position
- support different voxel materials
- support shadows and lights (emissive materials)
- support many models in the same scene
- avoid unnecessary voxel marching by using AABB collisions check with the voxel model
- try using compute shaders rather than fragment shaders, it could be beneficial though I need to research why
- render using multiple passes rather than a single pass to support lower-end GPUs, and generally allow for more samples per pixel
- voxel editor !? (a bit of a stretch)
## References
The following books, papers, and other references have been used in the making of this personal project:
- https://raytracing.github.io/books/RayTracingInOneWeekend.html
- http://www.cse.yorku.ca/~amana/research/grid.pdf
- https://nvpro-samples.github.io/vk_mini_path_tracer/index.html#antialiasingandpseudorandomnumbergeneration/pseudorandomnumbergenerationinglsl
## Gallery
All of the following were rendered on a GTX 1050 TI Mobile with 256 samples per pixel and 50 max bounces.

Rendered in 82.95 milliseconds.

Rendered in 74.47 milliseconds.

Rendered in 516.46 milliseconds.