ARX  1.0
The next-generation open source augmented reality toolkit.
Loading...
Searching...
No Matches
paramGL.h
Go to the documentation of this file.
1/*
2 * paramGL.h
3 * This file is part of artoolkitX.
4 *
5 * artoolkitX is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * artoolkitX is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with artoolkitX. If not, see <http://www.gnu.org/licenses/>.
17 *
18 * As a special exception, the copyright holders of this library give you
19 * permission to link this library with independent modules to produce an
20 * executable, regardless of the license terms of these independent modules, and to
21 * copy and distribute the resulting executable under terms of your choice,
22 * provided that you also meet, for each linked independent module, the terms and
23 * conditions of the license of that module. An independent module is a module
24 * which is neither derived from nor based on this library. If you modify this
25 * library, you may extend this exception to your version of the library, but you
26 * are not obligated to do so. If you do not wish to do so, delete this exception
27 * statement from your version.
28 *
29 * Copyright 2018 Realmax, Inc.
30 * Copyright 2015-2016 Daqri, LLC.
31 * Copyright 2003-2015 ARToolworks, Inc.
32 *
33 * Author(s): Philip Lamb
34 *
35 */
36
48#ifndef __AR_paramGL_h__
49#define __AR_paramGL_h__
50
51// ============================================================================
52// Public includes.
53// ============================================================================
54
55#include <ARX/AR/ar.h>
56#include <ARX/AR/param.h>
57
58#ifdef __cplusplus
59extern "C" {
60#endif
61
62// ============================================================================
63// Public functions.
64// ============================================================================
65
93AR_EXTERN void arglCameraFrustumRH(const ARParam *cparam, const ARdouble focalmin, const ARdouble focalmax, ARdouble m_projection[16]);
94
119AR_EXTERN void arglCameraViewRH(const ARdouble para[3][4], ARdouble m_modelview[16], const ARdouble scale);
120
121#ifndef ARDOUBLE_IS_FLOAT
122AR_EXTERN void arglCameraFrustumRHf(const ARParam *cparam, const float focalmin, const float focalmax, float m_projection[16]);
123AR_EXTERN void arglCameraViewRHf(float para[3][4], float m_modelview[16], const float scale);
124#else
125#define arglCameraFrustumRHf arglCameraFrustumRH
126#define arglCameraViewRHf arglCameraViewRH
127#endif
128
129
130#ifdef __cplusplus
131}
132#endif
133#endif /* !__AR_paramGL_h__ */
artoolkitX core routines.
double ARdouble
Definition: ar.h:99
#define AR_EXTERN
Definition: ar.h:131
artoolkitX functions for handling calibrated camera parameters.
AR_EXTERN void arglCameraViewRHf(float para[3][4], float m_modelview[16], const float scale)
Definition: paramGL.c:197
AR_EXTERN void arglCameraFrustumRHf(const ARParam *cparam, const float focalmin, const float focalmax, float m_projection[16])
Definition: paramGL.c:137
AR_EXTERN void arglCameraViewRH(const ARdouble para[3][4], ARdouble m_modelview[16], const ARdouble scale)
Create an OpenGL viewing transformation matrix.
Definition: paramGL.c:111
AR_EXTERN void arglCameraFrustumRH(const ARParam *cparam, const ARdouble focalmin, const ARdouble focalmax, ARdouble m_projection[16])
Create an OpenGL perspective projection matrix.
Definition: paramGL.c:51
Structure holding camera parameters, including image size, projection matrix and lens distortion para...
Definition: param.h:99