https://github.com/lvntky/siren
Siren | Simple Renderer
https://github.com/lvntky/siren
cpp renderer rendering rendering-3d-graphics rendering-engine wavefront-obj
Last synced: 4 months ago
JSON representation
Siren | Simple Renderer
- Host: GitHub
- URL: https://github.com/lvntky/siren
- Owner: lvntky
- License: mit
- Created: 2024-04-18T23:10:25.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-27T11:54:19.000Z (almost 2 years ago)
- Last Synced: 2025-07-21T20:56:59.375Z (7 months ago)
- Topics: cpp, renderer, rendering, rendering-3d-graphics, rendering-engine, wavefront-obj
- Language: C++
- Homepage:
- Size: 10.3 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Siren | SimpleRenderer
Siren is a lightweight Cross Platform C++ program designed to render Wavefront .obj files into images. It provides a simple and efficient way to visualize 3D models without the need for complex graphics libraries.
## Features
- Rendering of Wavefront .obj files
- Support for basic material properties (e.g., diffuse color, specular color, shininess)
- Adjustable camera settings (e.g., position, orientation, field of view)
- Basic lighting support (ambient, diffuse, specular)
## Dependencies
Siren does not depent any other graphics rendering library such as OpenGL or DirectX, the whole philosphy of Siren is rendering obj files without depending large third party libraries.
The only dependency that Siren have is my own [TGA Image Library](https://github.com/lvntky/targalib) which used for generating rendered objects as `.tga` image files. Targalib is very compact header only library, check out the Targalib repository for more information.
## Getting Stated
Siren uses CMake as a build tool. You can compile the source code as:
1. clone the repository
```bash
git clone https://github.com/lvnyky/siren.git
```
2. create a build directory
```bash
mkdir build
cd build/
```
3. generate makefiles
```bash
cmake ..
```
4 then build it
```
make
```
## Contributing
Contributions to Siren are welcome! If you have any ideas for improvements or new features, feel free to open an issue or submit a pull request.
And don't forget to look [Contrubuting](./CONTRIBUTING.md) page.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Contact
For questions or feedback, please contact leventkayadev [at] gmail [dot] com.
## Showcase
- First Wiremesh Rendering
- 
- Triangle Rasterization
- 
- 