This is a multi-threaded ray marching renderer written in Golang that allows for the creation of a scene (including lighting, basic shapes and a MandleBulb) and rendering to an image file on disk.
- Multi-threaded rendering
- Different shapes (Sphere, Cube, MandleBulb)
- Lighting
- Image export
- Add more advanced shading/lighting & reflections
- Add scene builder outside of renderer code
- Add ability to create videos
- Real-time rendering preview window
- Basic GUI
- Golang
- Clone the repository
git clone https://github.com/Solidsilver/go-ray-march.git
- Build the project (make sure Go is installed)
go build -o go-ray-march ./cmd/image_render/image_render.go
You may run the standalone executible, or import into your own package.
To run a basic render,:
go run ./cmd/image_render/image_render.go
To use go-ray-march in your own project, simply import the renderer
package and use the features provided. Example usage can be found at the end of the renderer/renderer.go
file.
- Fork the repository
- Create a new branch with a meaningful name (
git checkout -b new-feature
) - Commit your changes (
git commit -am 'Adding a new feature'
) - Push to the branch (
git push origin new-feature
) - Create a Pull Request
MIT License © Solidsilver