Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 202 lines (142 sloc) 6.516 kb
0c13782 @nigels-com Fixup for README.rst link to regal.jpg
nigels-com authored
1 .. image:: https://raw.github.com/p3/regal/master/doc/regal.jpg
3440fee @nigels-com Add .jpg and .png versions of Regal logo 128x128 pixels for documentatio...
nigels-com authored
2 :height: 128 px
3 :width: 128 px
4 :align: right
5
6b1a642 @nigels-com Fiddling with .rst markup
nigels-com authored
6 Regal
252bcdb @casseveritt initial commit
casseveritt authored
7 =====
8
5d2cdda @casseveritt update the README.md
casseveritt authored
9 https://github.com/p3/regal
10
892d6c4 @nigels-com Add logging. Add GLenum string lookup. GL API additions. GLEW refresh. B...
nigels-com authored
11 OpenGL portability layer for OpenGL 2.x, 3.x, 4.x, Core contexts and ES 2.0
5d2cdda @casseveritt update the README.md
casseveritt authored
12
af109c3 @casseveritt update README.rst
casseveritt authored
13 +---------------+----------------------------------------------------------------------+
892d6c4 @nigels-com Add logging. Add GLenum string lookup. GL API additions. GLEW refresh. B...
nigels-com authored
14 | **Warning** | Regal is pre-alpha software, it is available here for evaluation |
694442b @casseveritt swap README.md with README.rst
casseveritt authored
15 | | and to play with the examples. Don't use it in your projects yet. |
16 | | You have been warned. |
af109c3 @casseveritt update README.rst
casseveritt authored
17 +---------------+----------------------------------------------------------------------+
5d2cdda @casseveritt update the README.md
casseveritt authored
18
892d6c4 @nigels-com Add logging. Add GLenum string lookup. GL API additions. GLEW refresh. B...
nigels-com authored
19 Goals
20 -----
21
22 Regal is a portable OpenGL layer on top of existing OpenGL implementations.
23 Compile and link an app against Regal and deploy on various OpenGL implementations
24 including compatibility, core and ES 2.0 OpenGL contexts.
25
26 * Portability
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
27 Consistent OpenGL API that runs on all major platforms:
28 Windows, Linux, Mac, iOS, and Android
5d2cdda @casseveritt update the README.md
casseveritt authored
29
892d6c4 @nigels-com Add logging. Add GLenum string lookup. GL API additions. GLEW refresh. B...
nigels-com authored
30 * Compatible
31 Immediate mode, fixed function, GL_QUADS work everywhere, emulated as necessary.
5d2cdda @casseveritt update the README.md
casseveritt authored
32
892d6c4 @nigels-com Add logging. Add GLenum string lookup. GL API additions. GLEW refresh. B...
nigels-com authored
33 * Modern OpenGL API
34 Direct State Access (DSA) and Vertex Array Object (VAO), emulated as necessary.
5d2cdda @casseveritt update the README.md
casseveritt authored
35
892d6c4 @nigels-com Add logging. Add GLenum string lookup. GL API additions. GLEW refresh. B...
nigels-com authored
36 * Open Source
37 There is nothing behind the curtain.
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
38 You can see what Regal is doing and change it if needed.
5d2cdda @casseveritt update the README.md
casseveritt authored
39
892d6c4 @nigels-com Add logging. Add GLenum string lookup. GL API additions. GLEW refresh. B...
nigels-com authored
40 * Ease of Use
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
41 Set breakpoints on OpenGL functions.
42 Step into the code.
43 Inspect state.
892d6c4 @nigels-com Add logging. Add GLenum string lookup. GL API additions. GLEW refresh. B...
nigels-com authored
44
45 * Efficiency
46 If it cannot be implemented efficiently in Regal, it is not universally supported.
47 For example, tessellation support requires tessellation hardware.
48
49 Deployment
50 ----------
51
52 * Most code remains unchanged.
53 * Optionally **#include <GL/Regal.h>**
54 * Link with **regal32.dll**, **libRegal.so** or **libRegal.dylib**
55
56 From an application developer's perspective, Regal just looks like an OpenGL implementation.
57 You link with it instead of your platform's OpenGL library or framework, and that's really
58 all you have to do to use Regal. The rest of your code can remain unchanged.
5d2cdda @casseveritt update the README.md
casseveritt authored
59
9f08eb1 @nigels-com Updated XCode projects, boost::print::array, more API logging, documenta...
nigels-com authored
60 Features
61 --------
62
63 * Emulation
64
65 - Fixed function texturing, lighting and fog.
66 - Direct State Access extension
67
68 http://www.opengl.org/registry/specs/EXT/direct_state_access.txt
69
70 - GL_EXT_debug_marker extension
71
72 http://www.khronos.org/registry/gles/extensions/EXT/EXT_debug_marker.txt
73
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
74 - Fixed function and DSA emulation enabled by default.
1df6ef2 @nigels-com Complete OpenGL API logging. Regal context initialization rework. More ...
nigels-com authored
75
4bcf96e @nigels-com Update boost sources to version 1.50.0
nigels-com authored
76 - Build-time configuration:
77
78 - **REGAL_NO_EMULATION** -- Disable the use of emulation
79 - **REGAL_FORCE_EMULATION** -- Force the use of emulation, even for compatibility contexts with DSA
80
81 - Environment variable configuration:
1df6ef2 @nigels-com Complete OpenGL API logging. Regal context initialization rework. More ...
nigels-com authored
82
4bcf96e @nigels-com Update boost sources to version 1.50.0
nigels-com authored
83 - **REGAL_NO_EMULATION** -- Disable the use of emulation
84 - **REGAL_FORCE_EMULATION** -- Force the use of emulation, even for compatibility contexts with DSA
1df6ef2 @nigels-com Complete OpenGL API logging. Regal context initialization rework. More ...
nigels-com authored
85
9f08eb1 @nigels-com Updated XCode projects, boost::print::array, more API logging, documenta...
nigels-com authored
86 * OpenGL error checking
87
1df6ef2 @nigels-com Complete OpenGL API logging. Regal context initialization rework. More ...
nigels-com authored
88 - Disabled by default.
89
90 - Build-time configuration: **REGAL_ERROR**
91
92 - Environment variable configuration: **REGAL_ERROR**
93
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
94 * Browser-based interface
95
96 - Enabled by default.
97
98 - **REGAL_NO_HTTP** --- Build-time and environment variable enable/disable.
99 - **REGAL_HTTP_PORT** --- Port for HTTP connections (8080 by default)
100 - **REGAL_HTTP_LOG_LIMIT** --- Number of lines of logging buffered
101
102 - `http://127.0.0.1:8080/log`_ --- View log
103 - `http://127.0.0.1:8080/glEnable?GL_LOG_APP_REGAL`_ --- Enable/disable application logging
104 - `http://127.0.0.1:8080/glEnable?GL_LOG_DRIVER_REGAL`_ --- Enable/disable driver logging
105 - `http://127.0.0.1:8080`_ --- State information
106
107 .. _http://127.0.0.1:8080/log: http://127.0.0.1:8080/log
108 .. _http://127.0.0.1:8080/glEnable?GL_LOG_APP_REGAL: http://127.0.0.1:8080/glEnable?GL_LOG_APP_REGAL
109 .. _http://127.0.0.1:8080/glEnable?GL_LOG_DRIVER_REGAL: http://127.0.0.1:8080/glEnable?GL_LOG_DRIVER_REGAL
110 .. _http://127.0.0.1:8080: http://127.0.0.1:8080
111
9f08eb1 @nigels-com Updated XCode projects, boost::print::array, more API logging, documenta...
nigels-com authored
112 * Logging
113
114 Regal supports detailed logging for development purposes.
115
116 - **Error** -- Fatal and non-fatal Regal runtime errors.
117 - **Warning** -- Non-fatal Regal warnings.
118 - **Info** -- Informational messages.
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
119 - **App** -- Application calls into Regal.
120 - **Driver** -- Regal calls into OpenGL.
9f08eb1 @nigels-com Updated XCode projects, boost::print::array, more API logging, documenta...
nigels-com authored
121 - **Internal** -- Internal Regal calls.
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
122 - **Http** -- HTTP traffic logging.
9f08eb1 @nigels-com Updated XCode projects, boost::print::array, more API logging, documenta...
nigels-com authored
123
124 Build-time configuration:
125
126 - **REGAL_LOG_ERROR**
127 - **REGAL_LOG_WARNING**
128 - **REGAL_LOG_INFO**
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
129 - **REGAL_LOG_APP**
130 - **REGAL_LOG_DRIVER**
9f08eb1 @nigels-com Updated XCode projects, boost::print::array, more API logging, documenta...
nigels-com authored
131 - **REGAL_LOG_INTERNAL**
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
132 - **REGAL_LOG_HTTP**
9f08eb1 @nigels-com Updated XCode projects, boost::print::array, more API logging, documenta...
nigels-com authored
133
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
134 * Debug mode: All logging supported with error, warning, info and http logging enabled.
135 * Release mode: Support for application, driver and internal logging disabled by default.
9f08eb1 @nigels-com Updated XCode projects, boost::print::array, more API logging, documenta...
nigels-com authored
136
137 Environment variable configuration:
138
139 - **REGAL_LOG_ERROR**
140 - **REGAL_LOG_WARNING**
141 - **REGAL_LOG_INFO**
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
142 - **REGAL_LOG_APP**
143 - **REGAL_LOG_DRIVER**
9f08eb1 @nigels-com Updated XCode projects, boost::print::array, more API logging, documenta...
nigels-com authored
144 - **REGAL_LOG_INTERNAL**
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
145 - **REGAL_LOG_HTTP**
146 - **REGAL_LOG_API** --- Application + Driver OpenGL logging
147 - **REGAL_LOG_NONE** --- enable or disable all logging
9f08eb1 @nigels-com Updated XCode projects, boost::print::array, more API logging, documenta...
nigels-com authored
148
149 Environment variable lookup is globally disabled by defining **REGAL_NO_GETENV**
150 at compile-time.
151
152 Runtime configuration via **GL_REGAL_log** extension: (**glEnable/glDisable/glIsEnabled**)
153
154 - **GL_LOG_ERROR_REGAL**
155 - **GL_LOG_WARNING_REGAL**
156 - **GL_LOG_INFO_REGAL**
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
157 - **GL_LOG_APP_REGAL**
158 - **GL_LOG_DRIVER_REGAL**
9f08eb1 @nigels-com Updated XCode projects, boost::print::array, more API logging, documenta...
nigels-com authored
159 - **GL_LOG_INTERNAL_REGAL**
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
160 - **GL_LOG_HTTP_REGAL**
161
9f08eb1 @nigels-com Updated XCode projects, boost::print::array, more API logging, documenta...
nigels-com authored
162 * Spoofing OpenGL vendor, renderer, version and extension strings
163
164 Build-time configuration
165
166 - **REGAL_GL_VENDOR**
167 - **REGAL_GL_RENDERER**
168 - **REGAL_GL_VERSION**
169 - **REGAL_GL_EXTENSION**
170
171 Environment variable configuration:
172
173 - **REGAL_GL_VENDOR**
174 - **REGAL_GL_RENDERER**
175 - **REGAL_GL_VERSION**
176 - **REGAL_GL_EXTENSION**
177
178 Environment variable lookup is globally disabled by defining **REGAL_NO_GETENV**
179 at compile-time.
180
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
181 * Regal OpenGL extensions
182
183 - **GL_REGAL_error_string** for GLU-style GLenum to error string conversion.
184 - **GL_REGAL_extension_query** for GLEW-style extension checking.
185 - **GL_REGAL_log** for Regal logging configuration.
186
892d6c4 @nigels-com Add logging. Add GLenum string lookup. GL API additions. GLEW refresh. B...
nigels-com authored
187 Planned Features
188 ----------------
5d2cdda @casseveritt update the README.md
casseveritt authored
189
892d6c4 @nigels-com Add logging. Add GLenum string lookup. GL API additions. GLEW refresh. B...
nigels-com authored
190 * Debug label.
191 * Debug output.
0230589 @nigels-com Initial integration of HTTP server, port 8080.
nigels-com authored
192 * Web browser-based debugging tools.
9f08eb1 @nigels-com Updated XCode projects, boost::print::array, more API logging, documenta...
nigels-com authored
193 * Display list emulation.
5d2cdda @casseveritt update the README.md
casseveritt authored
194
892d6c4 @nigels-com Add logging. Add GLenum string lookup. GL API additions. GLEW refresh. B...
nigels-com authored
195 Limitations
196 -----------
5d2cdda @casseveritt update the README.md
casseveritt authored
197
892d6c4 @nigels-com Add logging. Add GLenum string lookup. GL API additions. GLEW refresh. B...
nigels-com authored
198 * Incomplete implementation, so far.
199 * Limited GLSL language support.
200 * GL_QUADS only works in immediate mode or with DrawArrays for ES and core profiles.
6b1a642 @nigels-com Fiddling with .rst markup
nigels-com authored
201
Something went wrong with that request. Please try again.