Skip to content
This repository
Newer
Older
100644 163 lines (113 sloc) 4.904 kb
6b1a642d » nigels-com
2012-05-10 Fiddling with .rst markup
1 Regal
252bcdbf » casseveritt
2012-05-07 initial commit
2 =====
3
5d2cdda7 » casseveritt
2012-05-10 update the README.md
4 https://github.com/p3/regal
5
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
6 OpenGL portability layer for OpenGL 2.x, 3.x, 4.x, Core contexts and ES 2.0
5d2cdda7 » casseveritt
2012-05-10 update the README.md
7
af109c32 » casseveritt
2012-05-10 update README.rst
8 +---------------+----------------------------------------------------------------------+
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
9 | **Warning** | Regal is pre-alpha software, it is available here for evaluation |
694442b0 » casseveritt
2012-05-10 swap README.md with README.rst
10 | | and to play with the examples. Don't use it in your projects yet. |
11 | | You have been warned. |
af109c32 » casseveritt
2012-05-10 update README.rst
12 +---------------+----------------------------------------------------------------------+
5d2cdda7 » casseveritt
2012-05-10 update the README.md
13
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
14 Goals
15 -----
16
17 Regal is a portable OpenGL layer on top of existing OpenGL implementations.
18 Compile and link an app against Regal and deploy on various OpenGL implementations
19 including compatibility, core and ES 2.0 OpenGL contexts.
20
21 * Portability
22 Consistent API that runs on all major platforms: Windows, Linux, Mac, iOS, and Android
5d2cdda7 » casseveritt
2012-05-10 update the README.md
23
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
24 * Compatible
25 Immediate mode, fixed function, GL_QUADS work everywhere, emulated as necessary.
5d2cdda7 » casseveritt
2012-05-10 update the README.md
26
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
27 * Modern OpenGL API
28 Direct State Access (DSA) and Vertex Array Object (VAO), emulated as necessary.
5d2cdda7 » casseveritt
2012-05-10 update the README.md
29
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
30 * Open Source
31 There is nothing behind the curtain.
32 You can see what Regal is doing and change it if you need to.
5d2cdda7 » casseveritt
2012-05-10 update the README.md
33
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
34 * Ease of Use
35 Set breakpoints on OpenGL functions. Step into the code. Inspect state.
36
37 * Efficiency
38 If it cannot be implemented efficiently in Regal, it is not universally supported.
39 For example, tessellation support requires tessellation hardware.
40
41 Deployment
42 ----------
43
44 * Most code remains unchanged.
45 * Optionally **#include <GL/Regal.h>**
46 * Link with **regal32.dll**, **libRegal.so** or **libRegal.dylib**
47
48 From an application developer's perspective, Regal just looks like an OpenGL implementation.
49 You link with it instead of your platform's OpenGL library or framework, and that's really
50 all you have to do to use Regal. The rest of your code can remain unchanged.
5d2cdda7 » casseveritt
2012-05-10 update the README.md
51
9f08eb19 » nigels-com
2012-06-21 Updated XCode projects, boost::print::array, more API logging, docume…
52 Features
53 --------
54
55 * Emulation
56
57 - Fixed function texturing, lighting and fog.
58 - Direct State Access extension
59
60 http://www.opengl.org/registry/specs/EXT/direct_state_access.txt
61
62 - GL_EXT_debug_marker extension
63
64 http://www.khronos.org/registry/gles/extensions/EXT/EXT_debug_marker.txt
65
1df6ef29 » nigels-com
2012-06-27 Complete OpenGL API logging. Regal context initialization rework. Mor…
66 - Enabled by default.
67
4bcf96e1 » nigels-com
2012-07-03 Update boost sources to version 1.50.0
68 - Build-time configuration:
69
70 - **REGAL_NO_EMULATION** -- Disable the use of emulation
71 - **REGAL_FORCE_EMULATION** -- Force the use of emulation, even for compatibility contexts with DSA
72
73 - Environment variable configuration:
1df6ef29 » nigels-com
2012-06-27 Complete OpenGL API logging. Regal context initialization rework. Mor…
74
4bcf96e1 » nigels-com
2012-07-03 Update boost sources to version 1.50.0
75 - **REGAL_NO_EMULATION** -- Disable the use of emulation
76 - **REGAL_FORCE_EMULATION** -- Force the use of emulation, even for compatibility contexts with DSA
1df6ef29 » nigels-com
2012-06-27 Complete OpenGL API logging. Regal context initialization rework. Mor…
77
9f08eb19 » nigels-com
2012-06-21 Updated XCode projects, boost::print::array, more API logging, docume…
78 * OpenGL error checking
79
1df6ef29 » nigels-com
2012-06-27 Complete OpenGL API logging. Regal context initialization rework. Mor…
80 - Disabled by default.
81
82 - Build-time configuration: **REGAL_ERROR**
83
84 - Environment variable configuration: **REGAL_ERROR**
85
9f08eb19 » nigels-com
2012-06-21 Updated XCode projects, boost::print::array, more API logging, docume…
86 * Logging
87
88 Regal supports detailed logging for development purposes.
89
90 - **Error** -- Fatal and non-fatal Regal runtime errors.
91 - **Warning** -- Non-fatal Regal warnings.
92 - **Info** -- Informational messages.
93 - **Regal** -- Regal API calls.
94 - **OpenGL** -- OpenGL API calls.
95 - **Internal** -- Internal Regal calls.
96
97 Build-time configuration:
98
99 - **REGAL_LOG_ERROR**
100 - **REGAL_LOG_WARNING**
101 - **REGAL_LOG_INFO**
102 - **REGAL_LOG_REGAL**
103 - **REGAL_LOG_OPENGL**
104 - **REGAL_LOG_INTERNAL**
105
106 * Debug mode: All logging supported with error, warning and info enabled.
107 * Release mode: Support for Regal, OpenGL and internal logging disabled by default.
108
109 Environment variable configuration:
110
111 - **REGAL_LOG_ERROR**
112 - **REGAL_LOG_WARNING**
113 - **REGAL_LOG_INFO**
114 - **REGAL_LOG_REGAL**
115 - **REGAL_LOG_OPENGL**
116 - **REGAL_LOG_INTERNAL**
117 - **REGAL_LOG_API** --- Regal + OpenGL
118 - **REGAL_LOG_NONE** --- disable all logging
119
120 Environment variable lookup is globally disabled by defining **REGAL_NO_GETENV**
121 at compile-time.
122
123 Runtime configuration via **GL_REGAL_log** extension: (**glEnable/glDisable/glIsEnabled**)
124
125 - **GL_LOG_ERROR_REGAL**
126 - **GL_LOG_WARNING_REGAL**
127 - **GL_LOG_INFO_REGAL**
128 - **GL_LOG_REGAL_REGAL**
129 - **GL_LOG_OPENGL_REGAL**
130 - **GL_LOG_INTERNAL_REGAL**
131
132 * Spoofing OpenGL vendor, renderer, version and extension strings
133
134 Build-time configuration
135
136 - **REGAL_GL_VENDOR**
137 - **REGAL_GL_RENDERER**
138 - **REGAL_GL_VERSION**
139 - **REGAL_GL_EXTENSION**
140
141 Environment variable configuration:
142
143 - **REGAL_GL_VENDOR**
144 - **REGAL_GL_RENDERER**
145 - **REGAL_GL_VERSION**
146 - **REGAL_GL_EXTENSION**
147
148 Environment variable lookup is globally disabled by defining **REGAL_NO_GETENV**
149 at compile-time.
150
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
151 Planned Features
152 ----------------
5d2cdda7 » casseveritt
2012-05-10 update the README.md
153
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
154 * Debug label.
155 * Debug output.
9f08eb19 » nigels-com
2012-06-21 Updated XCode projects, boost::print::array, more API logging, docume…
156 * Display list emulation.
5d2cdda7 » casseveritt
2012-05-10 update the README.md
157
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
158 Limitations
159 -----------
5d2cdda7 » casseveritt
2012-05-10 update the README.md
160
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
161 * Incomplete implementation, so far.
162 * Limited GLSL language support.
163 * GL_QUADS only works in immediate mode or with DrawArrays for ES and core profiles.
6b1a642d » nigels-com
2012-05-10 Fiddling with .rst markup
164
Something went wrong with that request. Please try again.