Skip to content
This repository
Newer
Older
100644 145 lines (103 sloc) 4.325 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
66 * OpenGL error checking
67
68 * Logging
69
70 Regal supports detailed logging for development purposes.
71
72 - **Error** -- Fatal and non-fatal Regal runtime errors.
73 - **Warning** -- Non-fatal Regal warnings.
74 - **Info** -- Informational messages.
75 - **Regal** -- Regal API calls.
76 - **OpenGL** -- OpenGL API calls.
77 - **Internal** -- Internal Regal calls.
78
79 Build-time configuration:
80
81 - **REGAL_LOG_ERROR**
82 - **REGAL_LOG_WARNING**
83 - **REGAL_LOG_INFO**
84 - **REGAL_LOG_REGAL**
85 - **REGAL_LOG_OPENGL**
86 - **REGAL_LOG_INTERNAL**
87
88 * Debug mode: All logging supported with error, warning and info enabled.
89 * Release mode: Support for Regal, OpenGL and internal logging disabled by default.
90
91 Environment variable configuration:
92
93 - **REGAL_LOG_ERROR**
94 - **REGAL_LOG_WARNING**
95 - **REGAL_LOG_INFO**
96 - **REGAL_LOG_REGAL**
97 - **REGAL_LOG_OPENGL**
98 - **REGAL_LOG_INTERNAL**
99 - **REGAL_LOG_API** --- Regal + OpenGL
100 - **REGAL_LOG_NONE** --- disable all logging
101
102 Environment variable lookup is globally disabled by defining **REGAL_NO_GETENV**
103 at compile-time.
104
105 Runtime configuration via **GL_REGAL_log** extension: (**glEnable/glDisable/glIsEnabled**)
106
107 - **GL_LOG_ERROR_REGAL**
108 - **GL_LOG_WARNING_REGAL**
109 - **GL_LOG_INFO_REGAL**
110 - **GL_LOG_REGAL_REGAL**
111 - **GL_LOG_OPENGL_REGAL**
112 - **GL_LOG_INTERNAL_REGAL**
113
114 * Spoofing OpenGL vendor, renderer, version and extension strings
115
116 Build-time configuration
117
118 - **REGAL_GL_VENDOR**
119 - **REGAL_GL_RENDERER**
120 - **REGAL_GL_VERSION**
121 - **REGAL_GL_EXTENSION**
122
123 Environment variable configuration:
124
125 - **REGAL_GL_VENDOR**
126 - **REGAL_GL_RENDERER**
127 - **REGAL_GL_VERSION**
128 - **REGAL_GL_EXTENSION**
129
130 Environment variable lookup is globally disabled by defining **REGAL_NO_GETENV**
131 at compile-time.
132
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
133 Planned Features
134 ----------------
5d2cdda7 » casseveritt
2012-05-10 update the README.md
135
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
136 * Debug label.
137 * Debug output.
9f08eb19 » nigels-com
2012-06-21 Updated XCode projects, boost::print::array, more API logging, docume…
138 * Display list emulation.
5d2cdda7 » casseveritt
2012-05-10 update the README.md
139
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
140 Limitations
141 -----------
5d2cdda7 » casseveritt
2012-05-10 update the README.md
142
892d6c4d » nigels-com
2012-05-28 Add logging. Add GLenum string lookup. GL API additions. GLEW refresh…
143 * Incomplete implementation, so far.
144 * Limited GLSL language support.
145 * 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
146
Something went wrong with that request. Please try again.