keith2018/SoftGLRender
Tiny C++ Software Renderer / Rasterizer, and implements OpenGL and Vulkan renderers for comparison observed · 2026-08-28
Health v2 · maintenance only
74/100
- Activity 93
- Release rhythm 35
- Longevity 100
Flags: no_releases
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-03. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 1573
- days_rel: n/a
- days_push: 45
- n_releases_24m: 0
Adoption not part of the score
1149 stars · 167 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-30, confidence not recorded
A tiny C++ software renderer/rasterizer that emulates the GPU rendering pipeline (vertex/fragment shading, rasterization, depth testing, blending) in software, alongside real OpenGL and Vulkan renderer implementations that can be switched at runtime. It is designed as an educational starting point for learning modern graphics programming, with a viewer supporting PBR/IBL shading, shadow mapping, and MSAA.
Use cases
- learn how the GPU rendering pipeline works step by step
- implement a software rasterizer in C++ from scratch
- compare software rendering against OpenGL and Vulkan implementations
- study PBR and IBL shading with GLTF models
- understand texture mapping, mipmaps, and filtering modes
- explore SIMD and multithreaded rasterization optimization
- use as a tutorial codebase for computer graphics courses
When to choose
- you want readable, small-scale source code to learn graphics pipeline internals
- you need a reference implementation comparing software, OpenGL, and Vulkan rendering side by side
- you are teaching or self-studying computer graphics concepts like rasterization, depth testing, and shader emulation
When to avoid
- you need a production-grade, high-performance rendering engine for shipping applications
- you require a full-featured engine with asset pipelines, physics, or scene management
- you need GPU-accelerated rendering at scale rather than an educational implementation
Facets
library · maturity active
graphics simulation gui developer-tools graphics computer-vision developer-tools tutorials cpp cross-platform software-renderer rasterizer opengl vulkan pbr spirv gltf imgui rendering-pipeline shader-emulation msaa simd multithreading learning-project desktop gpu
1 source
- readme: https://github.com/keith2018/SoftGLRender · fetched 2026-08-28 · 7a89236afff7
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| keith2018/SoftGLRender | main | 74 |
For agents
markdown · JSON · MCP: product_card(name="keith2018/SoftGLRender")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem