| 1 |
<html lang="en"> |
|---|
| 2 |
<head> |
|---|
| 3 |
<title>DerelictGLU</title> |
|---|
| 4 |
<link rel="stylesheet" type="text/css" href="styles.css"> |
|---|
| 5 |
</head> |
|---|
| 6 |
<body> |
|---|
| 7 |
<hr> |
|---|
| 8 |
<hr> |
|---|
| 9 |
<h2 align="center">DerelictGLU</h2> |
|---|
| 10 |
<hr> |
|---|
| 11 |
<hr> |
|---|
| 12 |
<h3>Introduction</h3> |
|---|
| 13 |
DerelictGLU is a D binding to the |
|---|
| 14 |
<a href="http://rush3d.com/reference/opengl-bluebook-1.0/ch06.html">OpenGL Utility Library (GLU)</a>. |
|---|
| 15 |
|
|---|
| 16 |
<h3>Using</h3> |
|---|
| 17 |
<ol> |
|---|
| 18 |
<li>Always make sure the DerelictGLU source modules are available on your import |
|---|
| 19 |
path.</li> |
|---|
| 20 |
<li>In modules that make use of DerelictGLU, you will need to import the derelict.opengl.glu |
|---|
| 21 |
module.</li> |
|---|
| 22 |
<li>Before calling any OpenGLU functions, you need to make a call to <tt>DerelictGLU.load()</tt>. |
|---|
| 23 |
This will load the shared library.</li> |
|---|
| 24 |
</ol> |
|---|
| 25 |
|
|---|
| 26 |
<p> |
|---|
| 27 |
The following is a complete program that loads DerelictGLU: |
|---|
| 28 |
</p> |
|---|
| 29 |
|
|---|
| 30 |
<pre> |
|---|
| 31 |
import derelict.opengl.glu; |
|---|
| 32 |
|
|---|
| 33 |
void main() |
|---|
| 34 |
{ |
|---|
| 35 |
DerelictGLU.load(); |
|---|
| 36 |
|
|---|
| 37 |
// now you can call OpenGLU functions |
|---|
| 38 |
} |
|---|
| 39 |
</pre> |
|---|
| 40 |
|
|---|
| 41 |
<p> |
|---|
| 42 |
From this point on, you may call GLU functions as normal. |
|---|
| 43 |
</p> |
|---|
| 44 |
|
|---|
| 45 |
<div class="note">Some GLU functions are not imported by DerelictGLU as they are not |
|---|
| 46 |
available on all GLU implementations. These are: |
|---|
| 47 |
<p> |
|---|
| 48 |
gluBuild2DMipmapLevels<br> |
|---|
| 49 |
gluBuild3DMipmapLevels<br> |
|---|
| 50 |
gluBuild3DMipmaps<br> |
|---|
| 51 |
gluCheckExtension<br> |
|---|
| 52 |
gluNurbsCallbackData<br> |
|---|
| 53 |
gluNurbsCallbackDataEXT<br> |
|---|
| 54 |
gluUnProject4 |
|---|
| 55 |
</p> |
|---|
| 56 |
</div> |
|---|
| 57 |
<p> |
|---|
| 58 |
DerelictGLU may attempt to import these in the future, but for now it is easier |
|---|
| 59 |
to leave them out. Attempting to import them will either force the client to |
|---|
| 60 |
make use of selective loading to check in case any of the functions are missing, |
|---|
| 61 |
or would require internal use of selective loading which would open up |
|---|
| 62 |
the chance of bugs on some systems if the client attempts to call one of the |
|---|
| 63 |
missing functions. For now, if you wish to use any of these functions, you should |
|---|
| 64 |
look in glu.d and uncomment both the type declarations of the functions you wish |
|---|
| 65 |
to use (near the end of the file) and the lines in the private load() function |
|---|
| 66 |
where they are loaded. |
|---|
| 67 |
</p><p> |
|---|
| 68 |
As with other Derelict packages, DerelictGLU will throw an exception if an error |
|---|
| 69 |
occurs while loading the shared library. For more information on Derelict |
|---|
| 70 |
exceptions, see the documentation for |
|---|
| 71 |
<a href="loading.html">Loading/Unloading Shared Libraries</a>. |
|---|
| 72 |
</p><p> |
|---|
| 73 |
Finally, the method <tt>DerelictGLU.unload()</tt> is provided for convenience. In normal |
|---|
| 74 |
practice you do not need to call this function, as Derelict will unload the library |
|---|
| 75 |
automatically when the app exits. You generally should only use this function if |
|---|
| 76 |
you need to unload DerelictAL while the application is running. |
|---|
| 77 |
</p> |
|---|
| 78 |
|
|---|
| 79 |
<h3>Dependencies</h3> |
|---|
| 80 |
<a href="util.html">DerelictUtil</a> |
|---|
| 81 |
<br /><a href="gl.html">DerelictGL</a> |
|---|
| 82 |
</body> |
|---|
| 83 |
</html> |
|---|