Raylib is an awesome free and open source game development framework written using the C programming language. One of the biggest strengths of Raylib beyond it’s ease of use, excellent examples and multiple language bindings is its ability to run on a variety of different platforms with zero external dependencies. Well that strength just got even stronger with the release of rlsw.h, a single header software renderer for Raylib that removes the dependency of OpenGL, meaning Raylib applications will be able to run on machines without any form of GPU.
On Twitter, Raylib founder RaySan5 posted the following:

Details from the header comments of rlsw.h:
DESCRIPTION:
rlsw is a custom OpenGL 1.1-style implementation on software, intended to provide all functionality available on rlgl.h library used by raylib, becoming a direct software rendering replacement for OpenGL 1.1 backend and allowing to run raylib on GPU-less devices when requiredFEATURES:
- Rendering to custom internal framebuffer with multiple color modes supported:
- Color buffer: RGB – 8-bit (3:3:2) | RGB – 16-bit (5:6:5) | RGB – 24-bit (8:8:8)
- Depth buffer: D – 8-bit (unorm) | D – 16-bit (unorm) | D – 24-bit (unorm)
- Rendering modes supported: POINT, LINES, TRIANGLE, QUADS
- Additional features: Polygon modes, Point width, Line width
- Clipping support for all rendering modes
- Texture features supported:
- All uncompressed texture formats supported by raylib
- Texture Minification/Magnification checks
- Point and Bilinear filtering
- Texture Wrap Modes with separate checks for S/T coordinates
- Vertex Arrays support with direct primitive drawing mode
- Matrix Stack support (Matrix Push/Pop)
- Other GL misc features:
- GL-style getter functions
- Framebuffer resizing
- Perspective correction
- Scissor clipping
- Depth testing
- Blend modes
- Face culling
Key Links
You can learn more about the new software renderer for Raylib, rlsw.h in the video below.
