VR-Vantage 2.7 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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  {
117 
122 
126 
127  } CGGLenum;
128 
129 
130 #ifndef CGGL_EXPLICIT
131 
132 /******************************************************************************
133  *** Profile Functions
134  *****************************************************************************/
135 
137 
140 
143 CGGL_API char const ** CGGLENTRY cgGLGetOptimalOptions(CGprofile profile);
144 
145 /******************************************************************************
146  *** Program Managment Functions
147  *****************************************************************************/
148 
155 
156 /******************************************************************************
157  *** Parameter Managment Functions
158  *****************************************************************************/
159 
161  float x);
162 
164  float x,
165  float y);
166 
168  float x,
169  float y,
170  float z);
171 
173  float x,
174  float y,
175  float z,
176  float w);
177 
179 
181 
183 
185 
187  double x);
188 
190  double x,
191  double y);
192 
194  double x,
195  double y,
196  double z);
197 
199  double x,
200  double y,
201  double z,
202  double w);
203 
205 
207 
209 
211 
213 
215 
217 
219 
221 
223 
225 
227 
229  long offset,
230  long nelements,
231  const float *v);
232 
234  long offset,
235  long nelements,
236  const float *v);
237 
239  long offset,
240  long nelements,
241  const float *v);
242 
244  long offset,
245  long nelements,
246  const float *v);
247 
249  long offset,
250  long nelements,
251  const double *v);
252 
254  long offset,
255  long nelements,
256  const double *v);
257 
259  long offset,
260  long nelements,
261  const double *v);
262 
264  long offset,
265  long nelements,
266  const double *v);
267 
269  long offset,
270  long nelements,
271  float *v);
272 
274  long offset,
275  long nelements,
276  float *v);
277 
279  long offset,
280  long nelements,
281  float *v);
282 
284  long offset,
285  long nelements,
286  float *v);
287 
289  long offset,
290  long nelements,
291  double *v);
292 
294  long offset,
295  long nelements,
296  double *v);
297 
299  long offset,
300  long nelements,
301  double *v);
302 
304  long offset,
305  long nelements,
306  double *v);
307 
309  GLint fsize,
310  GLenum type,
311  GLsizei stride,
312  const GLvoid *pointer);
313 
316 
317 /******************************************************************************
318  *** Matrix Parameter Managment Functions
319  *****************************************************************************/
320 
322  const double *matrix);
324  const float *matrix);
326  const double *matrix);
328  const float *matrix);
329 
334 
338 
340  long offset,
341  long nelements,
342  const float *matrices);
343 
345  long offset,
346  long nelements,
347  const float *matrices);
348 
350  long offset,
351  long nelements,
352  const double *matrices);
353 
355  long offset,
356  long nelements,
357  const double *matrices);
358 
360  long offset,
361  long nelements,
362  float *matrices);
363 
365  long offset,
366  long nelements,
367  float *matrices);
368 
370  long offset,
371  long nelements,
372  double *matrices);
373 
375  long offset,
376  long nelements,
377  double *matrices);
378 
379 /******************************************************************************
380  *** Texture Parameter Managment Functions
381  *****************************************************************************/
382 
388 
391 
394 
397 
398 /******************************************************************************
399  *** Misc Functions
400  *****************************************************************************/
401 
403 
404 /******************************************************************************
405  *** Buffer Functions
406  *****************************************************************************/
407 
408 CGGL_API CGbuffer CGGLENTRY cgGLCreateBuffer(CGcontext context, int size, const void *data, GLenum bufferUsage);
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)