source: trunk/src/opengl/glu32.cpp@ 2661

Last change on this file since 2661 was 2595, checked in by sandervl, 26 years ago

JvdH:Ported SGI GLUT sources + Opengl update

File size: 12.2 KB
Line 
1/* $Id: glu32.cpp,v 1.2 2000-02-01 19:41:53 sandervl Exp $ */
2/*****************************************************************************/
3/* */
4/* GLU32 Toolkit */
5/* */
6/*****************************************************************************/
7#define INCL_BASE
8#include <os2.h>
9#include <os2wrap.h>
10#include <misc.h>
11#include <malloc.h>
12#include <memory.h>
13
14#include "glos2.h"
15#include "gluos2.h"
16#include "glucb32.h"
17
18/*****************************************************************************/
19/* */
20/* glu Functions */
21/* */
22/*****************************************************************************/
23
24void WIN32API gluBeginCurve(GLUnurbs* nurb)
25{
26 OS2gluBeginCurve(nurb);
27}
28
29void WIN32API gluBeginPolygon(GLUtesselator* tess)
30{
31 OS2gluBeginPolygon(tess);
32}
33
34void WIN32API gluBeginSurface(GLUnurbs* nurb)
35{
36 OS2gluBeginSurface(nurb);
37}
38
39void WIN32API gluBeginTrim(GLUnurbs* nurb)
40{
41 OS2gluBeginTrim(nurb);
42}
43
44GLint WIN32API gluBuild1DMipmaps(GLenum target,
45 GLint component,
46 GLsizei width,
47 GLenum format,
48 GLenum type,
49 const void *data)
50{
51 return OS2gluBuild1DMipmaps(target,component,width,format,type,data);
52}
53
54GLint WIN32API gluBuild2DMipmaps(GLenum target,
55 GLint component,
56 GLsizei width,
57 GLsizei height,
58 GLenum format,
59 GLenum type,
60 const void *data)
61{
62 return OS2gluBuild2DMipmaps(target,component,width,height,format,type,data);
63}
64
65void WIN32API gluCylinder(GLUquadric* quad,
66 GLdouble base,
67 GLdouble top,
68 GLdouble height,
69 GLint slices,
70 GLint stacks)
71{
72 OS2gluCylinder(quad,base,top,height,slices,stacks);
73}
74
75void WIN32API gluDeleteNurbsRenderer(GLUnurbs* nurb)
76{
77 OS2gluDeleteNurbsRenderer(nurb);
78
79 OS2glucbDestroyCallbackForObject(GLUCB_NURBS,(void *)nurb);
80}
81
82void WIN32API gluDeleteQuadric (GLUquadric* quad)
83{
84 OS2gluDeleteQuadric(quad);
85
86 OS2glucbDestroyCallbackForObject(GLUCB_QUADRIC,(void *)quad);
87}
88
89void WIN32API gluDeleteTess(GLUtesselator* tess)
90{
91 OS2gluDeleteTess(tess);
92
93 OS2glucbDestroyCallbackForObject(GLUCB_TESS,(void *)tess);
94}
95
96void WIN32API gluDisk(GLUquadric* quad,
97 GLdouble inner,
98 GLdouble outer,
99 GLint slices,
100 GLint loops)
101{
102 OS2gluDisk(quad,inner,outer,slices,loops);
103}
104
105void WIN32API gluEndCurve(GLUnurbs* nurb)
106{
107 OS2gluEndCurve(nurb);
108}
109
110void WIN32API gluEndPolygon(GLUtesselator* tess)
111{
112 OS2gluEndPolygon(tess);
113}
114
115void WIN32API gluEndSurface(GLUnurbs* nurb)
116{
117 OS2gluEndSurface(nurb);
118}
119
120void WIN32API gluEndTrim(GLUnurbs* nurb)
121{
122 OS2gluEndTrim(nurb);
123}
124
125const GLubyte * WIN32API gluErrorString(GLenum error)
126{
127 return OS2gluErrorString(error);
128}
129
130void WIN32API gluGetNurbsProperty(GLUnurbs* nurb,
131 GLenum property,
132 GLfloat* data)
133{
134 OS2gluGetNurbsProperty(nurb,property,data);
135}
136
137const GLubyte * WIN32API gluGetString(GLenum name)
138{
139 return OS2gluGetString(name);
140}
141
142void WIN32API gluGetTessProperty(GLUtesselator* tess,
143 GLenum which,
144 GLdouble* data)
145{
146 OS2gluGetTessProperty(tess,which,data);
147}
148
149void WIN32API gluLoadSamplingMatrices(GLUnurbs* nurb,
150 const GLfloat *model,
151 const GLfloat *perspective,
152 const GLint *view)
153{
154 OS2gluLoadSamplingMatrices(nurb,model,perspective,view);
155}
156
157void WIN32API gluLookAt(GLdouble eyeX,
158 GLdouble eyeY,
159 GLdouble eyeZ,
160 GLdouble centerX,
161 GLdouble centerY,
162 GLdouble centerZ,
163 GLdouble upX,
164 GLdouble upY,
165 GLdouble upZ)
166{
167 OS2gluLookAt(eyeX,eyeY,eyeZ,centerX,centerY,centerZ,upX,upY,upZ);
168}
169
170GLUnurbs * WIN32API gluNewNurbsRenderer(void)
171{
172 return OS2gluNewNurbsRenderer();
173}
174
175GLUquadric * WIN32API gluNewQuadric(void)
176{
177 return OS2gluNewQuadric();
178}
179
180GLUtesselator * WIN32API gluNewTess(void)
181{
182 return OS2gluNewTess();
183}
184
185void WIN32API gluNextContour(GLUtesselator* tess,
186 GLenum type)
187{
188 OS2gluNextContour(tess,type);
189}
190
191void WIN32API gluNurbsCallback(GLUnurbs* nurb,
192 GLenum which,
193 GLvoid (* WIN32API CallBackFunc)())
194{
195 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUCB_NURBS,nurb,which,CallBackFunc);
196
197 OS2gluNurbsCallback(nurb,which,pfn);
198}
199
200void WIN32API gluNurbsCurve(GLUnurbs* nurb,
201 GLint knotCount,
202 GLfloat *knots,
203 GLint stride,
204 GLfloat *control,
205 GLint order,
206 GLenum type)
207{
208 OS2gluNurbsCurve(nurb,knotCount,knots,stride,control,order,type);
209}
210
211void WIN32API gluNurbsProperty(GLUnurbs* nurb,
212 GLenum property,
213 GLfloat value)
214{
215 OS2gluNurbsProperty(nurb,property,value);
216}
217
218void WIN32API gluNurbsSurface(GLUnurbs* nurb,
219 GLint sKnotCount,
220 GLfloat* sKnots,
221 GLint tKnotCount,
222 GLfloat* tKnots,
223 GLint sStride,
224 GLint tStride,
225 GLfloat* control,
226 GLint sOrder,
227 GLint tOrder,
228 GLenum type)
229{
230 OS2gluNurbsSurface(nurb,sKnotCount,sKnots,tKnotCount,tKnots,sStride,tStride,control,sOrder,tOrder,type);
231}
232
233void WIN32API gluOrtho2D(GLdouble left,
234 GLdouble right,
235 GLdouble bottom,
236 GLdouble top)
237{
238 OS2gluOrtho2D(left,right,bottom,top);
239}
240
241void WIN32API gluPartialDisk(GLUquadric* quad,
242 GLdouble inner,
243 GLdouble outer,
244 GLint slices,
245 GLint loops,
246 GLdouble start,
247 GLdouble sweep)
248{
249 OS2gluPartialDisk(quad,inner,outer,slices,loops,start,sweep);
250}
251
252void WIN32API gluPerspective(GLdouble fovy,
253 GLdouble aspect,
254 GLdouble zNear,
255 GLdouble zFar)
256{
257 dprintf(("gluPerspective called - fovy %f\n",fovy));
258 OS2gluPerspective(fovy,aspect,zNear,zFar);
259 dprintf(("gluPerspective returned\n"));
260}
261
262void WIN32API gluPickMatrix(GLdouble x,
263 GLdouble y,
264 GLdouble delX,
265 GLdouble delY,
266 GLint *viewport)
267{
268 OS2gluPickMatrix(x,y,delX,delY,viewport);
269}
270
271GLint WIN32API gluProject(GLdouble objX,
272 GLdouble objY,
273 GLdouble objZ,
274 const GLdouble *model,
275 const GLdouble *proj,
276 const GLint *view,
277 GLdouble* winX,
278 GLdouble* winY,
279 GLdouble* winZ)
280{
281 return OS2gluProject(objX,objY,objZ,model,proj,view,winX,winY,winZ);
282}
283
284void WIN32API gluPwlCurve(GLUnurbs* nurb,
285 GLint count,
286 GLfloat* data,
287 GLint stride,
288 GLenum type)
289{
290 OS2gluPwlCurve(nurb,count,data,stride,type);
291}
292
293void WIN32API gluQuadricCallback(GLUquadric* quad,
294 GLenum which,
295 GLvoid (* WIN32API CallBackFunc)())
296{
297 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUCB_QUADRIC,(void *)quad,which,CallBackFunc);
298
299 OS2gluQuadricCallback(quad,which,pfn);
300}
301
302void WIN32API gluQuadricDrawStyle(GLUquadric* quad,
303 GLenum draw)
304{
305 OS2gluQuadricDrawStyle(quad,draw);
306}
307
308void WIN32API gluQuadricNormals(GLUquadric* quad,
309 GLenum normal)
310{
311 OS2gluQuadricNormals(quad,normal);
312}
313
314void WIN32API gluQuadricOrientation(GLUquadric* quad,
315 GLenum orientation)
316{
317 OS2gluQuadricOrientation(quad,orientation);
318}
319
320void WIN32API gluQuadricTexture(GLUquadric* quad,
321 GLboolean texture)
322{
323 OS2gluQuadricTexture(quad,texture);
324}
325
326GLint WIN32API gluScaleImage(GLenum format,
327 GLsizei wIn,
328 GLsizei hIn,
329 GLenum typeIn,
330 const void *dataIn,
331 GLsizei wOut,
332 GLsizei hOut,
333 GLenum typeOut,
334 GLvoid* dataOut)
335{
336 return OS2gluScaleImage(format,wIn,hIn,typeIn,dataIn,wOut,hOut,typeOut,dataOut);
337}
338
339void WIN32API gluSphere(GLUquadric* quad,
340 GLdouble radius,
341 GLint slices,
342 GLint stacks)
343{
344 OS2gluSphere(quad,radius,slices,stacks);
345}
346
347void WIN32API gluTessBeginContour(GLUtesselator* tess)
348{
349 OS2gluTessBeginContour(tess);
350}
351
352void WIN32API gluTessBeginPolygon(GLUtesselator* tess,
353 GLvoid* data)
354{
355 OS2gluTessBeginPolygon(tess,data);
356}
357
358void WIN32API gluTessCallback(GLUtesselator* tess,
359 GLenum which,
360 GLvoid (* WIN32API CallBackFunc)())
361{
362 GLUOS2CALLBACK pfn=OS2glucbRegisterCallback(GLUCB_TESS,(void *)tess,which,CallBackFunc);
363
364 OS2gluTessCallback(tess,which,pfn);
365}
366
367void WIN32API gluTessEndContour(GLUtesselator* tess)
368{
369 OS2gluTessEndContour(tess);
370}
371
372void WIN32API gluTessEndPolygon(GLUtesselator* tess)
373{
374 OS2gluTessEndPolygon(tess);
375}
376
377void WIN32API gluTessNormal(GLUtesselator* tess,
378 GLdouble valueX,
379 GLdouble valueY,
380 GLdouble valueZ)
381{
382 OS2gluTessNormal(tess,valueX,valueY,valueZ);
383}
384
385void WIN32API gluTessProperty(GLUtesselator* tess,
386 GLenum which,
387 GLdouble data)
388{
389 OS2gluTessProperty(tess,which,data);
390}
391
392void WIN32API gluTessVertex(GLUtesselator* tess,
393 GLdouble *location,
394 GLvoid* data)
395{
396 OS2gluTessVertex(tess,location,data);
397}
398
399GLint WIN32API gluUnProject(GLdouble winX,
400 GLdouble winY,
401 GLdouble winZ,
402 const GLdouble *model,
403 const GLdouble *proj,
404 const GLint *view,
405 GLdouble* objX,
406 GLdouble* objY,
407 GLdouble* objZ)
408{
409 return OS2gluUnProject(winX,winY,winZ,model,proj,view,objX,objY,objZ);
410}
411
412/*****************************************************************************/
413/* */
414/* Module Internal init and cleanup - called by initterm */
415/* */
416/*****************************************************************************/
417
418void mod_init(void)
419{
420 dprintf(("GLU32 INIT\n"));
421
422 DosCreateMutexSem(NULL,&hmtxGlucb,0,0);
423}
424
425void mod_cleanup(void)
426{
427 while(Glucbs)
428 OS2glucbDestroyGlucb(Glucbs);
429
430 DosCloseMutexSem(hmtxGlucb);
431
432 dprintf(("GLU32 TERM\n"));
433}
Note: See TracBrowser for help on using the repository browser.