No description
- Go 99.1%
- Just 0.9%
Added ability to switch on "fast math" approximations for intensive trigonometric operations at the cost of a lack of accuracy Added dedicated "movie" renderer for creating videos from camera motion Improved live camera movement Improved live rendering techniques Added options system to centralize turning on and off parts of the renderer. |
||
|---|---|---|
| .vscode | ||
| assets | ||
| cmd | ||
| pkg | ||
| .gitignore | ||
| go.mod | ||
| go.sum | ||
| justfile | ||
| README.md | ||
go-ray-march
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.
Features
- Multi-threaded rendering
- Different shapes (Sphere, Cube, MandleBulb)
- Lighting
- Image export
Future Goals
- 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
Requirements
- Golang
Installation
- 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
Usage
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.
Contributing
- 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
License
MIT License © Solidsilver
