Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/star-hengxing/software_renderer
A tiny software renderer built from scratch using C++20.
https://github.com/star-hengxing/software_renderer
computer-graphics cpp20 rendering software-rendering xmake
Last synced: 3 months ago
JSON representation
A tiny software renderer built from scratch using C++20.
- Host: GitHub
- URL: https://github.com/star-hengxing/software_renderer
- Owner: star-hengxing
- License: agpl-3.0
- Created: 2022-02-19T11:42:36.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-02-25T01:29:45.000Z (12 months ago)
- Last Synced: 2024-07-30T21:05:49.042Z (6 months ago)
- Topics: computer-graphics, cpp20, rendering, software-rendering, xmake
- Language: C++
- Homepage:
- Size: 1.57 MB
- Stars: 11
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Software renderer
A tiny software renderer built from scratch using C++20.
[简体中文](doc/README_zh.md)
# Features
## Project
- Cross-platform(Linux/Windows)
- Written in C++20## Base
- Two modes: Wireframe and Rasterisation.
- Simple homogeneous clipping/Back-face culling.
- Perspective correct interpolation.
- Texture mapping.## Shader
- Blinn-Phong
# Getting Started
Install dependencies:
- [xmake](https://xmake.io/)then
```shell
git clone --recursive https://github.com/star-hengxing/software_renderer
cd software_renderer
xmake build main
xmake run main
```If success, you can see the bunny on your window.Then you can press *J* and *K* rotate the bunny.
# Usage
Please check out examples/ for more details.
- Blinn-Phong
![Bunny](image/bunny.jpg)
- SSAA 8X
![spot_ssaa_x8](image/spot_ssaa_8x.jpg)