Changeset 195
- Timestamp:
- 10/16/06 15:35:09 (2 years ago)
- Files:
-
- trunk/DerelictGL/derelict/opengl/extension/ext (added)
- trunk/DerelictGL/derelict/opengl/extension/ext/framebuffer_object.d (added)
- trunk/DerelictGL/derelict/opengl/extension/ext/texture_filter_anisotropic.d (added)
- trunk/DerelictGL/derelict/opengl/gl14.d (modified) (4 diffs)
- trunk/buildme.d (modified) (6 diffs)
- trunk/docs/build.html (modified) (8 diffs)
- trunk/docs/credit.html (modified) (3 diffs)
- trunk/docs/derelictify.html (modified) (3 diffs)
- trunk/docs/index_a.html (modified) (2 diffs)
- trunk/docs/loading.html (modified) (4 diffs)
- trunk/docs/selective.html (modified) (2 diffs)
- trunk/docs/terms.html (modified) (4 diffs)
- trunk/docs/toc.html (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/DerelictGL/derelict/opengl/gl14.d
r165 r195 90 90 wglBindFunc(cast(void**)&glWindowPos3s, "glWindowPos3s", lib); 91 91 wglBindFunc(cast(void**)&glWindowPos3sv, "glWindowPos3sv", lib); 92 wglBindFunc(cast(void**)&glBlendEquation, "glBlendEquation", lib); 93 wglBindFunc(cast(void**)&glBlendColor, "glBlendColor", lib); 92 94 } 93 95 else … … 138 140 bindFunc(glWindowPos3s)("glWindowPos3s", lib); 139 141 bindFunc(glWindowPos3sv)("glWindowPos3sv", lib); 142 bindFunc(glBlendEquation)("glBlendEquation", lib); 143 bindFunc(glBlendColor)("glBlendColor", lib); 140 144 } 141 145 } 142 146 143 const GLuint GL_BLEND_DST_RGB = 0x80C8;144 const GLuint GL_BLEND_SRC_RGB = 0x80C9;145 const GLuint GL_BLEND_DST_ALPHA = 0x80CA;146 const GLuint GL_BLEND_SRC_ALPHA = 0x80CB;147 const GLuint GL_POINT_SIZE_MIN = 0x8126;148 const GLuint GL_POINT_SIZE_MAX = 0x8127;149 const GLuint GL_POINT_FADE_THRESHOLD_SIZE = 0x8128;150 const GLuint GL_POINT_DISTANCE_ATTENUATION = 0x8129;151 const GLuint GL_GENERATE_MIPMAP = 0x8191;152 const GLuint GL_GENERATE_MIPMAP_HINT = 0x8192;153 const GLuint GL_DEPTH_COMPONENT16 = 0x81A5;154 const GLuint GL_DEPTH_COMPONENT24 = 0x81A6;155 const GLuint GL_DEPTH_COMPONENT32 = 0x81A7;156 const GLuint GL_MIRRORED_REPEAT = 0x8370;157 const GLuint GL_FOG_COORDINATE_SOURCE = 0x8450;158 const GLuint GL_FOG_COORDINATE = 0x8451;159 const GLuint GL_FRAGMENT_DEPTH = 0x8452;160 const GLuint GL_CURRENT_FOG_COORDINATE = 0x8453;161 const GLuint GL_FOG_COORDINATE_ARRAY_TYPE = 0x8454;162 const GLuint GL_FOG_COORDINATE_ARRAY_STRIDE = 0x8455;147 const GLuint GL_BLEND_DST_RGB = 0x80C8; 148 const GLuint GL_BLEND_SRC_RGB = 0x80C9; 149 const GLuint GL_BLEND_DST_ALPHA = 0x80CA; 150 const GLuint GL_BLEND_SRC_ALPHA = 0x80CB; 151 const GLuint GL_POINT_SIZE_MIN = 0x8126; 152 const GLuint GL_POINT_SIZE_MAX = 0x8127; 153 const GLuint GL_POINT_FADE_THRESHOLD_SIZE = 0x8128; 154 const GLuint GL_POINT_DISTANCE_ATTENUATION = 0x8129; 155 const GLuint GL_GENERATE_MIPMAP = 0x8191; 156 const GLuint GL_GENERATE_MIPMAP_HINT = 0x8192; 157 const GLuint GL_DEPTH_COMPONENT16 = 0x81A5; 158 const GLuint GL_DEPTH_COMPONENT24 = 0x81A6; 159 const GLuint GL_DEPTH_COMPONENT32 = 0x81A7; 160 const GLuint GL_MIRRORED_REPEAT = 0x8370; 161 const GLuint GL_FOG_COORDINATE_SOURCE = 0x8450; 162 const GLuint GL_FOG_COORDINATE = 0x8451; 163 const GLuint GL_FRAGMENT_DEPTH = 0x8452; 164 const GLuint GL_CURRENT_FOG_COORDINATE = 0x8453; 165 const GLuint GL_FOG_COORDINATE_ARRAY_TYPE = 0x8454; 166 const GLuint GL_FOG_COORDINATE_ARRAY_STRIDE = 0x8455; 163 167 const GLuint GL_FOG_COORDINATE_ARRAY_POINTER = 0x8456; 164 const GLuint GL_FOG_COORDINATE_ARRAY = 0x8457;165 const GLuint GL_COLOR_SUM = 0x8458;166 const GLuint GL_CURRENT_SECONDARY_COLOR = 0x8459;167 const GLuint GL_SECONDARY_COLOR_ARRAY_SIZE = 0x845A;168 const GLuint GL_SECONDARY_COLOR_ARRAY_TYPE = 0x845B;168 const GLuint GL_FOG_COORDINATE_ARRAY = 0x8457; 169 const GLuint GL_COLOR_SUM = 0x8458; 170 const GLuint GL_CURRENT_SECONDARY_COLOR = 0x8459; 171 const GLuint GL_SECONDARY_COLOR_ARRAY_SIZE = 0x845A; 172 const GLuint GL_SECONDARY_COLOR_ARRAY_TYPE = 0x845B; 169 173 const GLuint GL_SECONDARY_COLOR_ARRAY_STRIDE = 0x845C; 170 174 const GLuint GL_SECONDARY_COLOR_ARRAY_POINTER = 0x845D; 171 const GLuint GL_SECONDARY_COLOR_ARRAY = 0x845E; 172 const GLuint GL_MAX_TEXTURE_LOD_BIAS = 0x84FD; 173 const GLuint GL_TEXTURE_FILTER_CONTROL = 0x8500; 174 const GLuint GL_TEXTURE_LOD_BIAS = 0x8501; 175 const GLuint GL_INCR_WRAP = 0x8507; 176 const GLuint GL_DECR_WRAP = 0x8508; 177 const GLuint GL_TEXTURE_DEPTH_SIZE = 0x884A; 178 const GLuint GL_DEPTH_TEXTURE_MODE = 0x884B; 179 const GLuint GL_TEXTURE_COMPARE_MODE = 0x884C; 180 const GLuint GL_TEXTURE_COMPARE_FUNC = 0x884D; 181 const GLuint GL_COMPARE_R_TO_TEXTURE = 0x884E; 175 const GLuint GL_SECONDARY_COLOR_ARRAY = 0x845E; 176 const GLuint GL_MAX_TEXTURE_LOD_BIAS = 0x84FD; 177 const GLuint GL_TEXTURE_FILTER_CONTROL = 0x8500; 178 const GLuint GL_TEXTURE_LOD_BIAS = 0x8501; 179 const GLuint GL_INCR_WRAP = 0x8507; 180 const GLuint GL_DECR_WRAP = 0x8508; 181 const GLuint GL_TEXTURE_DEPTH_SIZE = 0x884A; 182 const GLuint GL_DEPTH_TEXTURE_MODE = 0x884B; 183 const GLuint GL_TEXTURE_COMPARE_MODE = 0x884C; 184 const GLuint GL_TEXTURE_COMPARE_FUNC = 0x884D; 185 const GLuint GL_COMPARE_R_TO_TEXTURE = 0x884E; 186 const GLuint GL_CONSTANT_COLOR = 0x8001; 187 const GLuint GL_ONE_MINUS_CONSTANT_COLOR = 0x8002; 188 const GLuint GL_CONSTANT_ALPHA = 0x8003; 189 const GLuint GL_ONE_MINUS_CONSTANT_ALPHA = 0x8004; 190 const GLuint GL_BLEND_COLOR = 0x8005; 191 const GLuint GL_FUNC_ADD = 0x8006; 192 const GLuint GL_MIN = 0x8007; 193 const GLuint GL_MAX = 0x8008; 194 const GLuint GL_BLEND_EQUATION = 0x8009; 195 const GLuint GL_FUNC_SUBTRACT = 0x800A; 196 const GLuint GL_FUNC_REVERSE_SUBTRACT = 0x800B; 182 197 183 198 version(Windows) … … 231 246 typedef GLvoid function(GLshort, GLshort, GLshort) pfglWindowPos3s; 232 247 typedef GLvoid function(GLshort*) pfglWindowPos3sv; 248 typedef GLvoid function(GLclampf, GLclampf, GLclampf, GLclampf) pfglBlendColor; 249 typedef GLvoid function(GLenum) pfglBlendEquation; 233 250 234 251 pfglBlendFuncSeparate glBlendFuncSeparate; … … 277 294 pfglWindowPos3s glWindowPos3s; 278 295 pfglWindowPos3sv glWindowPos3sv; 296 pfglBlendColor glBlendColor; 297 pfglBlendEquation glBlendEquation; trunk/buildme.d
r162 r195 16 16 Release 17 17 } 18 19 // name of the build tool 20 private static const char[] buildName = "bud"; 18 21 19 22 // name of the text file found in each package directory … … 172 175 private void createBRF(char[] packageName, char[] path) 173 176 { 174 writefln("Reading build arguments...");177 writefln("Reading build tool arguments..."); 175 178 176 179 // read the package forbuild file … … 218 221 // call out to build with the name of the temporary build response file as an arg 219 222 writefln("Building package..."); 220 int ret = system( "build@temp");223 int ret = system(buildName ~ " @temp"); 221 224 if(ret != 0) 222 225 { … … 230 233 231 234 } 232 /+233 // nasty hack - don't try this at home kids234 private void buildDerelictFT()235 {236 char[] tempBuf = brfBuf;237 mode = Mode.Release;238 configTxt = configs[mode];239 buildBRFBuffer();240 buildPackage("DerelictFT");241 mode = Mode.Debug;242 configTxt = configs[mode];243 brfBuf = tempBuf;244 }245 +/246 235 247 236 private void scan() … … 251 240 252 241 char[][] list = listdir("."); 253 foreach(char[] filename; list) { 254 255 /+ /* 256 NOTE: Temporary work around. Adding the error check caused the 257 full build to stop every time it was attempted in Debug mode because 258 of the DMD bug that is affecting DerelictFT. The following code 259 block works around that issue until it is fixed (I tried adding 260 --debug to DerelictFT's forbuild.txt, to cancel it out, but that 261 didn't work). 262 */ 263 if(filename.cmp("DerelictFT") == 0 && mode == Mode.Debug) 264 { 265 buildDerelictFT(); 266 continue; 267 } 268 +/ 269 242 foreach(char[] filename; list) { 270 243 // if this filename is a directory, pass it to buildpackage for 271 244 // further processing … … 274 247 buildPackage(filename); 275 248 } 276 277 278 249 } 279 250 trunk/docs/build.html
r158 r195 1 1 <html lang="en"> 2 2 <head> 3 <title>Building Derelict with Derek Parnell's Bu ild Utility</title>3 <title>Building Derelict with Derek Parnell's Bud</title> 4 4 <link rel="stylesheet" type="text/css" href="styles.css"> 5 5 </head> … … 7 7 <hr> 8 8 <hr> 9 <h2 align="center">Building Derelict with Derek Parnell's Bu ild Utility</h2>9 <h2 align="center">Building Derelict with Derek Parnell's Bud</h2> 10 10 <hr> 11 11 <hr> 12 12 <h3>Introduction</h3> 13 The Build utility, created and maintained by Derek Parnell, is an incredibly13 Bud, created and maintained by Derek Parnell, is an incredibly 14 14 useful tool. Feed it one D source module on the command line and it will automatically 15 15 spit out a library or an executable. It follows the import tree, and passes … … 17 17 line options can give you fine-tuned control over how the compilation process 18 18 goes. You can put special pragmas directly in your code to further control how 19 Bu ild processes your source modules.19 Bud processes your source modules. 20 20 <p> 21 Bu ild entirely eliminates the need for Makefiles. If you have ever maintained21 Bud entirely eliminates the need for Makefiles. If you have ever maintained 22 22 project Makefiles for multiple platforms, you will appreciate what that means. 23 Replacing Derelict's old Makefiles with a build system designed around Bu ild23 Replacing Derelict's old Makefiles with a build system designed around Bud 24 24 has had an amazing impact on package maintenance. If you want to compile Derelict 25 out of the box, separate from your project, you will need to have Bu ild installed.25 out of the box, separate from your project, you will need to have Bud installed. 26 26 Anyone who insists on maintaining their own Makefiles instead is free to do so - 27 27 just don't bother submitting them to the Derelict maintainers. 28 28 </p> 29 29 30 <h3>Getting Your Hands on Bu ild</h3>31 The latest version of Bu ild may always be found at the30 <h3>Getting Your Hands on Bud</h3> 31 The latest version of Bud may always be found at the 32 32 <a href="http://www.dsource.org/projects/build"> 33 33 Build Project Home Page</a>. You can read about the latest changes in the 34 <a href="http://www.dsource.org/forums/viewforum.php?f=52">Bu ild Forum</a>34 <a href="http://www.dsource.org/forums/viewforum.php?f=52">Bud Forum</a> 35 35 (always the first post in the thread titled "Release Announcements" at the top 36 36 of the topic list). … … 38 38 <h3>Building the Derelict Libraries</h3> 39 39 It is quite possible to use Derelict without compiling the libraries. D's compiliation 40 speed combined with Bu ild's ease of use makes it fast and simple to compile40 speed combined with Bud's ease of use makes it fast and simple to compile 41 41 even complex D applications. As long as the Derelict packages you use are on your 42 import path, then you are set. If you aren't using Bu ild to build your application,42 import path, then you are set. If you aren't using Bud to build your application, 43 43 though, this approach is not recommended as every Derelict module would need to 44 44 be passed to the compiler manually. In the latter case, and for those who just … … 92 92 <h4>Build Configurations</h4> 93 93 Derelict includes support for two build configurations: release and debug. The default 94 compiler and Bu ild switches for each configuration can be found in the94 compiler and Bud switches for each configuration can be found in the 95 95 files <tt>build_release.txt</tt> and <tt>build_debug.txt</tt>. You can specify 96 96 which configuration to use by passing either <tt>release</tt> or <tt>debug</tt> … … 120 120 <tt>build_common.txt</tt>, <tt>build_debug.txt</tt>, and <tt>build_release.txt</tt> 121 121 may all be edited to your preference. The rules for editing these files are the 122 same as those for editing <a href="http://build.dsource.org/response_file.html">Bu ild122 same as those for editing <a href="http://build.dsource.org/response_file.html">Bud 123 123 Response Files</a>, but there are some caveats. Because <tt>buildme.d</tt> automates 124 124 the build process, some assumptions are made. The first is that the output directory … … 126 126 the three files will have no effect. Second, the import paths for building each 127 127 package are set automatically. Third, the DerelictUtil package and other dependencies 128 are excluded from the compilation automatically via the -X Bu ild option, so you128 are excluded from the compilation automatically via the -X Bud option, so you 129 129 need not do so yourself. 130 130 </p> … … 148 148 149 149 <h3>Troubleshooting</h3> 150 If you have any problems building Derelict with the Bu ild Utility, you may direct150 If you have any problems building Derelict with the Bud, you may direct 151 151 them to the 152 152 <a href="http://www.dsource.org/forums/viewforum.php?f=19&sid=d6f86cfb804d7c8727af1f58cd327d2c">Derelict Forums</a> trunk/docs/credit.html
r149 r195 61 61 <li>??? (xicesky) - submitted a fix for a bug in DerelictSDLMixer</li> 62 62 <li>Trevor Parscal - reported conflicts between DerelictGL and external Win32 GDI bindings</li> 63 <li>Tomasz Stachowiak (h3r3tic) - reported conflicts with DerelictGL and glx (and multiple 64 other bug fixes since becoming a maintainer)</li> 65 <li>Eric Poggel (JoeCoder) - fixed a bug with buildme.d on Linux</li> 63 <li>Eric Poggel (JoeCoder) - fixed a bug with buildme.d on Linux; reported some DerelictGL bugs</li> 64 <li>??? (silvestre) - fixed a bug with OpenGL version handling</li> 65 <li>??? (lindquist) - added some missing OpenGL 1.4 declarations</li> 66 <li>??? (odeamus) - reported missing declarations in DerelictFT; reported typo in DerelictGL</li> 66 67 </ul> 67 68 </p><p> … … 76 77 DerelictSDLNet, and DerelictSDLttf. 77 78 <li>Eric Poggel (JoeCoder) - knocked up the initial version of the documentaion style sheet.</li> 79 <li>??? (lindquist) - added support for some OpenGL extensions</li> 78 80 </ul> 79 81 </p><p> … … 91 93 <li>Brad Anderson (brad) - the guy who developed and manages Derelict's home, 92 94 dsource.org.</li> 93 <li>Derek Parnell (derek) - created the incredible Build utility, which allowed95 <li>Derek Parnell (derek) - created the incredible build utility, Bud, which allowed 94 96 Derelict to say "Cya" to Makefiles.</li> 95 97 <li>John Reimer (JJR) - his efforts on the Linux front, the long hours he has trunk/docs/derelictify.html
r165 r195 18 18 <p> 19 19 Bugfixes and enhancements to existing code or documentation will almost always 20 be folded in. New packages, however, often will not be. If we were to accept e20 be folded in. New packages, however, often will not be. If we were to accept 21 21 any and all packages submitted, Derelict would quickly become bloated, unwieldy, 22 22 and difficult to maintain. New packages will most definitely be added over time, … … 48 48 that all types are declared in context-specific modules along with function 49 49 declarations and converted macros. Because of the number of headers in SDL, this 50 approach makes sense. Derelict GL (and most of the other Derelict packages), on50 approach makes sense. DerelictAL (and most of the other Derelict packages), on 51 51 the other hand, declares all types in a special types module, while functions 52 52 are declared separately. Generally, this is the approach you should take when … … 254 254 If you find this documentation confusing (I do, and I wrote it), then the source 255 255 is your best recourse. It's fairly self-explanatory. I recommend that you use 256 Derelict GL and DerelictSDL as examples, for consistency.256 DerelictAL and DerelictSDL as examples, for consistency. 257 257 </body> 258 258 </html> trunk/docs/index_a.html
r158 r195 132 132 <ul> 133 133 <li>is the library useful for games or other multimedia applications?</li> 134 <li>is the library in widespread use or at least well-known i tits domain?</li>134 <li>is the library in widespread use or at least well-known in its domain?</li> 135 135 <li>is the library too complex to easily port to D?</li> 136 136 <li>does the library abstract away cross-platform APIs?</li> … … 165 165 <li><a href="terms.html">Terminology</a></li> 166 166 <li><a href="loading.html">Loading/Unloading Shared Libraries</a></li> 167 <li><a href="selective.html">Selective Symbol Exceptions</a></li>168 <li><a href="build.html"> Derek Parnell's Build Utility</a></li>167 <li><a href="selective.html">Selective Symbol Loading</a></li> 168 <li><a href="build.html">Building Derelict with Derek Parnell's Bud</a></li> 169 169 <li><a href="derelictify.html">Aldacron's Guide to Derelictification</a></li> 170 170 <li><a href="credit.html">Contributors</a></li> trunk/docs/loading.html
r153 r195 34 34 is declared. The loader interface defines load methods that can be used to load 35 35 a shared library into memory, and an unload method that can be used to remove 36 the shared library from memory. That's all there is to it.36 the shared library from memory. 37 37 </p> 38 38 <h4>Loading</h4> … … 41 41 from the bound library can be used</span>. If you tried to use an OpenGL function 42 42 without first calling DerelictGL.load(), you would find yourself with an access 43 violation. When using manual loading, the library interface consists of function43 violation. When manually loading shared libraries, the library interface consists of function 44 44 pointers. The load method pulls the shared library in to memory and points all 45 45 of the function pointers to the proper memory location. Until then, the function 46 46 pointers are all null. 47 47 <p> 48 As an example, if you are using theDerelictGL, you would use the following48 As an example, if you were using DerelictGL, you would use the following 49 49 syntax to load the OpenGL shared library: 50 50 … … 53 53 </pre> 54 54 55 From that point onward you will be able to use all OpenGL functions normally. 56 Simple, eh? 55 From that point onward you would be able to use all OpenGL functions normally. 57 56 </p><p> 58 57 The load method accepts an optional shared library name string parameter that will … … 71 70 Sometimes, loads fail. There are several root causes for this, the end result 72 71 being either that the system couldn't find the shared library or one of the 73 functions Derelict triedexpected to find in the library wasn't there. In either72 functions Derelict expected to find in the library wasn't there. In either 74 73 case, the load method will throw an exception. You can read more about Derelict 75 loadingexceptions in the documentation for <a href="util.html">DerelictUtil</a>.74 exceptions in the documentation for <a href="util.html">DerelictUtil</a>. 76 75 You can also learn how to bypass some exceptions in the documentation on 77 76 Derelict's <a href="selective.html">selective loading system</a>. trunk/docs/selective.html
r149 r195 1 1 <html lang="en"> 2 2 <head> 3 <title>Selective Symbol Exceptions</title>3 <title>Selective Symbol Loading</title> 4 4 <link rel="stylesheet" type="text/css" href="styles.css"> 5 5 </head> … … 7 7 <hr> 8 8 <hr> 9 <h2 align="center">Selective Symbol Exceptions</h2>9 <h2 align="center">Selective Symbol Loading</h2> 10 10 <hr> 11 11 <hr> trunk/docs/terms.html
r158 r195 22 22 This term is a platform-agnostic way of describing a library which is dynamically 23 23 loaded at run time and can be used simultaneously by multiple programs. On Windows, 24 such libraries are referred to "Dynamic Link Libraries", or "DLLs", and have24 such libraries are referred to as "Dynamic Link Libraries", or "DLLs", and have 25 25 the .dll file extension. On Linux, such libraries are referred to as "Shared 26 26 Object Libraries" or "Shared Objects" and have the file extension of .so. … … 28 28 <p> 29 29 When this term is used in relation to Derelict, it can be considered to refer to 30 any of the above library formats. Anytimeyou need to refer to a specific30 any of the above library formats. When you need to refer to a specific 31 31 format, you should use the format name instead of the term "Shared Library". 32 32 </p> … … 36 36 files. On Windows, such libraries are called "Libraries" and have the extension 37 37 .lib. On Linux, such libraries are called "object archives", "archives", 38 "libraries", and several o fther terms, all of which have the file extension38 "libraries", and several other terms, all of which have the file extension 39 39 .a and usually have the prefix "lib" prepended to the file name. 40 40 41 41 <p> 42 Static libraries are compiled into the application at compil ationtime, rather42 Static libraries are compiled into the application at compile time, rather 43 43 than being loaded at run time. Because the library is compiled into the executable, 44 44 no other executable can share the same compilation. … … 65 65 <h4>Static Linkage</h4> 66 66 The term "static linkage" refers to linking with a static library at compilation 67 time: .lib on Windows and . soon Linux. Technically speaking, an import library67 time: .lib on Windows and .a on Linux. Technically speaking, an import library 68 68 on Windows must be "statically linked", but the term is normally not applied to 69 69 import libraries. trunk/docs/toc.html
r158 r195 11 11 <li><a target="view_frame" href="terms.html">Terminology</a></li> 12 12 <li><a target="view_frame" href="loading.html">Loading/Unloading Shared Libraries</a></li> 13 <li><a target="view_frame" href="selective.html">Selective Symbol Exceptions</a></li>14 <li><a target="view_frame" href="build.html">Building Derelict with Derek Parnell's Bu ild Utility</a></li>13 <li><a target="view_frame" href="selective.html">Selective Symbol Loading</a></li> 14 <li><a target="view_frame" href="build.html">Building Derelict with Derek Parnell's Bud</a></li> 15 15 <li><a target="view_frame" href="derelictify.html">Aldacron's Guide to Derelictification</a></li> 16 16 <li><a target="view_frame" href="credit.html">Contributors</a></li>
