Subversion Repositories AndroidProjects

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
204 chris 1
#ifndef AR_CONFIG_H
2
#define AR_CONFIG_H
3
 
4
//
5
// As of version 2.72, ARToolKit supports an OpenGL-like
6
// versioning system, with both header versions (for the version
7
// of the ARToolKit SDK installed) and runtime version reporting
8
// via arGetVersion().
9
//
10
 
11
// The MAJOR version number defines non-backwards compatible
12
// changes in the ARToolKit API. Range: [0-99].
13
#define AR_HEADER_VERSION_MAJOR		2
14
 
15
// The MINOR version number defines additions to the ARToolKit
16
// API, or (occsasionally) other significant backwards-compatible
17
// changes in runtime functionality. Range: [0-99].
18
#define AR_HEADER_VERSION_MINOR		72
19
 
20
// The TINY version number defines bug-fixes to existing
21
// functionality. Range: [0-99].
22
#define AR_HEADER_VERSION_TINY		0
23
 
24
// The BUILD version number will always be zero in releases,
25
// but may be non-zero in internal builds or in version-control
26
// repository-sourced code. Range: [0-99].
27
#define AR_HEADER_VERSION_BUILD		0
28
 
29
// The string representation below must match the major, minor
30
// and tiny release numbers.
31
#define AR_HEADER_VERSION_STRING	"2.72.0"
32
 
33
// The macros below are convenience macros to enable use
34
// of certain ARToolKit header functionality by the release
35
// version in which it appeared.
36
// Each time the major version number is incremented, all
37
// existing macros must be removed, and just one new one
38
// added for the new major version.
39
// Each time the minor version number is incremented, a new
40
// AR_HAVE_HEADER_VERSION_ macro definition must be added.
41
// Tiny version numbers (being bug-fix releases, by definition)
42
// are NOT included in the AR_HAVE_HEADER_VERSION_ system.
43
#define AR_HAVE_HEADER_VERSION_2
44
#define AR_HAVE_HEADER_VERSION_2_72
45
 
46
//
47
// End version definitions.
48
//
49
 
50
#define AR_PIXEL_FORMAT_RGB 1
51
#define AR_PIXEL_FORMAT_BGR 2
52
#define AR_PIXEL_FORMAT_RGBA 3
53
#define AR_PIXEL_FORMAT_BGRA 4
54
#define AR_PIXEL_FORMAT_ABGR 5
55
#define AR_PIXEL_FORMAT_MONO 6
56
#define AR_PIXEL_FORMAT_ARGB 7
57
#define AR_PIXEL_FORMAT_2vuy 8
58
#define AR_PIXEL_FORMAT_UYVY AR_PIXEL_FORMAT_2vuy
59
#define AR_PIXEL_FORMAT_yuvs 9
60
#define AR_PIXEL_FORMAT_YUY2 AR_PIXEL_FORMAT_yuvs
61
 
62
/*--------------------------------------------------------------*/
63
/*                                                              */
64
/*  For Linux, you should define one of below 4 input method    */
65
/*    AR_INPUT_V4L:       use of standard Video4Linux Library   */
66
/*    AR_INPUT_GSTREAMER: use of GStreamer Media Framework      */
67
/*    AR_INPUT_DV:        use of DV Camera                      */
68
/*    AR_INPUT_1394CAM:   use of 1394 Digital Camera            */
69
/*                                                              */
70
/*--------------------------------------------------------------*/
71
#ifdef __linux
72
#undef  AR_INPUT_V4L
73
#undef  AR_INPUT_DV
74
#undef  AR_INPUT_1394CAM
75
#undef  AR_INPUT_GSTREAMER
76
 
77
#  ifdef AR_INPUT_V4L
78
#    ifdef USE_EYETOY
79
#      define AR_DEFAULT_PIXEL_FORMAT AR_PIXEL_FORMAT_RGB
80
#    else
81
#      define AR_DEFAULT_PIXEL_FORMAT AR_PIXEL_FORMAT_BGR
82
#    endif
83
#  endif
84
 
85
#  ifdef AR_INPUT_DV
86
#    define  AR_DEFAULT_PIXEL_FORMAT AR_PIXEL_FORMAT_RGB
87
#  endif
88
 
89
#  ifdef AR_INPUT_1394CAM
90
#    define  AR_DEFAULT_PIXEL_FORMAT AR_PIXEL_FORMAT_RGB
91
#  endif
92
 
93
#  ifdef AR_INPUT_GSTREAMER
94
#    define  AR_DEFAULT_PIXEL_FORMAT AR_PIXEL_FORMAT_RGB
95
#  endif
96
 
97
#  undef   AR_BIG_ENDIAN
98
#  define  AR_LITTLE_ENDIAN
99
#endif
100
 
101
 
102
/*------------------------------------------------------------*/
103
/*  For SGI                                                   */
104
/*------------------------------------------------------------*/
105
#ifdef __sgi
106
#  define  AR_BIG_ENDIAN
107
#  undef   AR_LITTLE_ENDIAN
108
#  define  AR_DEFAULT_PIXEL_FORMAT AR_PIXEL_FORMAT_ABGR
109
#endif
110
 
111
/*------------------------------------------------------------*/
112
/*  For Windows                                               */
113
/*------------------------------------------------------------*/
114
#ifdef _WIN32
115
#  undef   AR_BIG_ENDIAN
116
#  define  AR_LITTLE_ENDIAN
117
#  define  AR_DEFAULT_PIXEL_FORMAT AR_PIXEL_FORMAT_BGRA
118
#endif
119
 
120
/*------------------------------------------------------------*/
121
/*  For Mac OS X                                              */
122
/*------------------------------------------------------------*/
123
#ifdef __APPLE__
124
#  if defined(__BIG_ENDIAN__) // Check architecture endianess using gcc's macro.
125
#    define  AR_BIG_ENDIAN  // Most Significant Byte has greatest address in memory (ppc).
126
#    undef   AR_LITTLE_ENDIAN
127
#  elif defined (__LITTLE_ENDIAN__)
128
#    undef   AR_BIG_ENDIAN   // Least significant Byte has greatest address in memory (i386).
129
#    define  AR_LITTLE_ENDIAN
130
#  endif
131
#  define  AR_DEFAULT_PIXEL_FORMAT AR_PIXEL_FORMAT_ARGB
132
#endif
133
 
134
 
135
/*------------------------------------------------------------*/
136
 
137
#define  AR_DRAW_BY_GL_DRAW_PIXELS    0
138
#define  AR_DRAW_BY_TEXTURE_MAPPING   1
139
#define  AR_DRAW_TEXTURE_FULL_IMAGE   0
140
#define  AR_DRAW_TEXTURE_HALF_IMAGE   1
141
#define  AR_IMAGE_PROC_IN_FULL        0
142
#define  AR_IMAGE_PROC_IN_HALF        1
143
#define  AR_FITTING_TO_IDEAL          0
144
#define  AR_FITTING_TO_INPUT          1
145
 
146
#define  AR_TEMPLATE_MATCHING_COLOR   0
147
#define  AR_TEMPLATE_MATCHING_BW      1
148
#define  AR_MATCHING_WITHOUT_PCA      0
149
#define  AR_MATCHING_WITH_PCA         1
150
#define  DEFAULT_TEMPLATE_MATCHING_MODE     AR_TEMPLATE_MATCHING_COLOR
151
#define  DEFAULT_MATCHING_PCA_MODE          AR_MATCHING_WITHOUT_PCA
152
 
153
 
154
#ifdef __linux
155
#  ifdef AR_INPUT_V4L
156
#    define   VIDEO_MODE_PAL              0
157
#    define   VIDEO_MODE_NTSC             1
158
#    define   VIDEO_MODE_SECAM            2
159
#    define   DEFAULT_VIDEO_DEVICE        "/dev/video0"
160
#    define   DEFAULT_VIDEO_WIDTH         640
161
#    define   DEFAULT_VIDEO_HEIGHT        480
162
#    define   DEFAULT_VIDEO_CHANNEL       1
163
#    define   DEFAULT_VIDEO_MODE          VIDEO_MODE_NTSC
164
#  endif
165
 
166
#  ifdef AR_INPUT_DV
167
/* Defines all moved into video.c now - they are not used anywhere else */
168
#  endif
169
 
170
#  ifdef AR_INPUT_1394CAM
171
/* Defines all moved into video.c now - they are not used anywhere else */
172
#  endif
173
 
174
#  define   DEFAULT_IMAGE_PROC_MODE     AR_IMAGE_PROC_IN_FULL
175
#  define   DEFAULT_FITTING_MODE        AR_FITTING_TO_IDEAL
176
#  define   DEFAULT_DRAW_MODE           AR_DRAW_BY_TEXTURE_MAPPING
177
#  define   DEFAULT_DRAW_TEXTURE_IMAGE  AR_DRAW_TEXTURE_HALF_IMAGE
178
#endif
179
 
180
#ifdef __sgi
181
#  define   VIDEO_FULL                  0
182
#  define   VIDEO_HALF                  1
183
#  define   DEFAULT_VIDEO_SIZE          VIDEO_FULL
184
#  define   DEFAULT_IMAGE_PROC_MODE     AR_IMAGE_PROC_IN_FULL
185
#  define   DEFAULT_FITTING_MODE        AR_FITTING_TO_INPUT
186
#  define   DEFAULT_DRAW_MODE           AR_DRAW_BY_GL_DRAW_PIXELS
187
#  define   DEFAULT_DRAW_TEXTURE_IMAGE  AR_DRAW_TEXTURE_HALF_IMAGE
188
#endif
189
 
190
#ifdef _WIN32
191
#  define   DEFAULT_IMAGE_PROC_MODE     AR_IMAGE_PROC_IN_FULL
192
#  define   DEFAULT_FITTING_MODE        AR_FITTING_TO_INPUT
193
#  define   DEFAULT_DRAW_MODE           AR_DRAW_BY_TEXTURE_MAPPING
194
#  define   DEFAULT_DRAW_TEXTURE_IMAGE  AR_DRAW_TEXTURE_FULL_IMAGE
195
#endif
196
 
197
#ifdef __APPLE__
198
#  define   DEFAULT_VIDEO_WIDTH         640
199
#  define   DEFAULT_VIDEO_HEIGHT        480
200
#  define   DEFAULT_IMAGE_PROC_MODE     AR_IMAGE_PROC_IN_FULL
201
#  define   DEFAULT_FITTING_MODE        AR_FITTING_TO_IDEAL
202
#  define   DEFAULT_DRAW_MODE           AR_DRAW_BY_TEXTURE_MAPPING
203
#  define   DEFAULT_DRAW_TEXTURE_IMAGE  AR_DRAW_TEXTURE_FULL_IMAGE
204
#undef    APPLE_TEXTURE_FAST_TRANSFER
205
#endif
206
 
207
 
208
/*  For NVIDIA OpenGL Driver  */
209
#undef    AR_OPENGL_TEXTURE_RECTANGLE
210
 
211
 
212
 
213
#if (AR_DEFAULT_PIXEL_FORMAT == AR_PIXEL_FORMAT_ABGR) || (AR_DEFAULT_PIXEL_FORMAT == AR_PIXEL_FORMAT_BGRA) || (AR_DEFAULT_PIXEL_FORMAT == AR_PIXEL_FORMAT_RGBA) || (AR_DEFAULT_PIXEL_FORMAT == AR_PIXEL_FORMAT_ARGB)
214
#  define AR_PIX_SIZE_DEFAULT      4
215
#elif (AR_DEFAULT_PIXEL_FORMAT == AR_PIXEL_FORMAT_BGR) || (AR_DEFAULT_PIXEL_FORMAT == AR_PIXEL_FORMAT_RGB)
216
#  define AR_PIX_SIZE_DEFAULT      3
217
#elif (AR_DEFAULT_PIXEL_FORMAT == AR_PIXEL_FORMAT_2vuy) || (AR_DEFAULT_PIXEL_FORMAT == AR_PIXEL_FORMAT_yuvs)
218
#  define AR_PIX_SIZE_DEFAULT      2
219
#elif (AR_DEFAULT_PIXEL_FORMAT == AR_PIXEL_FORMAT_MONO)
220
#  define AR_PIX_SIZE_DEFAULT      1
221
#else
222
#  error Unknown default pixel format defined in config.h.
223
#endif
224
 
225
 
226
#define   AR_GET_TRANS_MAT_MAX_LOOP_COUNT         5
227
#define   AR_GET_TRANS_MAT_MAX_FIT_ERROR          1.0
228
#define   AR_GET_TRANS_CONT_MAT_MAX_FIT_ERROR     1.0
229
 
230
#define   AR_AREA_MAX      100000
231
#define   AR_AREA_MIN          70
232
 
233
 
234
#define   AR_SQUARE_MAX        30
235
#define   AR_CHAIN_MAX      10000
236
#define   AR_PATT_NUM_MAX      50
237
#define   AR_PATT_SIZE_X       16
238
#define   AR_PATT_SIZE_Y       16
239
#define   AR_PATT_SAMPLE_NUM   64
240
 
241
#define   AR_GL_CLIP_NEAR      50.0
242
#define   AR_GL_CLIP_FAR     5000.0
243
 
244
#define   AR_HMD_XSIZE        640
245
#define   AR_HMD_YSIZE        480
246
 
247
#define   AR_PARAM_NMIN         6
248
#define   AR_PARAM_NMAX      1000
249
#define   AR_PARAM_C34        100.0
250
 
251
#endif