Unrimp

prealpha

Unified renderer implementation ("Un r imp")

Add a Review
1 Download (This Week)
Last Update:

Description

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

Unrimp Web Site

Categories

License

MIT License

Features

  • 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

Update Notifications





Write a Review

User Reviews

Be the first to post a review of Unrimp!

Additional Project Details

Intended Audience

Developers

Programming Language

C++

Registered

2013-01-03
Screenshots can attract more users to your project.
Features can attract more users to your project.

Icons must be PNG, GIF, or JPEG and less than 1 MiB in size. They will be displayed as 48x48 images.