https://github.com/raphimc/softwarerenderer
Library for rendering simple 2D and 3D scenes in pure Java
https://github.com/raphimc/softwarerenderer
software-rasterizer software-renderer software-rendering
Last synced: 9 months ago
JSON representation
Library for rendering simple 2D and 3D scenes in pure Java
- Host: GitHub
- URL: https://github.com/raphimc/softwarerenderer
- Owner: RaphiMC
- License: lgpl-3.0
- Created: 2024-09-23T20:25:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-03T22:40:33.000Z (9 months ago)
- Last Synced: 2025-05-03T23:25:44.191Z (9 months ago)
- Topics: software-rasterizer, software-renderer, software-rendering
- Language: Java
- Homepage:
- Size: 142 KB
- Stars: 7
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# SoftwareRenderer
Library for rendering simple 2D and 3D scenes in pure Java.
This project is mostly for learning purposes due to Java's slow performance.
## Features
- 2D and 3D rendering
- Z-Buffering (Depth Testing)
- Perspective correct texture mapping
- Backface Culling
- Wireframe rendering
- Written in pure Java
## Releases
### Gradle/Maven
To use SoftwareRenderer with Gradle/Maven you can get it from [Lenni0451's Maven](https://maven.lenni0451.net/#/releases/net/raphimc/software-renderer) or [Jitpack](https://jitpack.io/#RaphiMC/SoftwareRenderer).
You can also find instructions how to implement it into your build script there.
### Jar File
If you just want the latest jar file you can download it from [GitHub Actions](https://github.com/RaphiMC/SoftwareRenderer/actions/workflows/build.yml) or [Lenni0451's Jenkins](https://build.lenni0451.net/job/SoftwareRenderer/).
## Usage
SoftwareRenderer provides most of its functionality through the ``SoftwareRenderer`` and ``PerspectiveSoftwareRenderer`` class.
## Examples
* [Simple 3D Scene](/src/test/java/TestMain.java)
* [ImGui (2D)](https://github.com/Lenni0451/imgui-swing)
## Contact
If you encounter any issues, please report them on the
[issue tracker](https://github.com/RaphiMC/SoftwareRenderer/issues).
If you just want to talk or need help implementing SoftwareRenderer feel free to join my
[Discord](https://discord.gg/dCzT9XHEWu).