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
<html>
3
        <head>
4
                <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
5
                <title>ARToolKit API Documentation</title>
6
                <link href="doxygen.css" rel="stylesheet" type="text/css">
7
        </head>
8
        <body>
9
<!-- Generated by Doxygen 1.4.6 -->
10
<div class="tabs">
11
  <ul>
12
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
13
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
14
    <li id="current"><a href="files.html"><span>Files</span></a></li>
15
  </ul></div>
16
<div class="tabs">
17
  <ul>
18
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
19
    <li><a href="globals.html"><span>Globals</span></a></li>
20
  </ul></div>
21
<h1>gsub.h File Reference</h1>ARToolkit OpenGL subroutines. <a href="#_details">More...</a>
22
<p>
23
<code>#include &lt;AR/config.h&gt;</code><br>
24
<code>#include &lt;<a class="el" href="param_8h.html">AR/param.h</a>&gt;</code><br>
25
<code>#include &lt;<a class="el" href="ar_8h.html">AR/ar.h</a>&gt;</code><br>
26
<table border="0" cellpadding="0" cellspacing="0">
27
<tr><td></td></tr>
28
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
29
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#07b1fb9faa954efc65f5d2b8f6f637e6">argInit</a> (<a class="el" href="structARParam.html">ARParam</a> *cparam, double zoom, int fullFlag, int xwin, int ywin, int hmd_flag)</td></tr>
30
 
31
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialise the gsub library.  <a href="#07b1fb9faa954efc65f5d2b8f6f637e6"></a><br></td></tr>
32
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#ba68fd6b469c9e7d49ec6790c6620ade">argLoadHMDparam</a> (<a class="el" href="structARParam.html">ARParam</a> *lparam, <a class="el" href="structARParam.html">ARParam</a> *rparam)</td></tr>
33
 
34
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialize camera for HMD.  <a href="#ba68fd6b469c9e7d49ec6790c6620ade"></a><br></td></tr>
35
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#c86f94a986d35343f265e29c90c74d1c">argCleanup</a> (void)</td></tr>
36
 
37
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the gsub library.  <a href="#c86f94a986d35343f265e29c90c74d1c"></a><br></td></tr>
38
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#2ef8e50a5259c7f0656e59a7d95902f7">argSwapBuffers</a> (void)</td></tr>
39
 
40
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">swap the rendering buffer.  <a href="#2ef8e50a5259c7f0656e59a7d95902f7"></a><br></td></tr>
41
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#193601121350fe3bbd11ee54ed1b8067">argMainLoop</a> (void(*mouseFunc)(int button, int state, int x, int y), void(*keyFunc)(unsigned char key, int x, int y), void(*mainFunc)(void))</td></tr>
42
 
43
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">start the program main loop with specified callback functions.  <a href="#193601121350fe3bbd11ee54ed1b8067"></a><br></td></tr>
44
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#775b7707fe234f852d5396af710c57ee">argDrawMode2D</a> (void)</td></tr>
45
 
46
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">switch the rendering context for 2D rendering mode.  <a href="#775b7707fe234f852d5396af710c57ee"></a><br></td></tr>
47
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#faf370af36027578a5bddb5213f8e74a">argDraw2dLeft</a> (void)</td></tr>
48
 
49
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">switch the rendering view to left eye (in 2D space)  <a href="#faf370af36027578a5bddb5213f8e74a"></a><br></td></tr>
50
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#8405075318361e5bce30743f4105833e">argDraw2dRight</a> (void)</td></tr>
51
 
52
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">switch the rendering view to right eye (in 2D space)  <a href="#8405075318361e5bce30743f4105833e"></a><br></td></tr>
53
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#febfa81543ec199ecfc5a2eff531e96c">argDrawMode3D</a> (void)</td></tr>
54
 
55
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">switch the rendering context for 3D rendering mode.  <a href="#febfa81543ec199ecfc5a2eff531e96c"></a><br></td></tr>
56
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#ba72651d7cf51496c9d32526d98274a1">argDraw3dLeft</a> (void)</td></tr>
57
 
58
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">switch the rendering view to left eye (in 3D space)  <a href="#ba72651d7cf51496c9d32526d98274a1"></a><br></td></tr>
59
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#717841e9678bd2d1004a93c85ec25342">argDraw3dRight</a> (void)</td></tr>
60
 
61
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">switch the rendering view to right eye (in 3D space)  <a href="#717841e9678bd2d1004a93c85ec25342"></a><br></td></tr>
62
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#5d4aa8ea3737eaaf7730a5eeb2935c41">argDraw3dCamera</a> (int xwin, int ywin)</td></tr>
63
 
64
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">switch the rendering view for 3D rendering mode.  <a href="#5d4aa8ea3737eaaf7730a5eeb2935c41"></a><br></td></tr>
65
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#c47b7355753cee5f727f8ad2f688a824">argConvGlpara</a> (double para[3][4], double gl_para[16])</td></tr>
66
 
67
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">transform ARToolKit matrix format to an openGL matrix format.  <a href="#c47b7355753cee5f727f8ad2f688a824"></a><br></td></tr>
68
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#30cc07c69a893121b18fcf6b2dfdb590">argConvGLcpara</a> (<a class="el" href="structARParam.html">ARParam</a> *param, double gnear, double gfar, double m[16])</td></tr>
69
 
70
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">transform ARToolKit intrinsic camera parameters matrix format to an openGL matrix format.  <a href="#30cc07c69a893121b18fcf6b2dfdb590"></a><br></td></tr>
71
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#ba4016cfc4b79474b455dbba5afef56c">argDispImage</a> (ARUint8 *image, int xwin, int ywin)</td></tr>
72
 
73
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">display the video image.  <a href="#ba4016cfc4b79474b455dbba5afef56c"></a><br></td></tr>
74
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#42da6d273571bbd437f957fd034a3667">argDispHalfImage</a> (ARUint8 *image, int xwin, int ywin)</td></tr>
75
 
76
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">display half of the video image.  <a href="#42da6d273571bbd437f957fd034a3667"></a><br></td></tr>
77
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#080aba5b0fe8fbd17860054219748886">argDrawSquare</a> (double vertex[4][2], int xwin, int ywin)</td></tr>
78
 
79
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">draw a 2D square.  <a href="#080aba5b0fe8fbd17860054219748886"></a><br></td></tr>
80
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#60316a9ecea4aafb8412fd4e649e9bd2">argLineSeg</a> (double x1, double y1, double x2, double y2, int xwin, int ywin)</td></tr>
81
 
82
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draw a line.  <a href="#60316a9ecea4aafb8412fd4e649e9bd2"></a><br></td></tr>
83
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#78573aefc43aca8294907df3181b35e6">argLineSegHMD</a> (double x1, double y1, double x2, double y2)</td></tr>
84
 
85
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Draw a line with HMD mode.  <a href="#78573aefc43aca8294907df3181b35e6"></a><br></td></tr>
86
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#fc546eb5e187fe05444fa2cdf2497a1d">argInqSetting</a> (int *hmdMode, int *gMiniXnum2, int *gMiniYnum2, void(**mouseFunc)(int button, int state, int x, int y), void(**keyFunc)(unsigned char key, int x, int y), void(**mainFunc)(void))</td></tr>
87
 
88
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get current configuration of gsub library.  <a href="#fc546eb5e187fe05444fa2cdf2497a1d"></a><br></td></tr>
89
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="75dc3f69e9ae394192cab6c86acd3252"></a><!-- doxytag: member="gsub.h::argsInit" ref="75dc3f69e9ae394192cab6c86acd3252" args="(ARSParam *scparam, double zoom, int twinFlag, int fullFlag, int xwin, int ywin)" -->
90
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>argsInit</b> (ARSParam *scparam, double zoom, int twinFlag, int fullFlag, int xwin, int ywin)</td></tr>
91
 
92
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e8ef45f9b4de77a37ffb28e055e1bd8"></a><!-- doxytag: member="gsub.h::argsDraw3dCamera" ref="9e8ef45f9b4de77a37ffb28e055e1bd8" args="(int xwin, int ywin, int LorR, int stencil_flag)" -->
93
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>argsDraw3dCamera</b> (int xwin, int ywin, int LorR, int stencil_flag)</td></tr>
94
 
95
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8fee578d6f0bc42a50975985101f7fc9"></a><!-- doxytag: member="gsub.h::argsConvGLcpara" ref="8fee578d6f0bc42a50975985101f7fc9" args="(ARSParam *sparam, double gnear, double gfar, double mL[16], double mR[16])" -->
96
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>argsConvGLcpara</b> (ARSParam *sparam, double gnear, double gfar, double mL[16], double mR[16])</td></tr>
97
 
98
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6c0d67bb319b93ff56afa8edd23e3072"></a><!-- doxytag: member="gsub.h::argsDispImage" ref="6c0d67bb319b93ff56afa8edd23e3072" args="(ARUint8 *image, int LorR, int xwin, int ywin)" -->
99
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>argsDispImage</b> (ARUint8 *image, int LorR, int xwin, int ywin)</td></tr>
100
 
101
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="394113d0559accb75a8b5278d34a12c8"></a><!-- doxytag: member="gsub.h::argsDispHalfImage" ref="394113d0559accb75a8b5278d34a12c8" args="(ARUint8 *image, int LorR, int xwin, int ywin)" -->
102
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>argsDispHalfImage</b> (ARUint8 *image, int LorR, int xwin, int ywin)</td></tr>
103
 
104
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ddbc9f546896eda0cb0c828f01b81896"></a><!-- doxytag: member="gsub.h::argsLineSeg" ref="ddbc9f546896eda0cb0c828f01b81896" args="(double x1, double y1, double x2, double y2, int xwin, int ywin, int LorR)" -->
105
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>argsLineSeg</b> (double x1, double y1, double x2, double y2, int xwin, int ywin, int LorR)</td></tr>
106
 
107
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9ccef03805919180fadc506fb332565a"></a><!-- doxytag: member="gsub.h::argsDrawSquare" ref="9ccef03805919180fadc506fb332565a" args="(double vertex[4][2], int xwin, int ywin, int LorR)" -->
108
void&nbsp;</td><td class="memItemRight" valign="bottom"><b>argsDrawSquare</b> (double vertex[4][2], int xwin, int ywin, int LorR)</td></tr>
109
 
110
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
111
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#ab99b6f68f69ee43f4d0abdae66222fe">argDrawMode</a></td></tr>
112
 
113
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">define the draw configuration mode.  <a href="#ab99b6f68f69ee43f4d0abdae66222fe"></a><br></td></tr>
114
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="gsub_8h.html#21740edb5e673518101442e9428c0cff">argTexmapMode</a></td></tr>
115
 
116
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">define the texture map configuration mode.  <a href="#21740edb5e673518101442e9428c0cff"></a><br></td></tr>
117
</table>
118
<hr><a name="_details"></a><h2>Detailed Description</h2>
119
ARToolkit OpenGL subroutines.
120
<p>
121
This file contains the main display functions used in ARToolkit Library. It contains wrapped functions of GLUT and openGL for doing real-time rendering. This choice give us a large multi-platform support for the display module of ARToolkit. <dl compact><dt><b>Remarks:</b></dt><dd>The supported stereo mode is interleaved stereo mode (only for i-glasses display).</dd></dl>
122
History :<p>
123
<dl compact><dt><b>Author:</b></dt><dd>Hirokazu Kato <a href="mailto:kato@sys.im.hiroshima-cu.ac.jp">kato@sys.im.hiroshima-cu.ac.jp</a> </dd></dl>
124
<dl compact><dt><b>Version:</b></dt><dd></dd></dl>
125
<dl compact><dt><b>Date:</b></dt><dd></dd></dl>
126
<hr><h2>Function Documentation</h2>
127
<a class="anchor" name="c86f94a986d35343f265e29c90c74d1c"></a><!-- doxytag: member="gsub.h::argCleanup" ref="c86f94a986d35343f265e29c90c74d1c" args="(void)" --><p>
128
<table class="mdTable" cellpadding="2" cellspacing="0">
129
  <tr>
130
    <td class="mdRow">
131
      <table cellpadding="0" cellspacing="0" border="0">
132
        <tr>
133
          <td class="md" nowrap valign="top">void argCleanup           </td>
134
          <td class="md" valign="top">(&nbsp;</td>
135
          <td class="md" nowrap valign="top">void&nbsp;</td>
136
          <td class="mdname1" valign="top" nowrap>          </td>
137
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
138
          <td class="md" nowrap></td>
139
        </tr>
140
      </table>
141
    </td>
142
  </tr>
143
</table>
144
<table cellspacing="5" cellpadding="0" border="0">
145
  <tr>
146
    <td>
147
      &nbsp;
148
    </td>
149
    <td>
150
 
151
<p>
152
Close the gsub library.
153
<p>
154
This function clean the rendering context (GLUT and openGL). Call in the exit of your program. <dl compact><dt><b>Remarks:</b></dt><dd>BE CAREFUL, THIS FUNCTION DOESN'T RESET PERSPECTIVE MATRIX AND CURRENT GL STATE TO DEFAULT </dd></dl>
155
    </td>
156
  </tr>
157
</table>
158
<a class="anchor" name="30cc07c69a893121b18fcf6b2dfdb590"></a><!-- doxytag: member="gsub.h::argConvGLcpara" ref="30cc07c69a893121b18fcf6b2dfdb590" args="(ARParam *param, double gnear, double gfar, double m[16])" --><p>
159
<table class="mdTable" cellpadding="2" cellspacing="0">
160
  <tr>
161
    <td class="mdRow">
162
      <table cellpadding="0" cellspacing="0" border="0">
163
        <tr>
164
          <td class="md" nowrap valign="top">void argConvGLcpara           </td>
165
          <td class="md" valign="top">(&nbsp;</td>
166
          <td class="md" nowrap valign="top"><a class="el" href="structARParam.html">ARParam</a> *&nbsp;</td>
167
          <td class="mdname" nowrap> <em>param</em>, </td>
168
        </tr>
169
        <tr>
170
          <td class="md" nowrap align="right"></td>
171
          <td class="md"></td>
172
          <td class="md" nowrap>double&nbsp;</td>
173
          <td class="mdname" nowrap> <em>gnear</em>, </td>
174
        </tr>
175
        <tr>
176
          <td class="md" nowrap align="right"></td>
177
          <td class="md"></td>
178
          <td class="md" nowrap>double&nbsp;</td>
179
          <td class="mdname" nowrap> <em>gfar</em>, </td>
180
        </tr>
181
        <tr>
182
          <td class="md" nowrap align="right"></td>
183
          <td class="md"></td>
184
          <td class="md" nowrap>double&nbsp;</td>
185
          <td class="mdname" nowrap> <em>m</em>[16]</td>
186
        </tr>
187
        <tr>
188
          <td class="md"></td>
189
          <td class="md">)&nbsp;</td>
190
          <td class="md" colspan="2"></td>
191
        </tr>
192
      </table>
193
    </td>
194
  </tr>
195
</table>
196
<table cellspacing="5" cellpadding="0" border="0">
197
  <tr>
198
    <td>
199
      &nbsp;
200
    </td>
201
    <td>
202
 
203
<p>
204
transform ARToolKit intrinsic camera parameters matrix format to an openGL matrix format.
205
<p>
206
XXXBK: not be sure of this function: this function must just convert 3x4 matrix to classical perspective openGL matrix. But in the code, you used arParamDecompMat that seem decomposed K and R,t, aren't it ? why do this decomposition since we want just intrinsic parameters ? and if not what is arDecomp ?<p>
207
Returned value is generally use with a Projection Matrix. <dl compact><dt><b>Parameters:</b></dt><dd>
208
  <table border="0" cellspacing="2" cellpadding="0">
209
    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td></td></tr>
210
    <tr><td valign="top"></td><td valign="top"><em>gnear</em>&nbsp;</td><td>near clipping plane value </td></tr>
211
    <tr><td valign="top"></td><td valign="top"><em>gfar</em>&nbsp;</td><td>far clipping plane value </td></tr>
212
    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>the resulted openGL matrix </td></tr>
213
  </table>
214
</dl>
215
    </td>
216
  </tr>
217
</table>
218
<a class="anchor" name="c47b7355753cee5f727f8ad2f688a824"></a><!-- doxytag: member="gsub.h::argConvGlpara" ref="c47b7355753cee5f727f8ad2f688a824" args="(double para[3][4], double gl_para[16])" --><p>
219
<table class="mdTable" cellpadding="2" cellspacing="0">
220
  <tr>
221
    <td class="mdRow">
222
      <table cellpadding="0" cellspacing="0" border="0">
223
        <tr>
224
          <td class="md" nowrap valign="top">void argConvGlpara           </td>
225
          <td class="md" valign="top">(&nbsp;</td>
226
          <td class="md" nowrap valign="top">double&nbsp;</td>
227
          <td class="mdname" nowrap> <em>para</em>[3][4], </td>
228
        </tr>
229
        <tr>
230
          <td class="md" nowrap align="right"></td>
231
          <td class="md"></td>
232
          <td class="md" nowrap>double&nbsp;</td>
233
          <td class="mdname" nowrap> <em>gl_para</em>[16]</td>
234
        </tr>
235
        <tr>
236
          <td class="md"></td>
237
          <td class="md">)&nbsp;</td>
238
          <td class="md" colspan="2"></td>
239
        </tr>
240
      </table>
241
    </td>
242
  </tr>
243
</table>
244
<table cellspacing="5" cellpadding="0" border="0">
245
  <tr>
246
    <td>
247
      &nbsp;
248
    </td>
249
    <td>
250
 
251
<p>
252
transform ARToolKit matrix format to an openGL matrix format.
253
<p>
254
simple conversion for the openGL matrix (16 values and homogeneous matrix). Returned value is generally use with a Model View Matrix. <dl compact><dt><b>Parameters:</b></dt><dd>
255
  <table border="0" cellspacing="2" cellpadding="0">
256
    <tr><td valign="top"></td><td valign="top"><em>para</em>&nbsp;</td><td>the ARToolKit matrix </td></tr>
257
    <tr><td valign="top"></td><td valign="top"><em>gl_para</em>&nbsp;</td><td>the resulted openGL matrix </td></tr>
258
  </table>
259
</dl>
260
    </td>
261
  </tr>
262
</table>
263
<a class="anchor" name="42da6d273571bbd437f957fd034a3667"></a><!-- doxytag: member="gsub.h::argDispHalfImage" ref="42da6d273571bbd437f957fd034a3667" args="(ARUint8 *image, int xwin, int ywin)" --><p>
264
<table class="mdTable" cellpadding="2" cellspacing="0">
265
  <tr>
266
    <td class="mdRow">
267
      <table cellpadding="0" cellspacing="0" border="0">
268
        <tr>
269
          <td class="md" nowrap valign="top">void argDispHalfImage           </td>
270
          <td class="md" valign="top">(&nbsp;</td>
271
          <td class="md" nowrap valign="top">ARUint8 *&nbsp;</td>
272
          <td class="mdname" nowrap> <em>image</em>, </td>
273
        </tr>
274
        <tr>
275
          <td class="md" nowrap align="right"></td>
276
          <td class="md"></td>
277
          <td class="md" nowrap>int&nbsp;</td>
278
          <td class="mdname" nowrap> <em>xwin</em>, </td>
279
        </tr>
280
        <tr>
281
          <td class="md" nowrap align="right"></td>
282
          <td class="md"></td>
283
          <td class="md" nowrap>int&nbsp;</td>
284
          <td class="mdname" nowrap> <em>ywin</em></td>
285
        </tr>
286
        <tr>
287
          <td class="md"></td>
288
          <td class="md">)&nbsp;</td>
289
          <td class="md" colspan="2"></td>
290
        </tr>
291
      </table>
292
    </td>
293
  </tr>
294
</table>
295
<table cellspacing="5" cellpadding="0" border="0">
296
  <tr>
297
    <td>
298
      &nbsp;
299
    </td>
300
    <td>
301
 
302
<p>
303
display half of the video image.
304
<p>
305
Idem of argDispImage except than a quarter of the image is display (first left top quadrant, so size/2 in x and y). <dl compact><dt><b>Parameters:</b></dt><dd>
306
  <table border="0" cellspacing="2" cellpadding="0">
307
    <tr><td valign="top"></td><td valign="top"><em>image</em>&nbsp;</td><td>image to display </td></tr>
308
    <tr><td valign="top"></td><td valign="top"><em>xwin</em>&nbsp;</td><td>XXXBK </td></tr>
309
    <tr><td valign="top"></td><td valign="top"><em>ywin</em>&nbsp;</td><td>XXXBK </td></tr>
310
  </table>
311
</dl>
312
    </td>
313
  </tr>
314
</table>
315
<a class="anchor" name="ba4016cfc4b79474b455dbba5afef56c"></a><!-- doxytag: member="gsub.h::argDispImage" ref="ba4016cfc4b79474b455dbba5afef56c" args="(ARUint8 *image, int xwin, int ywin)" --><p>
316
<table class="mdTable" cellpadding="2" cellspacing="0">
317
  <tr>
318
    <td class="mdRow">
319
      <table cellpadding="0" cellspacing="0" border="0">
320
        <tr>
321
          <td class="md" nowrap valign="top">void argDispImage           </td>
322
          <td class="md" valign="top">(&nbsp;</td>
323
          <td class="md" nowrap valign="top">ARUint8 *&nbsp;</td>
324
          <td class="mdname" nowrap> <em>image</em>, </td>
325
        </tr>
326
        <tr>
327
          <td class="md" nowrap align="right"></td>
328
          <td class="md"></td>
329
          <td class="md" nowrap>int&nbsp;</td>
330
          <td class="mdname" nowrap> <em>xwin</em>, </td>
331
        </tr>
332
        <tr>
333
          <td class="md" nowrap align="right"></td>
334
          <td class="md"></td>
335
          <td class="md" nowrap>int&nbsp;</td>
336
          <td class="mdname" nowrap> <em>ywin</em></td>
337
        </tr>
338
        <tr>
339
          <td class="md"></td>
340
          <td class="md">)&nbsp;</td>
341
          <td class="md" colspan="2"></td>
342
        </tr>
343
      </table>
344
    </td>
345
  </tr>
346
</table>
347
<table cellspacing="5" cellpadding="0" border="0">
348
  <tr>
349
    <td>
350
      &nbsp;
351
    </td>
352
    <td>
353
 
354
<p>
355
display the video image.
356
<p>
357
Display in the back-buffer the video image in argument. For doing AR video background, this function must be called before any rendering of 3D object. <dl compact><dt><b>Remarks:</b></dt><dd>According to your argDrawMode, argTexmapMode and the internal image format the openGL function called is different and less or more efficient. <p>
358
with AR_DRAW_BY_GL_DRAW_PIXELS, unaffected by current camera parameters matrix but affected by glRasterPos3f. <p>
359
with AR_DRAW_BY_TEXTURE_MAPPING, affected by current current camera parameters matrix. You need generally call argDrawMode2D before this function. </dd></dl>
360
<dl compact><dt><b>Parameters:</b></dt><dd>
361
  <table border="0" cellspacing="2" cellpadding="0">
362
    <tr><td valign="top"></td><td valign="top"><em>image</em>&nbsp;</td><td>image to display </td></tr>
363
    <tr><td valign="top"></td><td valign="top"><em>xwin</em>&nbsp;</td><td>XXXBK </td></tr>
364
    <tr><td valign="top"></td><td valign="top"><em>ywin</em>&nbsp;</td><td>XXXBK </td></tr>
365
  </table>
366
</dl>
367
    </td>
368
  </tr>
369
</table>
370
<a class="anchor" name="faf370af36027578a5bddb5213f8e74a"></a><!-- doxytag: member="gsub.h::argDraw2dLeft" ref="faf370af36027578a5bddb5213f8e74a" args="(void)" --><p>
371
<table class="mdTable" cellpadding="2" cellspacing="0">
372
  <tr>
373
    <td class="mdRow">
374
      <table cellpadding="0" cellspacing="0" border="0">
375
        <tr>
376
          <td class="md" nowrap valign="top">void argDraw2dLeft           </td>
377
          <td class="md" valign="top">(&nbsp;</td>
378
          <td class="md" nowrap valign="top">void&nbsp;</td>
379
          <td class="mdname1" valign="top" nowrap>          </td>
380
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
381
          <td class="md" nowrap></td>
382
        </tr>
383
      </table>
384
    </td>
385
  </tr>
386
</table>
387
<table cellspacing="5" cellpadding="0" border="0">
388
  <tr>
389
    <td>
390
      &nbsp;
391
    </td>
392
    <td>
393
 
394
<p>
395
switch the rendering view to left eye (in 2D space)
396
<p>
397
Combine with argDrawMode2D for rendering the left view.     </td>
398
  </tr>
399
</table>
400
<a class="anchor" name="8405075318361e5bce30743f4105833e"></a><!-- doxytag: member="gsub.h::argDraw2dRight" ref="8405075318361e5bce30743f4105833e" args="(void)" --><p>
401
<table class="mdTable" cellpadding="2" cellspacing="0">
402
  <tr>
403
    <td class="mdRow">
404
      <table cellpadding="0" cellspacing="0" border="0">
405
        <tr>
406
          <td class="md" nowrap valign="top">void argDraw2dRight           </td>
407
          <td class="md" valign="top">(&nbsp;</td>
408
          <td class="md" nowrap valign="top">void&nbsp;</td>
409
          <td class="mdname1" valign="top" nowrap>          </td>
410
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
411
          <td class="md" nowrap></td>
412
        </tr>
413
      </table>
414
    </td>
415
  </tr>
416
</table>
417
<table cellspacing="5" cellpadding="0" border="0">
418
  <tr>
419
    <td>
420
      &nbsp;
421
    </td>
422
    <td>
423
 
424
<p>
425
switch the rendering view to right eye (in 2D space)
426
<p>
427
Combine with argDrawMode2D for rendering the right view.     </td>
428
  </tr>
429
</table>
430
<a class="anchor" name="5d4aa8ea3737eaaf7730a5eeb2935c41"></a><!-- doxytag: member="gsub.h::argDraw3dCamera" ref="5d4aa8ea3737eaaf7730a5eeb2935c41" args="(int xwin, int ywin)" --><p>
431
<table class="mdTable" cellpadding="2" cellspacing="0">
432
  <tr>
433
    <td class="mdRow">
434
      <table cellpadding="0" cellspacing="0" border="0">
435
        <tr>
436
          <td class="md" nowrap valign="top">void argDraw3dCamera           </td>
437
          <td class="md" valign="top">(&nbsp;</td>
438
          <td class="md" nowrap valign="top">int&nbsp;</td>
439
          <td class="mdname" nowrap> <em>xwin</em>, </td>
440
        </tr>
441
        <tr>
442
          <td class="md" nowrap align="right"></td>
443
          <td class="md"></td>
444
          <td class="md" nowrap>int&nbsp;</td>
445
          <td class="mdname" nowrap> <em>ywin</em></td>
446
        </tr>
447
        <tr>
448
          <td class="md"></td>
449
          <td class="md">)&nbsp;</td>
450
          <td class="md" colspan="2"></td>
451
        </tr>
452
      </table>
453
    </td>
454
  </tr>
455
</table>
456
<table cellspacing="5" cellpadding="0" border="0">
457
  <tr>
458
    <td>
459
      &nbsp;
460
    </td>
461
    <td>
462
 
463
<p>
464
switch the rendering view for 3D rendering mode.
465
<p>
466
Update curent internal camera parameters for rendering in 3D space. this function complements argDrawMode3D. <dl compact><dt><b>Parameters:</b></dt><dd>
467
  <table border="0" cellspacing="2" cellpadding="0">
468
    <tr><td valign="top"></td><td valign="top"><em>xwin</em>&nbsp;</td><td>length of rendering view (less than window length) </td></tr>
469
    <tr><td valign="top"></td><td valign="top"><em>ywin</em>&nbsp;</td><td>width of rendering view (less than window width) </td></tr>
470
  </table>
471
</dl>
472
    </td>
473
  </tr>
474
</table>
475
<a class="anchor" name="ba72651d7cf51496c9d32526d98274a1"></a><!-- doxytag: member="gsub.h::argDraw3dLeft" ref="ba72651d7cf51496c9d32526d98274a1" args="(void)" --><p>
476
<table class="mdTable" cellpadding="2" cellspacing="0">
477
  <tr>
478
    <td class="mdRow">
479
      <table cellpadding="0" cellspacing="0" border="0">
480
        <tr>
481
          <td class="md" nowrap valign="top">void argDraw3dLeft           </td>
482
          <td class="md" valign="top">(&nbsp;</td>
483
          <td class="md" nowrap valign="top">void&nbsp;</td>
484
          <td class="mdname1" valign="top" nowrap>          </td>
485
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
486
          <td class="md" nowrap></td>
487
        </tr>
488
      </table>
489
    </td>
490
  </tr>
491
</table>
492
<table cellspacing="5" cellpadding="0" border="0">
493
  <tr>
494
    <td>
495
      &nbsp;
496
    </td>
497
    <td>
498
 
499
<p>
500
switch the rendering view to left eye (in 3D space)
501
<p>
502
Update curent internal camera parameters for rendering in 3D space for left eye. this function complements argDrawMode3D.     </td>
503
  </tr>
504
</table>
505
<a class="anchor" name="717841e9678bd2d1004a93c85ec25342"></a><!-- doxytag: member="gsub.h::argDraw3dRight" ref="717841e9678bd2d1004a93c85ec25342" args="(void)" --><p>
506
<table class="mdTable" cellpadding="2" cellspacing="0">
507
  <tr>
508
    <td class="mdRow">
509
      <table cellpadding="0" cellspacing="0" border="0">
510
        <tr>
511
          <td class="md" nowrap valign="top">void argDraw3dRight           </td>
512
          <td class="md" valign="top">(&nbsp;</td>
513
          <td class="md" nowrap valign="top">void&nbsp;</td>
514
          <td class="mdname1" valign="top" nowrap>          </td>
515
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
516
          <td class="md" nowrap></td>
517
        </tr>
518
      </table>
519
    </td>
520
  </tr>
521
</table>
522
<table cellspacing="5" cellpadding="0" border="0">
523
  <tr>
524
    <td>
525
      &nbsp;
526
    </td>
527
    <td>
528
 
529
<p>
530
switch the rendering view to right eye (in 3D space)
531
<p>
532
Update curent internal camera parameters for rendering in 3D space for left eye. this function complements argDrawMode3D.     </td>
533
  </tr>
534
</table>
535
<a class="anchor" name="775b7707fe234f852d5396af710c57ee"></a><!-- doxytag: member="gsub.h::argDrawMode2D" ref="775b7707fe234f852d5396af710c57ee" args="(void)" --><p>
536
<table class="mdTable" cellpadding="2" cellspacing="0">
537
  <tr>
538
    <td class="mdRow">
539
      <table cellpadding="0" cellspacing="0" border="0">
540
        <tr>
541
          <td class="md" nowrap valign="top">void argDrawMode2D           </td>
542
          <td class="md" valign="top">(&nbsp;</td>
543
          <td class="md" nowrap valign="top">void&nbsp;</td>
544
          <td class="mdname1" valign="top" nowrap>          </td>
545
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
546
          <td class="md" nowrap></td>
547
        </tr>
548
      </table>
549
    </td>
550
  </tr>
551
</table>
552
<table cellspacing="5" cellpadding="0" border="0">
553
  <tr>
554
    <td>
555
      &nbsp;
556
    </td>
557
    <td>
558
 
559
<p>
560
switch the rendering context for 2D rendering mode.
561
<p>
562
Update curent camera parameters (internal and external) for rendering 2D or 3D objects in the view plane (like text or 2D shape). This function define an orthographic projection in the image plane. It not define opengl state for rendering in image space (like for a bitmap copy).     </td>
563
  </tr>
564
</table>
565
<a class="anchor" name="febfa81543ec199ecfc5a2eff531e96c"></a><!-- doxytag: member="gsub.h::argDrawMode3D" ref="febfa81543ec199ecfc5a2eff531e96c" args="(void)" --><p>
566
<table class="mdTable" cellpadding="2" cellspacing="0">
567
  <tr>
568
    <td class="mdRow">
569
      <table cellpadding="0" cellspacing="0" border="0">
570
        <tr>
571
          <td class="md" nowrap valign="top">void argDrawMode3D           </td>
572
          <td class="md" valign="top">(&nbsp;</td>
573
          <td class="md" nowrap valign="top">void&nbsp;</td>
574
          <td class="mdname1" valign="top" nowrap>          </td>
575
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
576
          <td class="md" nowrap></td>
577
        </tr>
578
      </table>
579
    </td>
580
  </tr>
581
</table>
582
<table cellspacing="5" cellpadding="0" border="0">
583
  <tr>
584
    <td>
585
      &nbsp;
586
    </td>
587
    <td>
588
 
589
<p>
590
switch the rendering context for 3D rendering mode.
591
<p>
592
Update curent camera parameters for rendering in 3D space. Generally call to reinializing model view matrix.     </td>
593
  </tr>
594
</table>
595
<a class="anchor" name="080aba5b0fe8fbd17860054219748886"></a><!-- doxytag: member="gsub.h::argDrawSquare" ref="080aba5b0fe8fbd17860054219748886" args="(double vertex[4][2], int xwin, int ywin)" --><p>
596
<table class="mdTable" cellpadding="2" cellspacing="0">
597
  <tr>
598
    <td class="mdRow">
599
      <table cellpadding="0" cellspacing="0" border="0">
600
        <tr>
601
          <td class="md" nowrap valign="top">void argDrawSquare           </td>
602
          <td class="md" valign="top">(&nbsp;</td>
603
          <td class="md" nowrap valign="top">double&nbsp;</td>
604
          <td class="mdname" nowrap> <em>vertex</em>[4][2], </td>
605
        </tr>
606
        <tr>
607
          <td class="md" nowrap align="right"></td>
608
          <td class="md"></td>
609
          <td class="md" nowrap>int&nbsp;</td>
610
          <td class="mdname" nowrap> <em>xwin</em>, </td>
611
        </tr>
612
        <tr>
613
          <td class="md" nowrap align="right"></td>
614
          <td class="md"></td>
615
          <td class="md" nowrap>int&nbsp;</td>
616
          <td class="mdname" nowrap> <em>ywin</em></td>
617
        </tr>
618
        <tr>
619
          <td class="md"></td>
620
          <td class="md">)&nbsp;</td>
621
          <td class="md" colspan="2"></td>
622
        </tr>
623
      </table>
624
    </td>
625
  </tr>
626
</table>
627
<table cellspacing="5" cellpadding="0" border="0">
628
  <tr>
629
    <td>
630
      &nbsp;
631
    </td>
632
    <td>
633
 
634
<p>
635
draw a 2D square.
636
<p>
637
Draw a square. The position of the square is affected by openGL model view matrix and call to argDrawMode2D argDrawMode3D. Generally call in a 2D mode (so after a argDrawMode2D).<p>
638
<dl compact><dt><b>Parameters:</b></dt><dd>
639
  <table border="0" cellspacing="2" cellpadding="0">
640
    <tr><td valign="top"></td><td valign="top"><em>vertex</em>&nbsp;</td><td>corner of square. </td></tr>
641
    <tr><td valign="top"></td><td valign="top"><em>xwin</em>&nbsp;</td><td>XXXBK </td></tr>
642
    <tr><td valign="top"></td><td valign="top"><em>ywin</em>&nbsp;</td><td>XXXBK </td></tr>
643
  </table>
644
</dl>
645
    </td>
646
  </tr>
647
</table>
648
<a class="anchor" name="07b1fb9faa954efc65f5d2b8f6f637e6"></a><!-- doxytag: member="gsub.h::argInit" ref="07b1fb9faa954efc65f5d2b8f6f637e6" args="(ARParam *cparam, double zoom, int fullFlag, int xwin, int ywin, int hmd_flag)" --><p>
649
<table class="mdTable" cellpadding="2" cellspacing="0">
650
  <tr>
651
    <td class="mdRow">
652
      <table cellpadding="0" cellspacing="0" border="0">
653
        <tr>
654
          <td class="md" nowrap valign="top">argInit           </td>
655
          <td class="md" valign="top">(&nbsp;</td>
656
          <td class="md" nowrap valign="top"><a class="el" href="structARParam.html">ARParam</a> *&nbsp;</td>
657
          <td class="mdname" nowrap> <em>cparam</em>, </td>
658
        </tr>
659
        <tr>
660
          <td class="md" nowrap align="right"></td>
661
          <td class="md"></td>
662
          <td class="md" nowrap>double&nbsp;</td>
663
          <td class="mdname" nowrap> <em>zoom</em>, </td>
664
        </tr>
665
        <tr>
666
          <td class="md" nowrap align="right"></td>
667
          <td class="md"></td>
668
          <td class="md" nowrap>int&nbsp;</td>
669
          <td class="mdname" nowrap> <em>fullFlag</em>, </td>
670
        </tr>
671
        <tr>
672
          <td class="md" nowrap align="right"></td>
673
          <td class="md"></td>
674
          <td class="md" nowrap>int&nbsp;</td>
675
          <td class="mdname" nowrap> <em>xwin</em>, </td>
676
        </tr>
677
        <tr>
678
          <td class="md" nowrap align="right"></td>
679
          <td class="md"></td>
680
          <td class="md" nowrap>int&nbsp;</td>
681
          <td class="mdname" nowrap> <em>ywin</em>, </td>
682
        </tr>
683
        <tr>
684
          <td class="md" nowrap align="right"></td>
685
          <td class="md"></td>
686
          <td class="md" nowrap>int&nbsp;</td>
687
          <td class="mdname" nowrap> <em>hmd_flag</em></td>
688
        </tr>
689
        <tr>
690
          <td class="md"></td>
691
          <td class="md">)&nbsp;</td>
692
          <td class="md" colspan="2"></td>
693
        </tr>
694
      </table>
695
    </td>
696
  </tr>
697
</table>
698
<table cellspacing="5" cellpadding="0" border="0">
699
  <tr>
700
    <td>
701
      &nbsp;
702
    </td>
703
    <td>
704
 
705
<p>
706
Initialise the gsub library.
707
<p>
708
This function performs required initialisation of the gsub library. It must be called before any other argl*() functions are called. <dl compact><dt><b>Parameters:</b></dt><dd>
709
  <table border="0" cellspacing="2" cellpadding="0">
710
    <tr><td valign="top"></td><td valign="top"><em>cparam</em>&nbsp;</td><td>the intrinsics parameters of the camera (used to defined openGL perspective matrix) </td></tr>
711
    <tr><td valign="top"></td><td valign="top"><em>zoom</em>&nbsp;</td><td>defined a zoom parameter for the final result. </td></tr>
712
    <tr><td valign="top"></td><td valign="top"><em>fullFlag</em>&nbsp;</td><td>full screen mode (1 enable, 0 disable). </td></tr>
713
    <tr><td valign="top"></td><td valign="top"><em>xwin</em>&nbsp;</td><td>XXXBK. 0 if indifferent. </td></tr>
714
    <tr><td valign="top"></td><td valign="top"><em>ywin</em>&nbsp;</td><td>XXXBK. 0 if indifferent. </td></tr>
715
    <tr><td valign="top"></td><td valign="top"><em>hmd_flag</em>&nbsp;</td><td>enable stereo display mode (only interleaved configuration) </td></tr>
716
  </table>
717
</dl>
718
    </td>
719
  </tr>
720
</table>
721
<a class="anchor" name="fc546eb5e187fe05444fa2cdf2497a1d"></a><!-- doxytag: member="gsub.h::argInqSetting" ref="fc546eb5e187fe05444fa2cdf2497a1d" args="(int *hmdMode, int *gMiniXnum2, int *gMiniYnum2, void(**mouseFunc)(int button, int state, int x, int y), void(**keyFunc)(unsigned char key, int x, int y), void(**mainFunc)(void))" --><p>
722
<table class="mdTable" cellpadding="2" cellspacing="0">
723
  <tr>
724
    <td class="mdRow">
725
      <table cellpadding="0" cellspacing="0" border="0">
726
        <tr>
727
          <td class="md" nowrap valign="top">argInqSetting           </td>
728
          <td class="md" valign="top">(&nbsp;</td>
729
          <td class="md" nowrap valign="top">int *&nbsp;</td>
730
          <td class="mdname" nowrap> <em>hmdMode</em>, </td>
731
        </tr>
732
        <tr>
733
          <td class="md" nowrap align="right"></td>
734
          <td class="md"></td>
735
          <td class="md" nowrap>int *&nbsp;</td>
736
          <td class="mdname" nowrap> <em>gMiniXnum2</em>, </td>
737
        </tr>
738
        <tr>
739
          <td class="md" nowrap align="right"></td>
740
          <td class="md"></td>
741
          <td class="md" nowrap>int *&nbsp;</td>
742
          <td class="mdname" nowrap> <em>gMiniYnum2</em>, </td>
743
        </tr>
744
        <tr>
745
          <td class="md" nowrap align="right"></td>
746
          <td class="md"></td>
747
          <td class="md" nowrap>void(**)(int button, int state, int x, int y)&nbsp;</td>
748
          <td class="mdname" nowrap> <em>mouseFunc</em>, </td>
749
        </tr>
750
        <tr>
751
          <td class="md" nowrap align="right"></td>
752
          <td class="md"></td>
753
          <td class="md" nowrap>void(**)(unsigned char key, int x, int y)&nbsp;</td>
754
          <td class="mdname" nowrap> <em>keyFunc</em>, </td>
755
        </tr>
756
        <tr>
757
          <td class="md" nowrap align="right"></td>
758
          <td class="md"></td>
759
          <td class="md" nowrap>void(**)(void)&nbsp;</td>
760
          <td class="mdname" nowrap> <em>mainFunc</em></td>
761
        </tr>
762
        <tr>
763
          <td class="md"></td>
764
          <td class="md">)&nbsp;</td>
765
          <td class="md" colspan="2"></td>
766
        </tr>
767
      </table>
768
    </td>
769
  </tr>
770
</table>
771
<table cellspacing="5" cellpadding="0" border="0">
772
  <tr>
773
    <td>
774
      &nbsp;
775
    </td>
776
    <td>
777
 
778
<p>
779
Get current configuration of gsub library.
780
<p>
781
Retrieve current state of gsub library like the current callback functions. <dl compact><dt><b>Parameters:</b></dt><dd>
782
  <table border="0" cellspacing="2" cellpadding="0">
783
    <tr><td valign="top"></td><td valign="top"><em>hmdMode</em>&nbsp;</td><td>the current hmdMode </td></tr>
784
    <tr><td valign="top"></td><td valign="top"><em>gMiniXnum2</em>&nbsp;</td><td>XXXBK </td></tr>
785
    <tr><td valign="top"></td><td valign="top"><em>gMiniYnum2</em>&nbsp;</td><td>XXXBK </td></tr>
786
    <tr><td valign="top"></td><td valign="top"><em>mouseFunc</em>&nbsp;</td><td>the current mouse function callback </td></tr>
787
    <tr><td valign="top"></td><td valign="top"><em>keyFunc</em>&nbsp;</td><td>the current key function callback </td></tr>
788
    <tr><td valign="top"></td><td valign="top"><em>mainFunc</em>&nbsp;</td><td>the current main function callback </td></tr>
789
  </table>
790
</dl>
791
    </td>
792
  </tr>
793
</table>
794
<a class="anchor" name="60316a9ecea4aafb8412fd4e649e9bd2"></a><!-- doxytag: member="gsub.h::argLineSeg" ref="60316a9ecea4aafb8412fd4e649e9bd2" args="(double x1, double y1, double x2, double y2, int xwin, int ywin)" --><p>
795
<table class="mdTable" cellpadding="2" cellspacing="0">
796
  <tr>
797
    <td class="mdRow">
798
      <table cellpadding="0" cellspacing="0" border="0">
799
        <tr>
800
          <td class="md" nowrap valign="top">void argLineSeg           </td>
801
          <td class="md" valign="top">(&nbsp;</td>
802
          <td class="md" nowrap valign="top">double&nbsp;</td>
803
          <td class="mdname" nowrap> <em>x1</em>, </td>
804
        </tr>
805
        <tr>
806
          <td class="md" nowrap align="right"></td>
807
          <td class="md"></td>
808
          <td class="md" nowrap>double&nbsp;</td>
809
          <td class="mdname" nowrap> <em>y1</em>, </td>
810
        </tr>
811
        <tr>
812
          <td class="md" nowrap align="right"></td>
813
          <td class="md"></td>
814
          <td class="md" nowrap>double&nbsp;</td>
815
          <td class="mdname" nowrap> <em>x2</em>, </td>
816
        </tr>
817
        <tr>
818
          <td class="md" nowrap align="right"></td>
819
          <td class="md"></td>
820
          <td class="md" nowrap>double&nbsp;</td>
821
          <td class="mdname" nowrap> <em>y2</em>, </td>
822
        </tr>
823
        <tr>
824
          <td class="md" nowrap align="right"></td>
825
          <td class="md"></td>
826
          <td class="md" nowrap>int&nbsp;</td>
827
          <td class="mdname" nowrap> <em>xwin</em>, </td>
828
        </tr>
829
        <tr>
830
          <td class="md" nowrap align="right"></td>
831
          <td class="md"></td>
832
          <td class="md" nowrap>int&nbsp;</td>
833
          <td class="mdname" nowrap> <em>ywin</em></td>
834
        </tr>
835
        <tr>
836
          <td class="md"></td>
837
          <td class="md">)&nbsp;</td>
838
          <td class="md" colspan="2"></td>
839
        </tr>
840
      </table>
841
    </td>
842
  </tr>
843
</table>
844
<table cellspacing="5" cellpadding="0" border="0">
845
  <tr>
846
    <td>
847
      &nbsp;
848
    </td>
849
    <td>
850
 
851
<p>
852
Draw a line.
853
<p>
854
Draw a segment.T The position of the line is affected by openGL model view matrix and call to argDrawMode2D argDrawMode3D. Generally call in a 2D mode (so after a argDrawMode2D). <dl compact><dt><b>Parameters:</b></dt><dd>
855
  <table border="0" cellspacing="2" cellpadding="0">
856
    <tr><td valign="top"></td><td valign="top"><em>x1</em>&nbsp;</td><td>x position of the first point. </td></tr>
857
    <tr><td valign="top"></td><td valign="top"><em>y1</em>&nbsp;</td><td>y position of the first point. </td></tr>
858
    <tr><td valign="top"></td><td valign="top"><em>x2</em>&nbsp;</td><td>x position of the second point. </td></tr>
859
    <tr><td valign="top"></td><td valign="top"><em>y2</em>&nbsp;</td><td>y position of the second point. </td></tr>
860
    <tr><td valign="top"></td><td valign="top"><em>xwin</em>&nbsp;</td><td>XXXBK </td></tr>
861
    <tr><td valign="top"></td><td valign="top"><em>ywin</em>&nbsp;</td><td>XXXBK </td></tr>
862
  </table>
863
</dl>
864
    </td>
865
  </tr>
866
</table>
867
<a class="anchor" name="78573aefc43aca8294907df3181b35e6"></a><!-- doxytag: member="gsub.h::argLineSegHMD" ref="78573aefc43aca8294907df3181b35e6" args="(double x1, double y1, double x2, double y2)" --><p>
868
<table class="mdTable" cellpadding="2" cellspacing="0">
869
  <tr>
870
    <td class="mdRow">
871
      <table cellpadding="0" cellspacing="0" border="0">
872
        <tr>
873
          <td class="md" nowrap valign="top">void argLineSegHMD           </td>
874
          <td class="md" valign="top">(&nbsp;</td>
875
          <td class="md" nowrap valign="top">double&nbsp;</td>
876
          <td class="mdname" nowrap> <em>x1</em>, </td>
877
        </tr>
878
        <tr>
879
          <td class="md" nowrap align="right"></td>
880
          <td class="md"></td>
881
          <td class="md" nowrap>double&nbsp;</td>
882
          <td class="mdname" nowrap> <em>y1</em>, </td>
883
        </tr>
884
        <tr>
885
          <td class="md" nowrap align="right"></td>
886
          <td class="md"></td>
887
          <td class="md" nowrap>double&nbsp;</td>
888
          <td class="mdname" nowrap> <em>x2</em>, </td>
889
        </tr>
890
        <tr>
891
          <td class="md" nowrap align="right"></td>
892
          <td class="md"></td>
893
          <td class="md" nowrap>double&nbsp;</td>
894
          <td class="mdname" nowrap> <em>y2</em></td>
895
        </tr>
896
        <tr>
897
          <td class="md"></td>
898
          <td class="md">)&nbsp;</td>
899
          <td class="md" colspan="2"></td>
900
        </tr>
901
      </table>
902
    </td>
903
  </tr>
904
</table>
905
<table cellspacing="5" cellpadding="0" border="0">
906
  <tr>
907
    <td>
908
      &nbsp;
909
    </td>
910
    <td>
911
 
912
<p>
913
Draw a line with HMD mode.
914
<p>
915
Draw a segment in HMD mode. <dl compact><dt><b>Parameters:</b></dt><dd>
916
  <table border="0" cellspacing="2" cellpadding="0">
917
    <tr><td valign="top"></td><td valign="top"><em>x1</em>&nbsp;</td><td>x position of the first point. </td></tr>
918
    <tr><td valign="top"></td><td valign="top"><em>y1</em>&nbsp;</td><td>y position of the first point. </td></tr>
919
    <tr><td valign="top"></td><td valign="top"><em>x2</em>&nbsp;</td><td>x position of the second point. </td></tr>
920
    <tr><td valign="top"></td><td valign="top"><em>y2</em>&nbsp;</td><td>y position of the second point. </td></tr>
921
  </table>
922
</dl>
923
    </td>
924
  </tr>
925
</table>
926
<a class="anchor" name="ba68fd6b469c9e7d49ec6790c6620ade"></a><!-- doxytag: member="gsub.h::argLoadHMDparam" ref="ba68fd6b469c9e7d49ec6790c6620ade" args="(ARParam *lparam, ARParam *rparam)" --><p>
927
<table class="mdTable" cellpadding="2" cellspacing="0">
928
  <tr>
929
    <td class="mdRow">
930
      <table cellpadding="0" cellspacing="0" border="0">
931
        <tr>
932
          <td class="md" nowrap valign="top">void argLoadHMDparam           </td>
933
          <td class="md" valign="top">(&nbsp;</td>
934
          <td class="md" nowrap valign="top"><a class="el" href="structARParam.html">ARParam</a> *&nbsp;</td>
935
          <td class="mdname" nowrap> <em>lparam</em>, </td>
936
        </tr>
937
        <tr>
938
          <td class="md" nowrap align="right"></td>
939
          <td class="md"></td>
940
          <td class="md" nowrap><a class="el" href="structARParam.html">ARParam</a> *&nbsp;</td>
941
          <td class="mdname" nowrap> <em>rparam</em></td>
942
        </tr>
943
        <tr>
944
          <td class="md"></td>
945
          <td class="md">)&nbsp;</td>
946
          <td class="md" colspan="2"></td>
947
        </tr>
948
      </table>
949
    </td>
950
  </tr>
951
</table>
952
<table cellspacing="5" cellpadding="0" border="0">
953
  <tr>
954
    <td>
955
      &nbsp;
956
    </td>
957
    <td>
958
 
959
<p>
960
initialize camera for HMD.
961
<p>
962
Load in the display module the intrinsic parameters of the two view, i.e camera (identify to the eyes).<p>
963
<dl compact><dt><b>Parameters:</b></dt><dd>
964
  <table border="0" cellspacing="2" cellpadding="0">
965
    <tr><td valign="top"></td><td valign="top"><em>lparam</em>&nbsp;</td><td>parameter of left camera </td></tr>
966
    <tr><td valign="top"></td><td valign="top"><em>rparam</em>&nbsp;</td><td>parameter of right camera </td></tr>
967
  </table>
968
</dl>
969
    </td>
970
  </tr>
971
</table>
972
<a class="anchor" name="193601121350fe3bbd11ee54ed1b8067"></a><!-- doxytag: member="gsub.h::argMainLoop" ref="193601121350fe3bbd11ee54ed1b8067" args="(void(*mouseFunc)(int button, int state, int x, int y), void(*keyFunc)(unsigned char key, int x, int y), void(*mainFunc)(void))" --><p>
973
<table class="mdTable" cellpadding="2" cellspacing="0">
974
  <tr>
975
    <td class="mdRow">
976
      <table cellpadding="0" cellspacing="0" border="0">
977
        <tr>
978
          <td class="md" nowrap valign="top">void argMainLoop           </td>
979
          <td class="md" valign="top">(&nbsp;</td>
980
          <td class="md" nowrap valign="top">void(*)(int button, int state, int x, int y)&nbsp;</td>
981
          <td class="mdname" nowrap> <em>mouseFunc</em>, </td>
982
        </tr>
983
        <tr>
984
          <td class="md" nowrap align="right"></td>
985
          <td class="md"></td>
986
          <td class="md" nowrap>void(*)(unsigned char key, int x, int y)&nbsp;</td>
987
          <td class="mdname" nowrap> <em>keyFunc</em>, </td>
988
        </tr>
989
        <tr>
990
          <td class="md" nowrap align="right"></td>
991
          <td class="md"></td>
992
          <td class="md" nowrap>void(*)(void)&nbsp;</td>
993
          <td class="mdname" nowrap> <em>mainFunc</em></td>
994
        </tr>
995
        <tr>
996
          <td class="md"></td>
997
          <td class="md">)&nbsp;</td>
998
          <td class="md" colspan="2"></td>
999
        </tr>
1000
      </table>
1001
    </td>
1002
  </tr>
1003
</table>
1004
<table cellspacing="5" cellpadding="0" border="0">
1005
  <tr>
1006
    <td>
1007
      &nbsp;
1008
    </td>
1009
    <td>
1010
 
1011
<p>
1012
start the program main loop with specified callback functions.
1013
<p>
1014
This function is called in the entry block of a program. User specify the main callback of his program. Users should not put routines calls after this function, generally never accessible. <dl compact><dt><b>Parameters:</b></dt><dd>
1015
  <table border="0" cellspacing="2" cellpadding="0">
1016
    <tr><td valign="top"></td><td valign="top"><em>mouseFunc</em>&nbsp;</td><td>the user mouse function can be NULL. </td></tr>
1017
    <tr><td valign="top"></td><td valign="top"><em>keyFunc</em>&nbsp;</td><td>the user keyboard function can be NULL. </td></tr>
1018
    <tr><td valign="top"></td><td valign="top"><em>mainFunc</em>&nbsp;</td><td>the user main update function can be NULL. </td></tr>
1019
  </table>
1020
</dl>
1021
    </td>
1022
  </tr>
1023
</table>
1024
<a class="anchor" name="2ef8e50a5259c7f0656e59a7d95902f7"></a><!-- doxytag: member="gsub.h::argSwapBuffers" ref="2ef8e50a5259c7f0656e59a7d95902f7" args="(void)" --><p>
1025
<table class="mdTable" cellpadding="2" cellspacing="0">
1026
  <tr>
1027
    <td class="mdRow">
1028
      <table cellpadding="0" cellspacing="0" border="0">
1029
        <tr>
1030
          <td class="md" nowrap valign="top">void argSwapBuffers           </td>
1031
          <td class="md" valign="top">(&nbsp;</td>
1032
          <td class="md" nowrap valign="top">void&nbsp;</td>
1033
          <td class="mdname1" valign="top" nowrap>          </td>
1034
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
1035
          <td class="md" nowrap></td>
1036
        </tr>
1037
      </table>
1038
    </td>
1039
  </tr>
1040
</table>
1041
<table cellspacing="5" cellpadding="0" border="0">
1042
  <tr>
1043
    <td>
1044
      &nbsp;
1045
    </td>
1046
    <td>
1047
 
1048
<p>
1049
swap the rendering buffer.
1050
<p>
1051
Swap the back-buffer to the front-buffer. the pre-condition is that all the rendering functions have been called.     </td>
1052
  </tr>
1053
</table>
1054
<hr><h2>Variable Documentation</h2>
1055
<a class="anchor" name="ab99b6f68f69ee43f4d0abdae66222fe"></a><!-- doxytag: member="gsub.h::argDrawMode" ref="ab99b6f68f69ee43f4d0abdae66222fe" args="" --><p>
1056
<table class="mdTable" cellpadding="2" cellspacing="0">
1057
  <tr>
1058
    <td class="mdRow">
1059
      <table cellpadding="0" cellspacing="0" border="0">
1060
        <tr>
1061
          <td class="md" nowrap valign="top">int <a class="el" href="gsub_8h.html#ab99b6f68f69ee43f4d0abdae66222fe">argDrawMode</a>          </td>
1062
        </tr>
1063
      </table>
1064
    </td>
1065
  </tr>
1066
</table>
1067
<table cellspacing="5" cellpadding="0" border="0">
1068
  <tr>
1069
    <td>
1070
      &nbsp;
1071
    </td>
1072
    <td>
1073
 
1074
<p>
1075
define the draw configuration mode.
1076
<p>
1077
Define the draw mode for display of the video background. The possible values are :<ul>
1078
<li>AR_DRAW_BY_GL_DRAW_PIXELS: use the GL_DRAW_PIXELS function</li><li>AR_DRAW_BY_TEXTURE_MAPPING: use a quad mesh with a texture mapping of the video. by default: DEFAULT_DRAW_MODE in config.h  choice and performance depends on your hardware and your openGL driver. </li></ul>
1079
    </td>
1080
  </tr>
1081
</table>
1082
<a class="anchor" name="21740edb5e673518101442e9428c0cff"></a><!-- doxytag: member="gsub.h::argTexmapMode" ref="21740edb5e673518101442e9428c0cff" args="" --><p>
1083
<table class="mdTable" cellpadding="2" cellspacing="0">
1084
  <tr>
1085
    <td class="mdRow">
1086
      <table cellpadding="0" cellspacing="0" border="0">
1087
        <tr>
1088
          <td class="md" nowrap valign="top">int <a class="el" href="gsub_8h.html#21740edb5e673518101442e9428c0cff">argTexmapMode</a>          </td>
1089
        </tr>
1090
      </table>
1091
    </td>
1092
  </tr>
1093
</table>
1094
<table cellspacing="5" cellpadding="0" border="0">
1095
  <tr>
1096
    <td>
1097
      &nbsp;
1098
    </td>
1099
    <td>
1100
 
1101
<p>
1102
define the texture map configuration mode.
1103
<p>
1104
If the draw mode is AR_DRAW_BY_TEXTURE_MAPPING, you can configure the copy mode of the texture mapping. The possible values are :<ul>
1105
<li>AR_DRAW_TEXTURE_FULL_IMAGE: texture mapping full resolution.</li><li>AR_DRAW_TEXTURE_HALF_IMAGE: texture mapping half resolution. by default: DEFAULT_DRAW_TEXTURE_IMAGE in config.h </li></ul>
1106
    </td>
1107
  </tr>
1108
</table>
1109
 
1110
        <small>Generated with <a href="http://www.doxygen.org/index.html">Doxygen</a><br>
1111
        Copyright © 2004-2006. HIT Lab NZ. All Rights Reserved.</small>
1112
        </body>
1113
</html>