2. Regal Goals
Open Source
There is nothing behind the curtain.
You can see what Regal is doing and change it if needed.
Portability
Consistent OpenGL API that runs on all major platforms:
Windows, Linux, Mac, iOS, and Android
Compatible
Immediate mode, fixed function, GL_QUADS
work everywhere, emulated as necessary.
Modern OpenGL API
Direct State Access (DSA) and Vertex Array Object (VAO),
emulated as necessary.
3. Ease of Use
Set breakpoints on OpenGL functions.
Step into the code.
Inspect state.
Efficiency
If it cannot be implemented efficiently in Regal, it is not universally
supported.
For example, tessellation support requires tessellation hardware.
4. Regal is a Work-In-Progress
Emulation for OpenGL ES and Desktop GL Core contexts.
Fixed-function lighting using GLSL shaders.
Direct-state-access emulation.
Immediate mode emulation
Logging
See all the application calls into Regal
See all the driver calls from Regal into OpenGL
GL_EXT_debug_marker emulation
5. Debugging
Optional error checking layer. (glGetError)
Access configuration, logs and GL state via HTTP.
Other ideas (unimplemented as of now)
Debugging checks
Performance problems
Statistics gathering – API coverage, time spent.
Frame capture
GL state capture and comparison.
6. Imagined Uses for Regal
Using Regal as a portability layer for developing games
for Windows, Linux, Android, Mac and/or iOS.
As a way of running OpenGL 1.x or 2.x code in a core
OpenGL context. (Apple Mac or AMD GPU)
As a way of porting Linux OpenGL games to mobile
devices.
As a common infrastructure for OpenGL development
tools.
7. More Information
Source Code on github:
https://github.com/p3/regal
opengl.org forum thread:
http://www.opengl.org/discussion_boards/showthread.php/1786
78-Introducing-Regal?p=1240974
Email:
nstewart@nvidia.com