Unrimp Icon



Unified renderer implementation ("Un r imp")

Add a Review
0 Downloads (This Week)
Last Update:


Unified renderer implementation ("Un r imp"). Extensive examples from basic to advanced are provided as well.

Unrimp Web Site



MIT License


  • Compact user-header for the renderer API: A single all in one header for ease-of-use and best possible compile times
  • Renderer implementations try to stick as best as possible close-to-the-metal and as a result are just a few KiB instead of MiB in memory size
  • Renderer implementations load the entry points of Direct3D, OpenGL and so on during runtime, meaning it's possible to react on system failures by e.g. dynamically switching to another renderer implementation
  • Support for static and dynamic build
  • Renderer implementations for Direct3D 9 with support for HLSL and Cg shaders
  • Renderer implementations for Direct3D 10 with support for HLSL and Cg shaders
  • Renderer implementations for Direct3D 11 with support for HLSL and Cg shaders
  • Renderer implementations for OpenGL with support for GLSL and Cg shaders
  • Renderer implementations for OpenGL ES 2 with support for GLSL and Cg shaders
  • Cross-platform: Windows, Linux
  • Vertex shader (VS)
  • Tessellation control shader (TCS, "hull shader" in Direct3D terminology)
  • Tessellation evaluation shader (TES, "domain shader" in Direct3D terminology)
  • Geometry shader (GS)
  • Fragment shader (FS, "pixel shader" in Direct3D terminology)
  • Vertex array object (VAO, input-assembler (IA) stage) with support for multiple vertex streams
  • Vertex buffer object (VBO, input-assembler (IA) stage)
  • Index buffer object (IBO, input-assembler (IA) stage)
  • Swap chains, render into one or multiple operation system windows
  • Framebuffer object (FBO) used for render to texture, support for multiple render targets (MRT)
  • Uniform buffer object (UBO, "constant buffer" in Direct3D terminology)
  • Texture buffer object (TBO)
  • Textures: 2D texture and 2D texture array (more will follow later on)
  • State objects with mapping to API specific settings during creation, not runtime
  • Rasterizer state object (rasterizer stage (RS))
  • Depth stencil state object (output-merger (OM) stage)
  • Blend state object (output-merger (OM) stage)
  • Sampler state object (SO)
  • Collections to potentially reduce the number of state changes: Texture and sampler collection
  • Instanced arrays (shader model 3 feature, vertex array element advancing per-instance instead of per-vertex)
  • Draw instanced (shader model 4 feature, build in shader variable holding the current instance ID)
  • Debug methods: When using Direct3D <11.1, those methods map to the Direct3D 9 PIX functions (D3DPERF_* functions, also works directly within VisualStudio 2012 out-of-the-box)
  • Debug methods: Used inside the renderer implementations for better renderer debugging
  • Renderer implementation specific optimizations: OpenGL: Usage of direct state access (DSA), if available


Write a Review

User Reviews

Be the first to post a review of Unrimp!

Additional Project Details

Intended Audience


Programming Language




Thanks for helping keep SourceForge clean.

Screenshot instructions:
Red Hat Linux   Ubuntu

Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Briefly describe the problem (required):

Upload screenshot of ad (required):
Select a file, or drag & drop file here.

Please provide the ad click URL, if possible:

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks