PortableGL is a single-header, software-only implementation of a subset of OpenGL (specifically the GL 2.1 pipeline), designed to run entirely on the CPU. This lightweight graphics library allows OpenGL-style rendering without GPU acceleration, making it ideal for educational use, debugging, embedded systems, and retro-style software rendering. Because it mirrors OpenGL syntax and design, it can act as a drop-in CPU renderer for testing or deploying 3D graphics on platforms without GPU support.

Features

  • CPU-based OpenGL 2.1-like rendering pipeline
  • Single-header, zero-dependency implementation
  • Supports vertex and fragment shaders written in C
  • Emulates programmable pipeline with user-defined shaders
  • Renders to raw memory buffers or SDL surfaces
  • Includes matrix stack and transformation utilities
  • Compatible with OpenGL-style vertex attributes and uniforms
  • Designed for portability and minimalism
  • Ideal for learning graphics programming or debugging

Project Samples

Project Activity

See All Activity >