VR-Vantage 2.8 API Documentation
Home
Modules
Namespaces
Classes
Files
Libraries
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
sensorFx
include
Cg
cgGL.h
Go to the documentation of this file.
1
/*
2
*
3
* Copyright (c) 2002-2010, NVIDIA Corporation.
4
*
5
*
6
*
7
* NVIDIA Corporation("NVIDIA") supplies this software to you in consideration
8
* of your agreement to the following terms, and your use, installation,
9
* modification or redistribution of this NVIDIA software constitutes
10
* acceptance of these terms. If you do not agree with these terms, please do
11
* not use, install, modify or redistribute this NVIDIA software.
12
*
13
*
14
*
15
* In consideration of your agreement to abide by the following terms, and
16
* subject to these terms, NVIDIA grants you a personal, non-exclusive license,
17
* under NVIDIA's copyrights in this original NVIDIA software (the "NVIDIA
18
* Software"), to use, reproduce, modify and redistribute the NVIDIA
19
* Software, with or without modifications, in source and/or binary forms;
20
* provided that if you redistribute the NVIDIA Software, you must retain the
21
* copyright notice of NVIDIA, this notice and the following text and
22
* disclaimers in all such redistributions of the NVIDIA Software. Neither the
23
* name, trademarks, service marks nor logos of NVIDIA Corporation may be used
24
* to endorse or promote products derived from the NVIDIA Software without
25
* specific prior written permission from NVIDIA. Except as expressly stated
26
* in this notice, no other rights or licenses express or implied, are granted
27
* by NVIDIA herein, including but not limited to any patent rights that may be
28
* infringed by your derivative works or by other works in which the NVIDIA
29
* Software may be incorporated. No hardware is licensed hereunder.
30
*
31
*
32
*
33
* THE NVIDIA SOFTWARE IS BEING PROVIDED ON AN "AS IS" BASIS, WITHOUT
34
* WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
35
* WITHOUT LIMITATION, WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
36
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR ITS USE AND OPERATION
37
* EITHER ALONE OR IN COMBINATION WITH OTHER PRODUCTS.
38
*
39
*
40
*
41
* IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL,
42
* EXEMPLARY, CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, LOST
43
* PROFITS; PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
44
* PROFITS; OR BUSINESS INTERRUPTION) OR ARISING IN ANY WAY OUT OF THE USE,
45
* REPRODUCTION, MODIFICATION AND/OR DISTRIBUTION OF THE NVIDIA SOFTWARE,
46
* HOWEVER CAUSED AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING
47
* NEGLIGENCE), STRICT LIABILITY OR OTHERWISE, EVEN IF NVIDIA HAS BEEN ADVISED
48
* OF THE POSSIBILITY OF SUCH DAMAGE.
49
*
50
*/
51
52
#ifndef _cggl_h
53
#define _cggl_h
54
55
#include <
Cg/cg.h
>
56
57
#ifdef _WIN32
58
# ifndef APIENTRY
/* From Win32's <windef.h> */
59
# define CGGL_APIENTRY_DEFINED
60
# if (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED) || defined(__BORLANDC__) || defined(__LCC__)
61
# define APIENTRY __stdcall
62
# else
63
# define APIENTRY
64
# endif
65
# endif
66
# ifndef WINGDIAPI
/* From Win32's <wingdi.h> and <winnt.h> */
67
# define CGGL_WINGDIAPI_DEFINED
68
# define WINGDIAPI __declspec(dllimport)
69
# endif
70
#endif
/* _WIN32 */
71
72
/* Set up for either Win32 import/export/lib. */
73
#ifndef CGGL_API
74
# ifdef CGGL_EXPORTS
75
# ifdef _WIN32
76
# define CGGL_API __declspec(dllexport)
77
# elif defined(__GNUC__) && __GNUC__>=4
78
# define CGGL_API __attribute__ ((visibility("default")))
79
# elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
80
# define CGGL_API __global
81
# else
82
# define CGGL_API
83
# endif
84
# else
85
# define CGGL_API
86
# endif
87
#endif
88
89
#ifndef CGGLENTRY
90
# ifdef _WIN32
91
# define CGGLENTRY __cdecl
92
# else
93
# define CGGLENTRY
94
# endif
95
#endif
96
97
#ifdef __APPLE__
98
#include <OpenGL/gl.h>
99
#else
100
#include <GL/gl.h>
101
#endif
102
103
#ifdef __cplusplus
104
extern
"C"
{
105
#endif
106
107
/*****************************************************************************/
108
/*** cgGL Type Definitions ***/
109
/*****************************************************************************/
110
111
typedef
enum
112
{
113
CG_GL_MATRIX_IDENTITY
= 0,
114
CG_GL_MATRIX_TRANSPOSE
= 1,
115
CG_GL_MATRIX_INVERSE
= 2,
116
CG_GL_MATRIX_INVERSE_TRANSPOSE
= 3,
117
118
CG_GL_MODELVIEW_MATRIX
,
119
CG_GL_PROJECTION_MATRIX
,
120
CG_GL_TEXTURE_MATRIX
,
121
CG_GL_MODELVIEW_PROJECTION_MATRIX
,
122
123
CG_GL_VERTEX
,
124
CG_GL_FRAGMENT
,
125
CG_GL_GEOMETRY
126
127
}
CGGLenum
;
128
129
130
#ifndef CGGL_EXPLICIT
131
132
/******************************************************************************
133
*** Profile Functions
134
*****************************************************************************/
135
136
CGGL_API
CGbool
CGGLENTRY
cgGLIsProfileSupported
(
CGprofile
profile);
137
138
CGGL_API
void
CGGLENTRY
cgGLEnableProfile
(
CGprofile
profile);
139
CGGL_API
void
CGGLENTRY
cgGLDisableProfile
(
CGprofile
profile);
140
141
CGGL_API
CGprofile
CGGLENTRY
cgGLGetLatestProfile
(
CGGLenum
profile_type);
142
CGGL_API
void
CGGLENTRY
cgGLSetOptimalOptions
(
CGprofile
profile);
143
CGGL_API
char
const
**
CGGLENTRY
cgGLGetOptimalOptions
(
CGprofile
profile);
144
145
/******************************************************************************
146
*** Program Managment Functions
147
*****************************************************************************/
148
149
CGGL_API
void
CGGLENTRY
cgGLLoadProgram
(
CGprogram
program
);
150
CGGL_API
void
CGGLENTRY
cgGLUnloadProgram
(
CGprogram
program
);
151
CGGL_API
CGbool
CGGLENTRY
cgGLIsProgramLoaded
(
CGprogram
program
);
152
CGGL_API
void
CGGLENTRY
cgGLBindProgram
(
CGprogram
program
);
153
CGGL_API
void
CGGLENTRY
cgGLUnbindProgram
(
CGprofile
profile);
154
CGGL_API
GLuint
CGGLENTRY
cgGLGetProgramID
(
CGprogram
program
);
155
156
/******************************************************************************
157
*** Parameter Managment Functions
158
*****************************************************************************/
159
160
CGGL_API
void
CGGLENTRY
cgGLSetParameter1f
(
CGparameter
param
,
161
float
x
);
162
163
CGGL_API
void
CGGLENTRY
cgGLSetParameter2f
(
CGparameter
param
,
164
float
x
,
165
float
y
);
166
167
CGGL_API
void
CGGLENTRY
cgGLSetParameter3f
(
CGparameter
param
,
168
float
x
,
169
float
y
,
170
float
z
);
171
172
CGGL_API
void
CGGLENTRY
cgGLSetParameter4f
(
CGparameter
param
,
173
float
x
,
174
float
y
,
175
float
z
,
176
float
w
);
177
178
CGGL_API
void
CGGLENTRY
cgGLSetParameter1fv
(
CGparameter
param
,
const
float
*
v
);
179
180
CGGL_API
void
CGGLENTRY
cgGLSetParameter2fv
(
CGparameter
param
,
const
float
*
v
);
181
182
CGGL_API
void
CGGLENTRY
cgGLSetParameter3fv
(
CGparameter
param
,
const
float
*
v
);
183
184
CGGL_API
void
CGGLENTRY
cgGLSetParameter4fv
(
CGparameter
param
,
const
float
*
v
);
185
186
CGGL_API
void
CGGLENTRY
cgGLSetParameter1d
(
CGparameter
param
,
187
double
x
);
188
189
CGGL_API
void
CGGLENTRY
cgGLSetParameter2d
(
CGparameter
param
,
190
double
x
,
191
double
y
);
192
193
CGGL_API
void
CGGLENTRY
cgGLSetParameter3d
(
CGparameter
param
,
194
double
x
,
195
double
y
,
196
double
z
);
197
198
CGGL_API
void
CGGLENTRY
cgGLSetParameter4d
(
CGparameter
param
,
199
double
x
,
200
double
y
,
201
double
z
,
202
double
w
);
203
204
CGGL_API
void
CGGLENTRY
cgGLSetParameter1dv
(
CGparameter
param
,
const
double
*
v
);
205
206
CGGL_API
void
CGGLENTRY
cgGLSetParameter2dv
(
CGparameter
param
,
const
double
*
v
);
207
208
CGGL_API
void
CGGLENTRY
cgGLSetParameter3dv
(
CGparameter
param
,
const
double
*
v
);
209
210
CGGL_API
void
CGGLENTRY
cgGLSetParameter4dv
(
CGparameter
param
,
const
double
*
v
);
211
212
CGGL_API
void
CGGLENTRY
cgGLGetParameter1f
(
CGparameter
param
,
float
*
v
);
213
214
CGGL_API
void
CGGLENTRY
cgGLGetParameter2f
(
CGparameter
param
,
float
*
v
);
215
216
CGGL_API
void
CGGLENTRY
cgGLGetParameter3f
(
CGparameter
param
,
float
*
v
);
217
218
CGGL_API
void
CGGLENTRY
cgGLGetParameter4f
(
CGparameter
param
,
float
*
v
);
219
220
CGGL_API
void
CGGLENTRY
cgGLGetParameter1d
(
CGparameter
param
,
double
*
v
);
221
222
CGGL_API
void
CGGLENTRY
cgGLGetParameter2d
(
CGparameter
param
,
double
*
v
);
223
224
CGGL_API
void
CGGLENTRY
cgGLGetParameter3d
(
CGparameter
param
,
double
*
v
);
225
226
CGGL_API
void
CGGLENTRY
cgGLGetParameter4d
(
CGparameter
param
,
double
*
v
);
227
228
CGGL_API
void
CGGLENTRY
cgGLSetParameterArray1f
(
CGparameter
param
,
229
long
offset
,
230
long
nelements,
231
const
float
*
v
);
232
233
CGGL_API
void
CGGLENTRY
cgGLSetParameterArray2f
(
CGparameter
param
,
234
long
offset
,
235
long
nelements,
236
const
float
*
v
);
237
238
CGGL_API
void
CGGLENTRY
cgGLSetParameterArray3f
(
CGparameter
param
,
239
long
offset
,
240
long
nelements,
241
const
float
*
v
);
242
243
CGGL_API
void
CGGLENTRY
cgGLSetParameterArray4f
(
CGparameter
param
,
244
long
offset
,
245
long
nelements,
246
const
float
*
v
);
247
248
CGGL_API
void
CGGLENTRY
cgGLSetParameterArray1d
(
CGparameter
param
,
249
long
offset
,
250
long
nelements,
251
const
double
*
v
);
252
253
CGGL_API
void
CGGLENTRY
cgGLSetParameterArray2d
(
CGparameter
param
,
254
long
offset
,
255
long
nelements,
256
const
double
*
v
);
257
258
CGGL_API
void
CGGLENTRY
cgGLSetParameterArray3d
(
CGparameter
param
,
259
long
offset
,
260
long
nelements,
261
const
double
*
v
);
262
263
CGGL_API
void
CGGLENTRY
cgGLSetParameterArray4d
(
CGparameter
param
,
264
long
offset
,
265
long
nelements,
266
const
double
*
v
);
267
268
CGGL_API
void
CGGLENTRY
cgGLGetParameterArray1f
(
CGparameter
param
,
269
long
offset
,
270
long
nelements,
271
float
*
v
);
272
273
CGGL_API
void
CGGLENTRY
cgGLGetParameterArray2f
(
CGparameter
param
,
274
long
offset
,
275
long
nelements,
276
float
*
v
);
277
278
CGGL_API
void
CGGLENTRY
cgGLGetParameterArray3f
(
CGparameter
param
,
279
long
offset
,
280
long
nelements,
281
float
*
v
);
282
283
CGGL_API
void
CGGLENTRY
cgGLGetParameterArray4f
(
CGparameter
param
,
284
long
offset
,
285
long
nelements,
286
float
*
v
);
287
288
CGGL_API
void
CGGLENTRY
cgGLGetParameterArray1d
(
CGparameter
param
,
289
long
offset
,
290
long
nelements,
291
double
*
v
);
292
293
CGGL_API
void
CGGLENTRY
cgGLGetParameterArray2d
(
CGparameter
param
,
294
long
offset
,
295
long
nelements,
296
double
*
v
);
297
298
CGGL_API
void
CGGLENTRY
cgGLGetParameterArray3d
(
CGparameter
param
,
299
long
offset
,
300
long
nelements,
301
double
*
v
);
302
303
CGGL_API
void
CGGLENTRY
cgGLGetParameterArray4d
(
CGparameter
param
,
304
long
offset
,
305
long
nelements,
306
double
*
v
);
307
308
CGGL_API
void
CGGLENTRY
cgGLSetParameterPointer
(
CGparameter
param
,
309
GLint
fsize,
310
GLenum
type
,
311
GLsizei
stride
,
312
const
GLvoid
*
pointer
);
313
314
CGGL_API
void
CGGLENTRY
cgGLEnableClientState
(
CGparameter
param
);
315
CGGL_API
void
CGGLENTRY
cgGLDisableClientState
(
CGparameter
param
);
316
317
/******************************************************************************
318
*** Matrix Parameter Managment Functions
319
*****************************************************************************/
320
321
CGGL_API
void
CGGLENTRY
cgGLSetMatrixParameterdr
(
CGparameter
param
,
322
const
double
*
matrix
);
323
CGGL_API
void
CGGLENTRY
cgGLSetMatrixParameterfr
(
CGparameter
param
,
324
const
float
*
matrix
);
325
CGGL_API
void
CGGLENTRY
cgGLSetMatrixParameterdc
(
CGparameter
param
,
326
const
double
*
matrix
);
327
CGGL_API
void
CGGLENTRY
cgGLSetMatrixParameterfc
(
CGparameter
param
,
328
const
float
*
matrix
);
329
330
CGGL_API
void
CGGLENTRY
cgGLGetMatrixParameterdr
(
CGparameter
param
,
double
*
matrix
);
331
CGGL_API
void
CGGLENTRY
cgGLGetMatrixParameterfr
(
CGparameter
param
,
float
*
matrix
);
332
CGGL_API
void
CGGLENTRY
cgGLGetMatrixParameterdc
(
CGparameter
param
,
double
*
matrix
);
333
CGGL_API
void
CGGLENTRY
cgGLGetMatrixParameterfc
(
CGparameter
param
,
float
*
matrix
);
334
335
CGGL_API
void
CGGLENTRY
cgGLSetStateMatrixParameter
(
CGparameter
param
,
336
CGGLenum
matrix
,
337
CGGLenum
transform
);
338
339
CGGL_API
void
CGGLENTRY
cgGLSetMatrixParameterArrayfc
(
CGparameter
param
,
340
long
offset
,
341
long
nelements,
342
const
float
*matrices);
343
344
CGGL_API
void
CGGLENTRY
cgGLSetMatrixParameterArrayfr
(
CGparameter
param
,
345
long
offset
,
346
long
nelements,
347
const
float
*matrices);
348
349
CGGL_API
void
CGGLENTRY
cgGLSetMatrixParameterArraydc
(
CGparameter
param
,
350
long
offset
,
351
long
nelements,
352
const
double
*matrices);
353
354
CGGL_API
void
CGGLENTRY
cgGLSetMatrixParameterArraydr
(
CGparameter
param
,
355
long
offset
,
356
long
nelements,
357
const
double
*matrices);
358
359
CGGL_API
void
CGGLENTRY
cgGLGetMatrixParameterArrayfc
(
CGparameter
param
,
360
long
offset
,
361
long
nelements,
362
float
*matrices);
363
364
CGGL_API
void
CGGLENTRY
cgGLGetMatrixParameterArrayfr
(
CGparameter
param
,
365
long
offset
,
366
long
nelements,
367
float
*matrices);
368
369
CGGL_API
void
CGGLENTRY
cgGLGetMatrixParameterArraydc
(
CGparameter
param
,
370
long
offset
,
371
long
nelements,
372
double
*matrices);
373
374
CGGL_API
void
CGGLENTRY
cgGLGetMatrixParameterArraydr
(
CGparameter
param
,
375
long
offset
,
376
long
nelements,
377
double
*matrices);
378
379
/******************************************************************************
380
*** Texture Parameter Managment Functions
381
*****************************************************************************/
382
383
CGGL_API
void
CGGLENTRY
cgGLSetTextureParameter
(
CGparameter
param
,
GLuint
texobj);
384
CGGL_API
GLuint
CGGLENTRY
cgGLGetTextureParameter
(
CGparameter
param
);
385
CGGL_API
void
CGGLENTRY
cgGLEnableTextureParameter
(
CGparameter
param
);
386
CGGL_API
void
CGGLENTRY
cgGLDisableTextureParameter
(
CGparameter
param
);
387
CGGL_API
GLenum
CGGLENTRY
cgGLGetTextureEnum
(
CGparameter
param
);
388
389
CGGL_API
void
CGGLENTRY
cgGLSetManageTextureParameters
(
CGcontext
ctx,
CGbool
flag);
390
CGGL_API
CGbool
CGGLENTRY
cgGLGetManageTextureParameters
(
CGcontext
ctx);
391
392
CGGL_API
void
CGGLENTRY
cgGLSetupSampler
(
CGparameter
param
,
GLuint
texobj);
393
CGGL_API
void
CGGLENTRY
cgGLRegisterStates
(
CGcontext
);
394
395
CGGL_API
void
CGGLENTRY
cgGLEnableProgramProfiles
(
CGprogram
program
);
396
CGGL_API
void
CGGLENTRY
cgGLDisableProgramProfiles
(
CGprogram
program
);
397
398
/******************************************************************************
399
*** Misc Functions
400
*****************************************************************************/
401
402
CGGL_API
void
CGGLENTRY
cgGLSetDebugMode
(
CGbool
debug );
403
404
/******************************************************************************
405
*** Buffer Functions
406
*****************************************************************************/
407
408
CGGL_API
CGbuffer
CGGLENTRY
cgGLCreateBuffer
(
CGcontext
context,
int
size
,
const
void
*
data
,
GLenum
bufferUsage);
409
CGGL_API
GLuint
CGGLENTRY
cgGLGetBufferObject
(
CGbuffer
buffer
);
410
411
#endif
412
413
#ifdef __cplusplus
414
}
415
#endif
416
417
#ifdef CGGL_APIENTRY_DEFINED
418
# undef CGGL_APIENTRY_DEFINED
419
# undef APIENTRY
420
#endif
421
422
#ifdef CGGL_WINGDIAPI_DEFINED
423
# undef CGGL_WINGDIAPI_DEFINED
424
# undef WINGDIAPI
425
#endif
426
427
#endif
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (
www.mak.com
)