Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 8ffe23af9b6e2265bcac8526648e8186 > files > 124

alleggl-devel-0.4.3-8.fc14.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>AllegroGL: OpenGL Extensions</title>
<link href="alleggl.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.2 -->
<div class="tabs">
  <ul>
    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<h1>OpenGL Extensions</h1>Management of the OpenGL extensions mechanism.  
<a href="#_details">More...</a><h2>OpenGL Extensions Management Functions</h2>
<ul>
<li>#define <a class="el" href="group__extensions.html#gc45f9222ac965c8d0d756f513cebf0d1">AGL_DEFINE_PROC_TYPE</a>
<dl class="el"><dd class="mdescRight">OpenGL extensions handlers helper.  <a href="#gc45f9222ac965c8d0d756f513cebf0d1"></a><br></dl></ul>
<h2>Functions</h2>
<ul>
<li>int <a class="el" href="group__extensions.html#g7351f56ea1c4f4665193fc3bf547ff0a">allegro_gl_is_extension_supported</a> (AL_CONST char *extension)
<dl class="el"><dd class="mdescRight">This function is an helper to determine whether an OpenGL extension is available or not.  <a href="#g7351f56ea1c4f4665193fc3bf547ff0a"></a><br></dl><li>void * <a class="el" href="group__extensions.html#ga0c2cd7c4b4a94e8801af42a58356cc4">allegro_gl_get_proc_address</a> (AL_CONST char *name)
<dl class="el"><dd class="mdescRight">Helper to get the address of an OpenGL symbol.  <a href="#ga0c2cd7c4b4a94e8801af42a58356cc4"></a><br></dl></ul>
<h2>Variables</h2>
<ul>
<li>AGL_EXTENSION_LIST_GL <a class="el" href="group__extensions.html#g7492f6f6acc608789210560ee63e5436">allegro_gl_extensions_GL</a>
<dl class="el"><dd class="mdescRight">List of OpenGL extensions supported by AllegroGL.  <a href="#g7492f6f6acc608789210560ee63e5436"></a><br></dl><li><a class="el" href="structAGL__EXT.html">AGL_EXT</a> * <a class="el" href="group__extensions.html#g2d6ebb26eec58470e4242b750656268b">agl_extension_table</a> = NULL
<dl class="el"><dd class="mdescRight">List of WGL extensions supported by AllegroGL.  <a href="#g2d6ebb26eec58470e4242b750656268b"></a><br></dl></ul>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Management of the OpenGL extensions mechanism. 
<p>
AllegroGL provides two ways to access OpenGL extensions: It's native extension library and some versatile portable routines.<p>
If you want to get more control on extensions or if you want to use an extension that is not supported by AllegroGL then you can use the routines : <a class="el" href="group__extensions.html#g7351f56ea1c4f4665193fc3bf547ff0a" title="This function is an helper to determine whether an OpenGL extension is available...">allegro_gl_is_extension_supported()</a> and <a class="el" href="group__extensions.html#ga0c2cd7c4b4a94e8801af42a58356cc4" title="Helper to get the address of an OpenGL symbol.">allegro_gl_get_proc_address()</a>. They provide a way to determine if an extension is available and to get its address. These routines are available on every platforms that AllegroGL supports <hr><h2>Define Documentation</h2>
<a class="anchor" name="gc45f9222ac965c8d0d756f513cebf0d1"></a><!-- doxytag: member="alleggl.h::AGL_DEFINE_PROC_TYPE" ref="gc45f9222ac965c8d0d756f513cebf0d1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define AGL_DEFINE_PROC_TYPE          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
OpenGL extensions handlers helper. 
<p>
Defines a function pointer type. This macro is almost equivalent to a <b>typedef</b>. It is intended to hide some platform-specific machinery in order to keep code portable.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__extensions.html#ga0c2cd7c4b4a94e8801af42a58356cc4" title="Helper to get the address of an OpenGL symbol.">allegro_gl_get_proc_address()</a> </dd></dl>

<p>
Definition at line <a class="el" href="alleggl_8h-source.html#l00755">755</a> of file <a class="el" href="alleggl_8h-source.html">alleggl.h</a>.
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="g7351f56ea1c4f4665193fc3bf547ff0a"></a><!-- doxytag: member="glext.c::allegro_gl_is_extension_supported" ref="g7351f56ea1c4f4665193fc3bf547ff0a" args="(AL_CONST char *extension)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int allegro_gl_is_extension_supported           </td>
          <td>(</td>
          <td class="paramtype">AL_CONST char *&nbsp;</td>
          <td class="paramname"> <em>extension</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
This function is an helper to determine whether an OpenGL extension is available or not. 
<p>
<b>Example:</b> <pre>
       int packedpixels =
                  allegro_gl_is_extension_supported("GL_EXT_packed_pixels");
    </pre> If <code>packedpixels</code> is TRUE then you can safely use the constants related to the packed pixels extension.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>extension</em>&nbsp;</td><td>The name of the extension that is needed </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>TRUE if the extension is available FALSE otherwise. </dd></dl>

<p>
Definition at line <a class="el" href="glext_8c-source.html#l00306">306</a> of file <a class="el" href="glext_8c-source.html">glext.c</a>.
<p>
Referenced by <a class="el" href="alleggl_8c-source.html#l01131">allegro_gl_set_blender_mode()</a>.
</div>
</div><p>
<a class="anchor" name="ga0c2cd7c4b4a94e8801af42a58356cc4"></a><!-- doxytag: member="glext.c::allegro_gl_get_proc_address" ref="ga0c2cd7c4b4a94e8801af42a58356cc4" args="(AL_CONST char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* allegro_gl_get_proc_address           </td>
          <td>(</td>
          <td class="paramtype">AL_CONST char *&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Helper to get the address of an OpenGL symbol. 
<p>
<b>Example:</b> How to get the function <code>glMultiTexCoord3fARB</code> that comes with ARB's Multitexture extension : <pre>
  // define the type of the function
	AGL_DEFINE_PROC_TYPE(void, MULTI_TEX_FUNC,
	                                      (GLenum, GLfloat, GLfloat, GLfloat));
  // declare the function pointer
	MULTI_TEX_FUNC glMultiTexCoord3fARB;
  // get the address of the function
 	glMultiTexCoord3fARB = (MULTI_TEX_FUNC) allegro_gl_get_proc_address(
 	                                                   "glMultiTexCoord3fARB");
    </pre><p>
If <code>glMultiTexCoord3fARB</code> is not <code>NULL</code> then it can be used as if it has been defined in the OpenGL core library. Note that the use of the AGL_DEFINE_PROC_TYPE macro is mandatory if you want your program to be portable.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The name of the symbol you want to link to. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A pointer to the symbol if available or NULL otherwise. </dd></dl>

<p>
Definition at line <a class="el" href="glext_8c-source.html#l00372">372</a> of file <a class="el" href="glext_8c-source.html">glext.c</a>.
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="g7492f6f6acc608789210560ee63e5436"></a><!-- doxytag: member="glext.c::allegro_gl_extensions_GL" ref="g7492f6f6acc608789210560ee63e5436" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct AGL_EXTENSION_LIST_GL <a class="el" href="group__extensions.html#g7492f6f6acc608789210560ee63e5436">allegro_gl_extensions_GL</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
List of OpenGL extensions supported by AllegroGL. 
<p>
Each entry of this structure is an int which is either set to 1, if the corresponding extension is available on the host system, or 0 otherwise.<p>
Extension names use only the base name. For example, GL_ARB_multitexture should be refered to by: <pre>
   allegro_gl_extensions_GL.ARB_multitexture
  </pre><p>
<dl class="see" compact><dt><b>See also:</b></dt><dd>allegro_gl_extensions_GLX allegro_gl_extensions_WGL </dd></dl>

<p>
Definition at line <a class="el" href="glext_8c-source.html#l00055">55</a> of file <a class="el" href="glext_8c-source.html">glext.c</a>.
<p>
Referenced by <a class="el" href="texture_8c-source.html#l00596">__allegro_gl_munge_bitmap()</a>, <a class="el" href="texture_8c-source.html#l01165">allegro_gl_make_texture_ex()</a>, <a class="el" href="videovtb_8c-source.html#l00148">allegro_gl_make_video_bitmap_helper0()</a>, <a class="el" href="videovtb_8c-source.html#l00048">allegro_gl_make_video_bitmap_helper1()</a>, <a class="el" href="glvtable_8c-source.html#l00519">allegro_gl_screen_blit_from_memory()</a>, <a class="el" href="glvtable_8c-source.html#l00602">allegro_gl_screen_blit_to_memory()</a>, <a class="el" href="gui_8c-source.html#l00538">allegro_gl_set_mouse_sprite()</a>, <a class="el" href="glvtable_8c-source.html#l01278">do_masked_blit_screen()</a>, <a class="el" href="texture_8c-source.html#l00897">do_texture_upload()</a>, and <a class="el" href="videovtb_8c-source.html#l00510">update_texture_memory()</a>.
</div>
</div><p>
<a class="anchor" name="g2d6ebb26eec58470e4242b750656268b"></a><!-- doxytag: member="glext.c::agl_extension_table" ref="g2d6ebb26eec58470e4242b750656268b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structAGL__EXT.html">AGL_EXT</a>* <a class="el" href="group__extensions.html#g2d6ebb26eec58470e4242b750656268b">agl_extension_table</a> = NULL          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
List of WGL extensions supported by AllegroGL. 
<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__extensions.html#g7492f6f6acc608789210560ee63e5436" title="List of OpenGL extensions supported by AllegroGL.">allegro_gl_extensions_GL</a> allegro_gl_extensions_GLX </dd></dl>

<p>
Definition at line <a class="el" href="glext_8c-source.html#l00082">82</a> of file <a class="el" href="glext_8c-source.html">glext.c</a>.
</div>
</div><p>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Nov 12 11:05:32 2007 for AllegroGL by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
</body>
</html>