Subversion Repositories AndroidProjects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
204 chris 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
2
    "http://www.w3.org/TR/1998/REC-html40-19980424/loose.dtd">
3
<html><head>
4
    <title>gsub_lite</title>
5
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6
 <meta name="generator" content="HeaderDoc">
7
<style type="text/css"><!--a:link {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #0000ff;}a:visited {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #0000ff;}a:visited:hover {text-decoration: underline; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #ff6600;}a:active {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #ff6600;}a:hover {text-decoration: underline; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: small; color: #ff6600;}h4 {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: tiny; font-weight: bold;}body {text-decoration: none; font-family: lucida grande, geneva, helvetica, arial, sans-serif; font-size: 10pt;}--></style></head><body bgcolor="#ffffff">
8
<h1><font face="Geneva,Arial,Helvtica">gsub_lite</font></h1><br>
9
<a name="//apple_ref/doc/header/gsub_lite.h" title="gsub_lite"></a>
10
<h2>Abstract</h2>
11
A collection of useful OpenGL routines for ARToolKit.
12
<h2>Discussion</h2>
13
Sample code for example usage of gsub_lite is included with
14
ARToolKit, in the directory &lt;AR/examples/simpleLite&gt;.
15
<br><br>
16
gsub_lite is the preferred means for drawing camera video
17
images acquired from ARToolKit's video libraries. It includes
18
optimized texture handling, and a variety of flexible drawing
19
options.
20
<br><br>
21
gsub_lite also provides utility functions for setting the
22
OpenGL viewing frustum and camera position based on ARToolKit-
23
camera parameters and marker positions.
24
<br><br>
25
gsub_lite does not depend on GLUT, or indeed, any particular
26
window or event handling system. It is therefore well suited
27
to use in applications which have their own window and event
28
handling code.
29
<br><br>
30
gsub_lite v2.7 is intended as a replacement for gsub from
31
ARToolKit 2.65, by Mark Billinghurst (MB) & Hirokazu Kato (HK),
32
with the following additional functionality:
33
<ul>
34
<li> Support for true stereo and multiple displays through removal
35
of most dependencies on global variables.
36
<li> Prepared library for thread-safety by removing global variables.
37
<li> Optimised texturing, particularly for Mac OS X platform.
38
<li> Added arglCameraFrustum to replace argDraw3dCamera() function.
39
<li> Renamed argConvGlpara() to arglCameraView() to more accurately
40
represent its functionality.
41
<li> Correctly handle textures with non-RGBA handling.
42
<li> Library setup and cleanup functions.
43
<li> Version numbering.
44
</ul>
45
It does however lack the following functionality from the original gsub
46
library:
47
<ul>
48
<li> GLUT event handling.
49
<li> Sub-window ("MINIWIN") and half-size drawing.
50
<li> HMD support for stereo via stencil.
51
</ul>
52
<br><br>
53
This file is part of ARToolKit.
54
<br><br>
55
ARToolKit is free software; you can redistribute it and/or modify
56
it under the terms of the GNU General Public License as published by
57
the Free Software Foundation; either version 2 of the License, or
58
(at your option) any later version.
59
<br><br>
60
ARToolKit is distributed in the hope that it will be useful,
61
but WITHOUT ANY WARRANTY; without even the implied warranty of
62
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
63
GNU General Public License for more details.
64
<br><br>
65
You should have received a copy of the GNU General Public License
66
along with ARToolKit; if not, write to the Free Software
67
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
68
<br><br>
69
<hr><br><h2>Functions</h2>
70
<a name="HeaderDoc_functions"></a>
71
<dl>
72
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCameraFrustum" target="_top">arglCameraFrustum</a></tt></dt>
73
<dd>Create an OpenGL perspective projection matrix.
74
</dd>
75
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCameraFrustumRH" target="_top">arglCameraFrustumRH</a></tt></dt>
76
<dd>(description)
77
</dd>
78
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCameraView" target="_top">arglCameraView</a></tt></dt>
79
<dd>Create an OpenGL viewing transformation matrix.
80
</dd>
81
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCameraViewRH" target="_top">arglCameraViewRH</a></tt></dt>
82
<dd>(description)
83
</dd>
84
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglCleanup" target="_top">arglCleanup</a></tt></dt>
85
<dd>Free memory used by gsub_lite associated with the specified context.
86
</dd>
87
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDispImage" target="_top">arglDispImage</a></tt></dt>
88
<dd>Display an ARVideo image, by drawing it using OpenGL.
89
</dd>
90
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDispImageStateful" target="_top">arglDispImageStateful</a></tt></dt>
91
<dd>Display an ARVideo image, by drawing it using OpenGL, using and modifying current OpenGL state.
92
</dd>
93
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDistortionCompensationGet" target="_top">arglDistortionCompensationGet</a></tt></dt>
94
<dd>Enquire as to the enable state of camera lens distortion compensation in arglDispImage.
95
</dd>
96
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDistortionCompensationSet" target="_top">arglDistortionCompensationSet</a></tt></dt>
97
<dd>Set compensation for camera lens distortion in arglDispImage to off or on.
98
</dd>
99
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDrawModeGet" target="_top">arglDrawModeGet</a></tt></dt>
100
<dd>Get method by which arglDispImage() is transfering pixels.
101
</dd>
102
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglDrawModeSet" target="_top">arglDrawModeSet</a></tt></dt>
103
<dd>Set method by which arglDispImage() will transfer pixels.
104
</dd>
105
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglPixelFormatGet" target="_top">arglPixelFormatGet</a></tt></dt>
106
<dd>Get the format of pixel data in which arglDispImage*() is expecting data to be passed.
107
</dd>
108
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglPixelFormatSet" target="_top">arglPixelFormatSet</a></tt></dt>
109
<dd>Set the format of pixel data which will be passed to arglDispImage*()
110
</dd>
111
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglSetupForCurrentContext" target="_top">arglSetupForCurrentContext</a></tt></dt>
112
<dd>Initialise the gsub_lite library for the current OpenGL context.
113
</dd>
114
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglTexmapModeGet" target="_top">arglTexmapModeGet</a></tt></dt>
115
<dd>Enquire whether full or half-resolution TexImage2D pixel-transfer is being used in arglDispImage().
116
</dd>
117
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglTexmapModeSet" target="_top">arglTexmapModeSet</a></tt></dt>
118
<dd>Determines use of full or half-resolution TexImage2D pixel-transfer in arglDispImage().
119
</dd>
120
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglTexRectangleGet" target="_top">arglTexRectangleGet</a></tt></dt>
121
<dd>Enquire as to use of rectangular TexImage2D pixel-transfer in arglDispImage().
122
</dd>
123
<dt><tt><a href="CompositePage.html#//apple_ref/doc/compositePage/c/func/arglTexRectangleSet" target="_top">arglTexRectangleSet</a></tt></dt>
124
<dd>Determines use of rectangular TexImage2D pixel-transfer in arglDispImage().
125
</dd>
126
</dl>
127
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglCameraFrustum;  name=arglCameraFrustum -->
128
<a name="//apple_ref/doc/compositePage/c/func/arglCameraFrustum"></a>
129
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCameraFrustum">arglCameraFrustum</a></h3>
130
</td></tr></table><hr><dl></dl><p>Create an OpenGL perspective projection matrix.
131
</p>
132
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCameraFrustum //apple_ref/c/clm/arglCameraFrustum //apple_ref/c/intfcm/arglCameraFrustum //apple_ref/c/func/arglCameraFrustum //apple_ref/c/ftmplt/arglCameraFrustum //apple_ref/c/defn/arglCameraFrustum //apple_ref/c/macro/arglCameraFrustum" --><font class="function">arglCameraFrustum</font><!-- /a -->(
133
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/ARParam //apple_ref/c/cl/ARParam //apple_ref/c/tdef/ARParam //apple_ref/c/tag/ARParam //apple_ref/c/econst/ARParam //apple_ref/c/struct/ARParam //apple_ref/c/clconst/ARParam" --><font class="type">ARParam</font><!-- /a --> *<font class="param">cparam</font>,
134
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">focalmin</font>,
135
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">focalmax</font>,
136
    <!-- a logicalPath="//apple_ref/c/cl/GLdouble //apple_ref/c/cl/GLdouble //apple_ref/c/tdef/GLdouble //apple_ref/c/tag/GLdouble //apple_ref/c/econst/GLdouble //apple_ref/c/struct/GLdouble //apple_ref/c/clconst/GLdouble" --><font class="type">GLdouble</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/m_projection //apple_ref/c/cl/m_projection //apple_ref/c/tdef/m_projection //apple_ref/c/tag/m_projection //apple_ref/c/econst/m_projection //apple_ref/c/struct/m_projection //apple_ref/c/clconst/m_projection" --><font class="type">m_projection</font><!-- /a -->[<font class="number">16</font>]); </pre></blockquote>
137
<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5>
138
<blockquote>
139
<dl>
140
<dt><code><i>cparam</i></code></dt><dd>Pointer to a set of ARToolKit camera parameters for the
141
current video source.</dd>
142
<dt><code><i>focalmax</i></code></dt><dd>The maximum distance at which geometry will be rendered.
143
Any geometry further away from the camera than this distance will be clipped
144
and will not be appear in a rendered frame. Thus, this value should be
145
set high enough to avoid clipping of any geometry you care about. However,
146
the precision of the depth buffer is correlated with the ratio of focalmin
147
to focalmax, thus you should not set focalmax any higher than it needs to be.
148
This value should be specified in the same units as your OpenGL drawing.</dd>
149
<dt><code><i>focalmin</i></code></dt><dd>The minimum distance at which geometry will be rendered.
150
Any geometry closer to the camera than this distance will be clipped
151
and will not be appear in a rendered frame. Thus, this value should be
152
set low enough to avoid clipping of any geometry you care about. However,
153
the precision of the depth buffer is correlated with the ratio of focalmin
154
to focalmax, thus you should not set focalmin any lower than it needs to be.
155
Additionally, geometry viewed in a stereo projections that is too close to
156
camera is difficult and tiring to view, so if you are rendering stereo
157
perspectives you should set this value no lower than the near-point of
158
the eyes. The near point in humans varies, but usually lies between 0.1 m
159
0.3 m. This value should be specified in the same units as your OpenGL drawing.</li></ol></dd>
160
<dt><code><i>m_projection</i></code></dt><dd>Pointer to a array of 16 GLdoubles, which will be filled
161
out with a projection matrix suitable for passing to OpenGL. The matrix
162
is specified in column major order.</dd>
163
</dl>
164
</blockquote>
165
<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>Use this function to create a matrix suitable for passing to OpenGL
166
to set the viewing projection.
167
</p>
168
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68.
169
</dd>
170
</dl>
171
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglCameraFrustumRH;  name=arglCameraFrustumRH -->
172
<a name="//apple_ref/doc/compositePage/c/func/arglCameraFrustumRH"></a>
173
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCameraFrustumRH">arglCameraFrustumRH</a></h3>
174
</td></tr></table><hr><dl></dl><p>(description)
175
</p>
176
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCameraFrustumRH //apple_ref/c/clm/arglCameraFrustumRH //apple_ref/c/intfcm/arglCameraFrustumRH //apple_ref/c/func/arglCameraFrustumRH //apple_ref/c/ftmplt/arglCameraFrustumRH //apple_ref/c/defn/arglCameraFrustumRH //apple_ref/c/macro/arglCameraFrustumRH" --><font class="function">arglCameraFrustumRH</font><!-- /a -->(
177
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/ARParam //apple_ref/c/cl/ARParam //apple_ref/c/tdef/ARParam //apple_ref/c/tag/ARParam //apple_ref/c/econst/ARParam //apple_ref/c/struct/ARParam //apple_ref/c/clconst/ARParam" --><font class="type">ARParam</font><!-- /a --> *<font class="param">cparam</font>,
178
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">focalmin</font>,
179
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">focalmax</font>,
180
    <!-- a logicalPath="//apple_ref/c/cl/GLdouble //apple_ref/c/cl/GLdouble //apple_ref/c/tdef/GLdouble //apple_ref/c/tag/GLdouble //apple_ref/c/econst/GLdouble //apple_ref/c/struct/GLdouble //apple_ref/c/clconst/GLdouble" --><font class="type">GLdouble</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/m_projection //apple_ref/c/cl/m_projection //apple_ref/c/tdef/m_projection //apple_ref/c/tag/m_projection //apple_ref/c/econst/m_projection //apple_ref/c/struct/m_projection //apple_ref/c/clconst/m_projection" --><font class="type">m_projection</font><!-- /a -->[<font class="number">16</font>]); </pre></blockquote>
181
<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5>
182
<blockquote>
183
<dl>
184
<dt><code><i>(name)</i></code></dt><dd>(description)</dd>
185
</dl>
186
</blockquote>
187
<dl><dt><i>function result</i></dt><dd>(description)
188
</dd>
189
<h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>(description)
190
</p>
191
</dl>
192
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglCameraView;  name=arglCameraView -->
193
<a name="//apple_ref/doc/compositePage/c/func/arglCameraView"></a>
194
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCameraView">arglCameraView</a></h3>
195
</td></tr></table><hr><dl></dl><p>Create an OpenGL viewing transformation matrix.
196
</p>
197
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCameraView //apple_ref/c/clm/arglCameraView //apple_ref/c/intfcm/arglCameraView //apple_ref/c/func/arglCameraView //apple_ref/c/ftmplt/arglCameraView //apple_ref/c/defn/arglCameraView //apple_ref/c/macro/arglCameraView" --><font class="function">arglCameraView</font><!-- /a -->(
198
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/para //apple_ref/c/cl/para //apple_ref/c/tdef/para //apple_ref/c/tag/para //apple_ref/c/econst/para //apple_ref/c/struct/para //apple_ref/c/clconst/para" --><font class="type">para</font><!-- /a -->[<font class="number">3</font>][<font class="number">4</font>],
199
    <!-- a logicalPath="//apple_ref/c/cl/GLdouble //apple_ref/c/cl/GLdouble //apple_ref/c/tdef/GLdouble //apple_ref/c/tag/GLdouble //apple_ref/c/econst/GLdouble //apple_ref/c/struct/GLdouble //apple_ref/c/clconst/GLdouble" --><font class="type">GLdouble</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/m_modelview //apple_ref/c/cl/m_modelview //apple_ref/c/tdef/m_modelview //apple_ref/c/tag/m_modelview //apple_ref/c/econst/m_modelview //apple_ref/c/struct/m_modelview //apple_ref/c/clconst/m_modelview" --><font class="type">m_modelview</font><!-- /a -->[<font class="number">16</font>],
200
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">scale</font>); </pre></blockquote>
201
<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5>
202
<blockquote>
203
<dl>
204
<dt><code><i>para</i></code></dt><dd>Pointer to 3x4 matrix array of doubles which specify the
205
position of an ARToolKit marker, as returned by arGetTransMat().</dd>
206
<dt><code><i>m_modelview</i></code></dt><dd>Pointer to a array of 16 GLdoubles, which will be filled
207
out with a modelview matrix suitable for passing to OpenGL. The matrix
208
is specified in column major order.</dd>
209
<dt><code><i>scale</i></code></dt><dd>Specifies a scaling between ARToolKit's
210
units (usually millimeters) and OpenGL's coordinate system units.
211
What you pass for the scalefactor parameter depends on what units you
212
want to do your OpenGL drawing in. If you use a scalefactor of 1.0, then<br>
213
To use different OpenGL units, e.g. metres, then you would pass 0.001.</li></ol></dd>
214
</dl>
215
</blockquote>
216
<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>Use this function to create a matrix suitable for passing to OpenGL
217
to set the viewing transformation of the virtual camera.
218
</p>
219
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68.
220
</dd>
221
</dl>
222
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglCameraViewRH;  name=arglCameraViewRH -->
223
<a name="//apple_ref/doc/compositePage/c/func/arglCameraViewRH"></a>
224
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCameraViewRH">arglCameraViewRH</a></h3>
225
</td></tr></table><hr><dl></dl><p>(description)
226
</p>
227
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCameraViewRH //apple_ref/c/clm/arglCameraViewRH //apple_ref/c/intfcm/arglCameraViewRH //apple_ref/c/func/arglCameraViewRH //apple_ref/c/ftmplt/arglCameraViewRH //apple_ref/c/defn/arglCameraViewRH //apple_ref/c/macro/arglCameraViewRH" --><font class="function">arglCameraViewRH</font><!-- /a -->(
228
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/para //apple_ref/c/cl/para //apple_ref/c/tdef/para //apple_ref/c/tag/para //apple_ref/c/econst/para //apple_ref/c/struct/para //apple_ref/c/clconst/para" --><font class="type">para</font><!-- /a -->[<font class="number">3</font>][<font class="number">4</font>],
229
    <!-- a logicalPath="//apple_ref/c/cl/GLdouble //apple_ref/c/cl/GLdouble //apple_ref/c/tdef/GLdouble //apple_ref/c/tag/GLdouble //apple_ref/c/econst/GLdouble //apple_ref/c/struct/GLdouble //apple_ref/c/clconst/GLdouble" --><font class="type">GLdouble</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/cl/m_modelview //apple_ref/c/cl/m_modelview //apple_ref/c/tdef/m_modelview //apple_ref/c/tag/m_modelview //apple_ref/c/econst/m_modelview //apple_ref/c/struct/m_modelview //apple_ref/c/clconst/m_modelview" --><font class="type">m_modelview</font><!-- /a -->[<font class="number">16</font>],
230
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">scale</font>); </pre></blockquote>
231
<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5>
232
<blockquote>
233
<dl>
234
<dt><code><i>(name)</i></code></dt><dd>(description)</dd>
235
</dl>
236
</blockquote>
237
<dl><dt><i>function result</i></dt><dd>(description)
238
</dd>
239
<h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>(description)
240
</p>
241
</dl>
242
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglCleanup;  name=arglCleanup -->
243
<a name="//apple_ref/doc/compositePage/c/func/arglCleanup"></a>
244
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglCleanup">arglCleanup</a></h3>
245
</td></tr></table><hr><dl></dl><p>Free memory used by gsub_lite associated with the specified context.
246
</p>
247
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglCleanup //apple_ref/c/clm/arglCleanup //apple_ref/c/intfcm/arglCleanup //apple_ref/c/func/arglCleanup //apple_ref/c/ftmplt/arglCleanup //apple_ref/c/defn/arglCleanup //apple_ref/c/macro/arglCleanup" --><font class="function">arglCleanup</font><!-- /a -->(
248
    <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>); </pre></blockquote>
249
<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5>
250
<blockquote>
251
<dl>
252
<dt><code><i>contextSettings</i></code></dt><dd>A reference to ARGL's settings for an OpenGL
253
context, as returned by arglSetupForCurrentContext().</dd>
254
</dl>
255
</blockquote>
256
<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>Should be called after no more argl* functions are needed, in order
257
to prevent memory leaks etc.
258
<br><br>
259
The library can be setup again for the context at a later time by calling
260
arglSetupForCurrentContext() again.
261
</p>
262
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68.
263
</dd>
264
</dl>
265
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglDispImage;  name=arglDispImage -->
266
<a name="//apple_ref/doc/compositePage/c/func/arglDispImage"></a>
267
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglDispImage">arglDispImage</a></h3>
268
</td></tr></table><hr><dl></dl><p>Display an ARVideo image, by drawing it using OpenGL.
269
</p>
270
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglDispImage //apple_ref/c/clm/arglDispImage //apple_ref/c/intfcm/arglDispImage //apple_ref/c/func/arglDispImage //apple_ref/c/ftmplt/arglDispImage //apple_ref/c/defn/arglDispImage //apple_ref/c/macro/arglDispImage" --><font class="function">arglDispImage</font><!-- /a -->(
271
    <!-- a logicalPath="//apple_ref/c/cl/ARUint8 //apple_ref/c/cl/ARUint8 //apple_ref/c/tdef/ARUint8 //apple_ref/c/tag/ARUint8 //apple_ref/c/econst/ARUint8 //apple_ref/c/struct/ARUint8 //apple_ref/c/clconst/ARUint8" --><font class="type">ARUint8</font><!-- /a --> *<font class="param">image</font>,
272
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/ARParam //apple_ref/c/cl/ARParam //apple_ref/c/tdef/ARParam //apple_ref/c/tag/ARParam //apple_ref/c/econst/ARParam //apple_ref/c/struct/ARParam //apple_ref/c/clconst/ARParam" --><font class="type">ARParam</font><!-- /a --> *<font class="param">cparam</font>,
273
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">zoom</font>,
274
    <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>); </pre></blockquote>
275
<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5>
276
<blockquote>
277
<dl>
278
<dt><code><i>image</i></code></dt><dd>Pointer to the tightly-packed image data (as returned by
279
arVideoGetImage()). The horizontal and vertical dimensions of the image
280
data must exactly match the values specified in the fields cparam->xsize
281
and cparam->ysize (see below).
282
<br><br>
283
The first byte of image data corresponds to the first component of the
284
top-left-most pixel in the image. The data continues with the remaining
285
pixels of the first row, followed immediately by the pixels of the second
286
row, and so on to the last byte of the image data, which corresponds to
287
the last component of the bottom-right-most pixel.</dd>
288
<dt><code><i>cparam</i></code></dt><dd>Pointer to a set of ARToolKit camera parameters for the
289
current video source. The size of the source image is taken from the
290
fields xsize and ysize of the ARParam structure pointed to. Also, when
291
the draw mode is AR_DRAW_BY_TEXTURE_MAPPING (see the documentation for
292
the global variable arglDrawMode) the field dist_factor of the ARParam
293
structure pointed to will be taken as the amount to un-warp the supplied
294
image.</dd>
295
<dt><code><i>zoom</i></code></dt><dd>The amount to scale the video image up or down. To draw the video
296
image double size, use a zoom value of 2.0. To draw the video image
297
half size use a zoom value of 0.5.</dd>
298
<dt><code><i>contextSettings</i></code></dt><dd>A reference to ARGL's settings for the current OpenGL
299
context, as returned by arglSetupForCurrentContext() for this context. It
300
is the callers responsibility to make sure that the current context at the
301
time arglDisplayImage() is called matches that under which contextSettings
302
was created.</dd>
303
</dl>
304
</blockquote>
305
<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>This function draws an image from an ARVideo source to the current
306
OpenGL context. This operation is most useful in video see-through
307
augmented reality applications for drawing the camera view as a
308
background image, but can also be used in other ways.
309
<br><br>
310
An undistorted image is drawn with the lower-left corner of the
311
bottom-left-most pixel at OpenGL screen coordinates (0,0), and the
312
upper-right corner of the top-right-most pixel at OpenGL screen
313
coodinates (x * zoom, y * zoom), where x and y are the values of the
314
fields cparam->xsize and cparam->ysize (see below) and zoom is the
315
value of the parameter zoom (also see below). If cparam->dist_factor
316
indicates that an un-warping correction should be applied, the actual
317
coordinates will differ from the values specified here.
318
<br><br>
319
OpenGL state: Drawing is performed with depth testing and lighting
320
disabled, and thus leaves the the depth buffer (if any) unmodified. If
321
pixel transfer is by texturing (see documentation for arglDrawMode),
322
the drawing is done in replacement texture environment mode.
323
The depth test enable and lighting enable state and the texture
324
environment mode are restored before the function returns.
325
</p>
326
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68.
327
</dd>
328
</dl>
329
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglDispImageStateful;  name=arglDispImageStateful -->
330
<a name="//apple_ref/doc/compositePage/c/func/arglDispImageStateful"></a>
331
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglDispImageStateful">arglDispImageStateful</a></h3>
332
</td></tr></table><hr><dl></dl><p>Display an ARVideo image, by drawing it using OpenGL, using and modifying current OpenGL state.
333
</p>
334
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglDispImageStateful //apple_ref/c/clm/arglDispImageStateful //apple_ref/c/intfcm/arglDispImageStateful //apple_ref/c/func/arglDispImageStateful //apple_ref/c/ftmplt/arglDispImageStateful //apple_ref/c/defn/arglDispImageStateful //apple_ref/c/macro/arglDispImageStateful" --><font class="function">arglDispImageStateful</font><!-- /a -->(
335
    <!-- a logicalPath="//apple_ref/c/cl/ARUint8 //apple_ref/c/cl/ARUint8 //apple_ref/c/tdef/ARUint8 //apple_ref/c/tag/ARUint8 //apple_ref/c/econst/ARUint8 //apple_ref/c/struct/ARUint8 //apple_ref/c/clconst/ARUint8" --><font class="type">ARUint8</font><!-- /a --> *<font class="param">image</font>,
336
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/ARParam //apple_ref/c/cl/ARParam //apple_ref/c/tdef/ARParam //apple_ref/c/tag/ARParam //apple_ref/c/econst/ARParam //apple_ref/c/struct/ARParam //apple_ref/c/clconst/ARParam" --><font class="type">ARParam</font><!-- /a --> *<font class="param">cparam</font>,
337
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/double //apple_ref/c/cl/double //apple_ref/c/tdef/double //apple_ref/c/tag/double //apple_ref/c/econst/double //apple_ref/c/struct/double //apple_ref/c/clconst/double" --><font class="type">double</font><!-- /a --> <font class="param">zoom</font>,
338
    <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>); </pre></blockquote>
339
<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>This function is identical to arglDispImage except that whereas
340
arglDispImage sets an orthographic 2D projection and the OpenGL state
341
prior to drawing, this function does not. It also does not restore any
342
changes made to OpenGL state.
343
<br><br>
344
This allows you to do effects with your image, other than just drawing it
345
2D and with the lower-left corner of the bottom-left-most pixel attached
346
to the bottom-left (0,0) of the window. For example, you might use a
347
perspective projection instead of an orthographic projection with a
348
glLoadIdentity() / glTranslate() on the modelview matrix to place the
349
lower-left corner of the bottom-left-most pixel somewhere other than 0,0
350
and leave depth-testing enabled.
351
<br><br>
352
See the documentation for arglDispImage() for more information.
353
</p>
354
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68.2.
355
 </dd>
356
</dl>
357
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglDistortionCompensationGet;  name=arglDistortionCompensationGet -->
358
<a name="//apple_ref/doc/compositePage/c/func/arglDistortionCompensationGet"></a>
359
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglDistortionCompensationGet">arglDistortionCompensationGet</a></h3>
360
</td></tr></table><hr><dl></dl><p>Enquire as to the enable state of camera lens distortion compensation in arglDispImage.
361
</p>
362
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglDistortionCompensationGet //apple_ref/c/clm/arglDistortionCompensationGet //apple_ref/c/intfcm/arglDistortionCompensationGet //apple_ref/c/func/arglDistortionCompensationGet //apple_ref/c/ftmplt/arglDistortionCompensationGet //apple_ref/c/defn/arglDistortionCompensationGet //apple_ref/c/macro/arglDistortionCompensationGet" --><font class="function">arglDistortionCompensationGet</font><!-- /a -->(
363
    <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>,
364
    <!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> *<font class="param">enable</font>); </pre></blockquote>
365
<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5>
366
<blockquote>
367
<dl>
368
<dt><code><i>contextSettings</i></code></dt><dd>A reference to ARGL's settings for the current OpenGL
369
context, as returned by arglSetupForCurrentContext() for this context.</dd>
370
<dt><code><i>enable</i></code></dt><dd>Pointer to an integer value which will be set to TRUE if distortion
371
compensation is enabled in the specified context, or FALSE if it is disabled.</dd>
372
</dl>
373
</blockquote>
374
<dl><dt><i>function result</i></dt><dd>TRUE if the distortion value was retreived, FALSE if an error occurred.
375
</dd>
376
<h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>By default, arglDispImage compensates for the distortion of the camera's
377
acquired image caused by the lens when it draws. This function enquires
378
as to whether arglDispImage is currently doing compensation or not.
379
</p>
380
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.71.
381
 </dd>
382
</dl>
383
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglDistortionCompensationSet;  name=arglDistortionCompensationSet -->
384
<a name="//apple_ref/doc/compositePage/c/func/arglDistortionCompensationSet"></a>
385
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglDistortionCompensationSet">arglDistortionCompensationSet</a></h3>
386
</td></tr></table><hr><dl></dl><p>Set compensation for camera lens distortion in arglDispImage to off or on.
387
</p>
388
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglDistortionCompensationSet //apple_ref/c/clm/arglDistortionCompensationSet //apple_ref/c/intfcm/arglDistortionCompensationSet //apple_ref/c/func/arglDistortionCompensationSet //apple_ref/c/ftmplt/arglDistortionCompensationSet //apple_ref/c/defn/arglDistortionCompensationSet //apple_ref/c/macro/arglDistortionCompensationSet" --><font class="function">arglDistortionCompensationSet</font><!-- /a -->(
389
    <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>,
390
    <!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> <font class="param">enable</font>); </pre></blockquote>
391
<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5>
392
<blockquote>
393
<dl>
394
<dt><code><i>contextSettings</i></code></dt><dd>A reference to ARGL's settings for the current OpenGL
395
context, as returned by arglSetupForCurrentContext() for this context.</dd>
396
<dt><code><i>enable</i></code></dt><dd>TRUE to enabled distortion compensation, FALSE to disable it.
397
The default state for new contexts is enable = TRUE.</dd>
398
</dl>
399
</blockquote>
400
<dl><dt><i>function result</i></dt><dd>TRUE if the distortion value was set, FALSE if an error occurred.
401
</dd>
402
<h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>By default, arglDispImage compensates for the distortion of the camera's
403
acquired image caused by the lens when it draws. By calling this function
404
with enabled = FALSE, this compensation will be disabled in the specified
405
drawing context. It may be re-enabled at any time.
406
This function is useful if you need to draw an image, but do not know the
407
extent of the camera's lens distortion (such as during distortion calibration).
408
While distortion compensation is disabled, the dist_factor[] array in a
409
the camera cparam structure passed to arglDispImage is ignored.
410
</p>
411
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.71.
412
</dd>
413
</dl>
414
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglDrawModeGet;  name=arglDrawModeGet -->
415
<a name="//apple_ref/doc/compositePage/c/func/arglDrawModeGet"></a>
416
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglDrawModeGet">arglDrawModeGet</a></h3>
417
</td></tr></table><hr><dl></dl><p>Get method by which arglDispImage() is transfering pixels.
418
</p>
419
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglDrawModeGet //apple_ref/c/clm/arglDrawModeGet //apple_ref/c/intfcm/arglDrawModeGet //apple_ref/c/func/arglDrawModeGet //apple_ref/c/ftmplt/arglDrawModeGet //apple_ref/c/defn/arglDrawModeGet //apple_ref/c/macro/arglDrawModeGet" --><font class="function">arglDrawModeGet</font><!-- /a -->(
420
    <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>); </pre></blockquote>
421
<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>Enquires as to the current method by which arglDispImage() is
422
transferring pixels to OpenGL for display. See arglDrawModeSet() for
423
more information.
424
</p>
425
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.72.
426
 </dd>
427
</dl>
428
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglDrawModeSet;  name=arglDrawModeSet -->
429
<a name="//apple_ref/doc/compositePage/c/func/arglDrawModeSet"></a>
430
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglDrawModeSet">arglDrawModeSet</a></h3>
431
</td></tr></table><hr><dl></dl><p>Set method by which arglDispImage() will transfer pixels.
432
</p>
433
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglDrawModeSet //apple_ref/c/clm/arglDrawModeSet //apple_ref/c/intfcm/arglDrawModeSet //apple_ref/c/func/arglDrawModeSet //apple_ref/c/ftmplt/arglDrawModeSet //apple_ref/c/defn/arglDrawModeSet //apple_ref/c/macro/arglDrawModeSet" --><font class="function">arglDrawModeSet</font><!-- /a -->(
434
    <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>,
435
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> <font class="param">mode</font>); </pre></blockquote>
436
<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>This setting determines the method by which arglDispImage transfers pixels
437
of an image to OpenGL for display. Setting this
438
variable to a value of AR_DRAW_BY_GL_DRAW_PIXELS specifies the use of the
439
OpenGL DrawPixels functions to do the transfer. Setting this variable to a value of
440
AR_DRAW_BY_TEXTURE_MAPPING specifies the use of OpenGL TexImage2D functions to do the
441
transfer. The DrawPixels method is guaranteed to be available on all
442
implementations, but arglDispImage does not correct the image
443
for camera lens distortion under this method. In contrast, TexImage2D is only
444
available on some implementations, but allows arglDispImage() to apply a correction
445
for camera lens distortion, and additionally offers greater potential for
446
accelerated drawing on some implementations.
447
<br><br>
448
The initial value is AR_DRAW_BY_TEXTURE_MAPPING.
449
</p>
450
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.72.
451
 </dd>
452
</dl>
453
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglPixelFormatGet;  name=arglPixelFormatGet -->
454
<a name="//apple_ref/doc/compositePage/c/func/arglPixelFormatGet"></a>
455
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglPixelFormatGet">arglPixelFormatGet</a></h3>
456
</td></tr></table><hr><dl></dl><p>Get the format of pixel data in which arglDispImage*() is expecting data to be passed.
457
</p>
458
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglPixelFormatGet //apple_ref/c/clm/arglPixelFormatGet //apple_ref/c/intfcm/arglPixelFormatGet //apple_ref/c/func/arglPixelFormatGet //apple_ref/c/ftmplt/arglPixelFormatGet //apple_ref/c/defn/arglPixelFormatGet //apple_ref/c/macro/arglPixelFormatGet" --><font class="function">arglPixelFormatGet</font><!-- /a -->(
459
    <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>,
460
    <!-- a logicalPath="//apple_ref/c/cl/AR_PIXEL_FORMAT //apple_ref/c/cl/AR_PIXEL_FORMAT //apple_ref/c/tdef/AR_PIXEL_FORMAT //apple_ref/c/tag/AR_PIXEL_FORMAT //apple_ref/c/econst/AR_PIXEL_FORMAT //apple_ref/c/struct/AR_PIXEL_FORMAT //apple_ref/c/clconst/AR_PIXEL_FORMAT" --><font class="type">AR_PIXEL_FORMAT</font><!-- /a --> *<font class="param">format</font>,
461
    <!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> *<font class="param">size</font>); </pre></blockquote>
462
<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5>
463
<blockquote>
464
<dl>
465
<dt><code><i>contextSettings</i></code></dt><dd>A reference to ARGL's settings for the current OpenGL
466
context, as returned by arglSetupForCurrentContext() for this context.</dd>
467
<dt><code><i>format</i></code></dt><dd>A symbolic constant for the pixel format in use. See
468
AR_PIXEL_FORMAT in ar.h for a list of all possible formats.</dd>
469
<dt><code><i>size</i></code></dt><dd>The number of bytes of memory occupied per pixel, for the given format.</dd>
470
</dl>
471
</blockquote>
472
<dl><dt><i>function result</i></dt><dd>TRUE if the pixel format and size values were retreived, FALSE if an error occurred.
473
</dd>
474
<h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>This function enquires as to the current format of pixel data being
475
expected by the arglDispImage*() functions. The default format is determined by
476
the value of AR_DEFAULT_PIXEL_FORMAT at the time the library was built.
477
</p>
478
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.71.
479
</dd>
480
</dl>
481
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglPixelFormatSet;  name=arglPixelFormatSet -->
482
<a name="//apple_ref/doc/compositePage/c/func/arglPixelFormatSet"></a>
483
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglPixelFormatSet">arglPixelFormatSet</a></h3>
484
</td></tr></table><hr><dl></dl><p>Set the format of pixel data which will be passed to arglDispImage*()
485
</p>
486
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglPixelFormatSet //apple_ref/c/clm/arglPixelFormatSet //apple_ref/c/intfcm/arglPixelFormatSet //apple_ref/c/func/arglPixelFormatSet //apple_ref/c/ftmplt/arglPixelFormatSet //apple_ref/c/defn/arglPixelFormatSet //apple_ref/c/macro/arglPixelFormatSet" --><font class="function">arglPixelFormatSet</font><!-- /a -->(
487
    <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>,
488
    <!-- a logicalPath="//apple_ref/c/cl/AR_PIXEL_FORMAT //apple_ref/c/cl/AR_PIXEL_FORMAT //apple_ref/c/tdef/AR_PIXEL_FORMAT //apple_ref/c/tag/AR_PIXEL_FORMAT //apple_ref/c/econst/AR_PIXEL_FORMAT //apple_ref/c/struct/AR_PIXEL_FORMAT //apple_ref/c/clconst/AR_PIXEL_FORMAT" --><font class="type">AR_PIXEL_FORMAT</font><!-- /a --> <font class="param">format</font>); </pre></blockquote>
489
<h5><font face="Lucida Grande,Helvetica,Arial">Parameter Descriptions</font></h5>
490
<blockquote>
491
<dl>
492
<dt><code><i>contextSettings</i></code></dt><dd>A reference to ARGL's settings for the current OpenGL
493
context, as returned by arglSetupForCurrentContext() for this context.</dd>
494
<dt><code><i>format</i></code></dt><dd>A symbolic constant for the pixel format being set. See
495
AR_PIXEL_FORMAT in ar.h for a list of all possible formats.</dd>
496
</dl>
497
</blockquote>
498
<dl><dt><i>function result</i></dt><dd>TRUE if the pixel format value was set, FALSE if an error occurred.
499
</dd>
500
<h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>(description)
501
In gsub_lite, the format of the pixels (i.e. the arrangement of components
502
within each pixel) can be changed at runtime. Use this function to inform
503
gsub_lite the format the pixels being passed to arglDispImage*() functions
504
are in. This setting applies only to the context passed in parameter
505
contextSettings. The default format is determined by
506
the value of AR_DEFAULT_PIXEL_FORMAT at the time the library was built.
507
Usually, image data is passed in directly from images generated by ARVideo,
508
and so you should ensure that ARVideo is generating pixels of the same format.
509
</p>
510
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.71.
511
</dd>
512
</dl>
513
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglSetupForCurrentContext;  name=arglSetupForCurrentContext -->
514
<a name="//apple_ref/doc/compositePage/c/func/arglSetupForCurrentContext"></a>
515
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglSetupForCurrentContext">arglSetupForCurrentContext</a></h3>
516
</td></tr></table><hr><dl></dl><p>Initialise the gsub_lite library for the current OpenGL context.
517
</p>
518
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglSetupForCurrentContext //apple_ref/c/clm/arglSetupForCurrentContext //apple_ref/c/intfcm/arglSetupForCurrentContext //apple_ref/c/func/arglSetupForCurrentContext //apple_ref/c/ftmplt/arglSetupForCurrentContext //apple_ref/c/defn/arglSetupForCurrentContext //apple_ref/c/macro/arglSetupForCurrentContext" --><font class="function">arglSetupForCurrentContext</font><!-- /a -->(
519
    <font class="param">void</font>); </pre></blockquote>
520
<dl><dt><i>function result</i></dt><dd>An ARGL_CONTEXT_SETTINGS_REF. See the documentation for this type for more info.
521
</dd>
522
<h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>This function performs required setup of the gsub_lite library
523
for the current OpenGL context and must be called before any other argl*()
524
functions are called for this context.
525
<br><br>
526
An OpenGL context holds all of the state of the OpenGL machine, including
527
textures and display lists etc. There will usually be one OpenGL context
528
for each window displaying OpenGL content.
529
<br><br>
530
Other argl*() functions whose operation depends on OpenGL state will
531
require an ARGL_CONTEXT_SETTINGS_REF. This is just so that
532
they can keep track of per-context variables.
533
<br><br>
534
You should call arglCleanup() passing in the ARGL_CONTEXT_SETTINGS_REF
535
when you have finished with the library for this context.
536
</p>
537
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68.
538
</dd>
539
</dl>
540
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglTexmapModeGet;  name=arglTexmapModeGet -->
541
<a name="//apple_ref/doc/compositePage/c/func/arglTexmapModeGet"></a>
542
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglTexmapModeGet">arglTexmapModeGet</a></h3>
543
</td></tr></table><hr><dl></dl><p>Enquire whether full or half-resolution TexImage2D pixel-transfer is being used in arglDispImage().
544
</p>
545
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglTexmapModeGet //apple_ref/c/clm/arglTexmapModeGet //apple_ref/c/intfcm/arglTexmapModeGet //apple_ref/c/func/arglTexmapModeGet //apple_ref/c/ftmplt/arglTexmapModeGet //apple_ref/c/defn/arglTexmapModeGet //apple_ref/c/macro/arglTexmapModeGet" --><font class="function">arglTexmapModeGet</font><!-- /a -->(
546
    <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>); </pre></blockquote>
547
<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>Enquires as to the current value of the TexmapMode setting. See arglTexmapModeSet()
548
for more info.
549
</p>
550
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.72.
551
 </dd>
552
</dl>
553
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglTexmapModeSet;  name=arglTexmapModeSet -->
554
<a name="//apple_ref/doc/compositePage/c/func/arglTexmapModeSet"></a>
555
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglTexmapModeSet">arglTexmapModeSet</a></h3>
556
</td></tr></table><hr><dl></dl><p>Determines use of full or half-resolution TexImage2D pixel-transfer in arglDispImage().
557
</p>
558
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglTexmapModeSet //apple_ref/c/clm/arglTexmapModeSet //apple_ref/c/intfcm/arglTexmapModeSet //apple_ref/c/func/arglTexmapModeSet //apple_ref/c/ftmplt/arglTexmapModeSet //apple_ref/c/defn/arglTexmapModeSet //apple_ref/c/macro/arglTexmapModeSet" --><font class="function">arglTexmapModeSet</font><!-- /a -->(
559
    <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>,
560
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> <font class="param">mode</font>); </pre></blockquote>
561
<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>When arglDrawModeSet(AR_DRAW_BY_TEXTURE_MAPPING) has been called, the value of this
562
setting determines whether full or half-resolution data is transferred to the
563
texture. Calling this function with a mode value of AR_DRAW_TEXTURE_FULL_IMAGE
564
uses all available pixels in the source image data. A value of
565
AR_DRAW_TEXTURE_HALF_IMAGE discards every second row
566
in the source image data, defining a half-height texture which is then drawn stretched
567
vertically to double its height.
568
<br><br>
569
The latter method is well-suited to drawing interlaced images, as would be obtained
570
from DV camera sources in interlaced mode or composite video sources.
571
<br><br>
572
The initial value is AR_DRAW_TEXTURE_FULL_IMAGE.
573
</p>
574
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.72.
575
 </dd>
576
</dl>
577
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglTexRectangleGet;  name=arglTexRectangleGet -->
578
<a name="//apple_ref/doc/compositePage/c/func/arglTexRectangleGet"></a>
579
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglTexRectangleGet">arglTexRectangleGet</a></h3>
580
</td></tr></table><hr><dl></dl><p>Enquire as to use of rectangular TexImage2D pixel-transfer in arglDispImage().
581
</p>
582
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglTexRectangleGet //apple_ref/c/clm/arglTexRectangleGet //apple_ref/c/intfcm/arglTexRectangleGet //apple_ref/c/func/arglTexRectangleGet //apple_ref/c/ftmplt/arglTexRectangleGet //apple_ref/c/defn/arglTexRectangleGet //apple_ref/c/macro/arglTexRectangleGet" --><font class="function">arglTexRectangleGet</font><!-- /a -->(
583
    <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>); </pre></blockquote>
584
<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>Enquires as to the current value of the TexRectangle setting. See arglTexRectangleSet()
585
for more info.
586
</p>
587
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.72.
588
 </dd>
589
</dl>
590
<hr><!-- headerDoc=func;  uid=//apple_ref/doc/compositePage/c/func/arglTexRectangleSet;  name=arglTexRectangleSet -->
591
<a name="//apple_ref/doc/compositePage/c/func/arglTexRectangleSet"></a>
592
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="arglTexRectangleSet">arglTexRectangleSet</a></h3>
593
</td></tr></table><hr><dl></dl><p>Determines use of rectangular TexImage2D pixel-transfer in arglDispImage().
594
</p>
595
<blockquote><pre><!-- a logicalPath="//apple_ref/c/cl/void //apple_ref/c/cl/void //apple_ref/c/tdef/void //apple_ref/c/tag/void //apple_ref/c/econst/void //apple_ref/c/struct/void //apple_ref/c/clconst/void" --><font class="type">void</font><!-- /a --> <!-- a logicalPath="//apple_ref/c/instm/arglTexRectangleSet //apple_ref/c/clm/arglTexRectangleSet //apple_ref/c/intfcm/arglTexRectangleSet //apple_ref/c/func/arglTexRectangleSet //apple_ref/c/ftmplt/arglTexRectangleSet //apple_ref/c/defn/arglTexRectangleSet //apple_ref/c/macro/arglTexRectangleSet" --><font class="function">arglTexRectangleSet</font><!-- /a -->(
596
    <!-- a logicalPath="//apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/cl/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tdef/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/tag/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/econst/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/struct/ARGL_CONTEXT_SETTINGS_REF //apple_ref/c/clconst/ARGL_CONTEXT_SETTINGS_REF" --><font class="type">ARGL_CONTEXT_SETTINGS_REF</font><!-- /a --> <font class="param">contextSettings</font>,
597
    <font class="keyword">const</font> <!-- a logicalPath="//apple_ref/c/cl/int //apple_ref/c/cl/int //apple_ref/c/tdef/int //apple_ref/c/tag/int //apple_ref/c/econst/int //apple_ref/c/struct/int //apple_ref/c/clconst/int" --><font class="type">int</font><!-- /a --> <font class="param">state</font>); </pre></blockquote>
598
<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>On implementations which support the OpenGL extension for rectangular textures (of
599
non power-of-two size), and when arglDrawMode is set to AR_DRAW_BY_TEXTURE_MAPPING,
600
the value of this variable determines whether rectangular textures or ordinary
601
(power-of-two) textures are used by arglDispImage(). A value of TRUE specifies the
602
use of rectangluar textures. A value of FALSE specifies the use of ordinary textures.
603
<br><br>
604
If the OpenGL driver available at runtime does not support for rectangular textures,
605
changing the value of this setting to TRUE will result calls to arglDispImage
606
performing no drawing.
607
</p>
608
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.72.
609
 </dd>
610
</dl>
611
<h2>Typedefs</h2>
612
<hr><!-- headerDoc=tdef;  uid=//apple_ref/doc/compositePage/c/tdef/ARGL_CONTEXT_SETTINGS_REF;  name=ARGL_CONTEXT_SETTINGS_REF -->
613
<a name="//apple_ref/doc/compositePage/c/tdef/ARGL_CONTEXT_SETTINGS_REF"></a>
614
<table border="0"  cellpadding="2" cellspacing="2" width="300"><tr><td valign="top" height="12" colspan="5"><h3><a name="ARGL_CONTEXT_SETTINGS_REF">ARGL_CONTEXT_SETTINGS_REF</a></h3>
615
</td></tr></table><hr><dl></dl><p>Opaque type to hold ARGL settings for a given OpenGL context.
616
</p>
617
<blockquote><pre><font class="keyword">typedef</font> <font class="keyword">struct</font> <!-- a logicalPath="//apple_ref/c/cl/_ARGL_CONTEXT_SETTINGS //apple_ref/c/cl/_ARGL_CONTEXT_SETTINGS //apple_ref/c/tdef/_ARGL_CONTEXT_SETTINGS //apple_ref/c/tag/_ARGL_CONTEXT_SETTINGS //apple_ref/c/econst/_ARGL_CONTEXT_SETTINGS //apple_ref/c/struct/_ARGL_CONTEXT_SETTINGS //apple_ref/c/clconst/_ARGL_CONTEXT_SETTINGS" --><font class="type">_ARGL_CONTEXT_SETTINGS</font><!-- /a --> <font class="type">*</font><font class="var">ARGL_CONTEXT_SETTINGS_REF</font>; </pre></blockquote>
618
<dl><h5><font face="Lucida Grande,Helvetica,Arial">Discussion</font></h5><p>An OpenGL context is an implementation-defined structure which
619
keeps track of OpenGL state, including textures and display lists.
620
Typically, individual OpenGL windows will have distinct OpenGL
621
contexts assigned to them by the host operating system.
622
<br><br>
623
As gsub_lite uses textures and display lists, it must be able to
624
track which OpenGL context a given texture or display list it is using
625
belongs to. This is especially important when gsub_lite is being used to
626
draw into more than one window (and therefore more than one context.)
627
<br><br>
628
Basically, functions which depend on OpenGL state, will require an
629
ARGL_CONTEXT_SETTINGS_REF to be passed to them. An ARGL_CONTEXT_SETTINGS_REF
630
is generated by setting the current OpenGL context (e.g. if using GLUT,
631
you might call glutSetWindow()) and then calling arglSetupForCurrentContext().
632
When you have finished using ARGL in a given context, you should call
633
arglCleanup(), passing in an ARGL_CONTEXT_SETTINGS_REF, to free the
634
memory used by the settings structure.
635
</p>
636
<dt><i>Availability</i></dt><dd>First appeared in ARToolKit 2.68.
637
 </dd>
638
</dl>
639
<p><p>&#169; 2003-2006 Philip Lamb
640
 (Last Updated June 23, 2006)
641
</p></body></html>