https://github.com/southendmusic/rays
3D graphics in Julia using raycasting
https://github.com/southendmusic/rays
julia raycasting
Last synced: 4 months ago
JSON representation
3D graphics in Julia using raycasting
- Host: GitHub
- URL: https://github.com/southendmusic/rays
- Owner: SouthEndMusic
- Created: 2023-09-16T15:29:08.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-01-03T09:51:26.000Z (over 2 years ago)
- Last Synced: 2025-10-27T18:57:43.983Z (8 months ago)
- Topics: julia, raycasting
- Language: Julia
- Homepage:
- Size: 41.6 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 31
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Rays
CPU based 3D graphics in Julia using raycasting.

## Main features
### Shapes
- Sphere, cube, tetrahedron
- Implicit surface
- Surface of revolution
- Triangle mesh
- Fractal shapes, e.g. [Menger sponge](https://nl.wikipedia.org/wiki/Spons_van_Menger), [Sierpinski pyramid](https://en.wikipedia.org/wiki/Sierpi%C5%84ski_triangle#Analogues_in_higher_dimensions)
For examples see [here](https://github.com/SouthEndMusic/Rays/blob/master/examples/Getting_started_shapes.ipynb).
### Textures
- Uniform color
- Color by face
- Color by shape coordinates
For examples see [here](https://github.com/SouthEndMusic/Rays/blob/master/examples/Getting_started_textures.ipynb).
### Interactive rendering
Integraton of [SimpleDirectMediaLayer.jl](https://github.com/JuliaMultimedia/SimpleDirectMediaLayer.jl) provides a simple API to use `Rays.jl` essentially as a game engine. For an example script see [here](https://github.com/SouthEndMusic/Rays/blob/master/examples/Getting_started_interactive.ipynb).
## Contributing
This is a hobby project of mine, partly to learn how to write good Julia code. Therefore I do not accept contributions, only suggestions 🙂 However, please feel free to experiment with the code and show me your creations (kudos to whomever creates a clone of DOOM).