Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chinmaygarde/sft
A software renderer.
https://github.com/chinmaygarde/sft
3d graphics rendering
Last synced: 20 days ago
JSON representation
A software renderer.
- Host: GitHub
- URL: https://github.com/chinmaygarde/sft
- Owner: chinmaygarde
- License: mit
- Created: 2022-04-12T22:10:53.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-10T20:02:53.000Z (3 months ago)
- Last Synced: 2024-10-08T05:50:51.825Z (about 1 month ago)
- Topics: 3d, graphics, rendering
- Language: C++
- Homepage:
- Size: 14.3 MB
- Stars: 11
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# A Software Renderer
A software renderer modelled after graphics APIs like Metal and Vulkan. A programmable shader based graphics pipeline, depth & stencil buffers, multi-sampling, tile-based-deferred-rendering, multi-core operation, blending, custom ImGUI integration, etc..
| Depth Buffers | Stencil Buffers |
:-------------------------:|:---------------------------:
![](fixtures/demo/demo1.png) | ![](fixtures/demo/demo5.png) |
| ImGUI Integration | Instrumentation |
![](fixtures/demo/demo2.png) | ![](fixtures/demo/demo4.png) |
| Texture Sampling | Blending |
![](fixtures/demo/demo3.png) | ![](fixtures/demo/demo6.png) |## Dependencies
This is a very simple CMake project. The Makefile at the project root has tasks to make development easier. The Makefile does assume you have `cmake` and `ninja` installed on your host.
## Build & Run
* `make sync` ensures that the right sub-module dependencies are pulled in.
* `make run` runs the demo application.