]> icculus.org git repositories - icculus/iodoom3.git/blob - neo/renderer/cg_explicit.cpp
hello world
[icculus/iodoom3.git] / neo / renderer / cg_explicit.cpp
1 /*
2 ===========================================================================
3
4 Doom 3 GPL Source Code
5 Copyright (C) 1999-2011 id Software LLC, a ZeniMax Media company. 
6
7 This file is part of the Doom 3 GPL Source Code (?Doom 3 Source Code?).  
8
9 Doom 3 Source Code is free software: you can redistribute it and/or modify
10 it under the terms of the GNU General Public License as published by
11 the Free Software Foundation, either version 3 of the License, or
12 (at your option) any later version.
13
14 Doom 3 Source Code is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 GNU General Public License for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with Doom 3 Source Code.  If not, see <http://www.gnu.org/licenses/>.
21
22 In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code.  If not, please request a copy in writing from id Software at the address below.
23
24 If you have questions concerning this license or the applicable additional terms, you may contact in writing id Software LLC, c/o ZeniMax Media Inc., Suite 120, Rockville, Maryland 20850 USA.
25
26 ===========================================================================
27 */
28
29 #include "../idlib/precompiled.h"
30 #pragma hdrstop
31
32 //#include <windows.h>
33 //#include <GL/gl.h>
34 #include "cg_explicit.h"
35
36 PFNCGCREATECONTEXTPROC cgCreateContext;
37 PFNCGDESTROYCONTEXTPROC cgDestroyContext;
38 PFNCGISCONTEXTPROC cgIsContext;
39 PFNCGGETLASTLISTINGPROC cgGetLastListing;
40 PFNCGCREATEPROGRAMPROC cgCreateProgram;
41 PFNCGCREATEPROGRAMFROMFILEPROC cgCreateProgramFromFile;
42 PFNCGCOPYPROGRAMPROC cgCopyProgram;
43 PFNCGDESTROYPROGRAMPROC cgDestroyProgram;
44 PFNCGGETFIRSTPROGRAMPROC cgGetFirstProgram;
45 PFNCGGETNEXTPROGRAMPROC cgGetNextProgram;
46 PFNCGGETPROGRAMCONTEXTPROC cgGetProgramContext;
47 PFNCGISPROGRAMPROC cgIsProgram;
48 PFNCGCOMPILEPROGRAMPROC cgCompileProgram;
49 PFNCGISPROGRAMCOMPILEDPROC cgIsProgramCompiled;
50 PFNCGGETPROGRAMSTRINGPROC cgGetProgramString;
51 PFNCGGETPROGRAMPROFILEPROC cgGetProgramProfile;
52 PFNCGGETNAMEDPARAMETERPROC cgGetNamedParameter;
53 PFNCGGETFIRSTPARAMETERPROC cgGetFirstParameter;
54 PFNCGGETNEXTPARAMETERPROC cgGetNextParameter;
55 PFNCGGETFIRSTLEAFPARAMETERPROC cgGetFirstLeafParameter;
56 PFNCGGETNEXTLEAFPARAMETERPROC cgGetNextLeafParameter;
57 PFNCGGETFIRSTSTRUCTPARAMETERPROC cgGetFirstStructParameter;
58 PFNCGGETFIRSTDEPENDENTPARAMETERPROC cgGetFirstDependentParameter;
59 PFNCGGETARRAYPARAMETERPROC cgGetArrayParameter;
60 PFNCGGETARRAYDIMENSIONPROC cgGetArrayDimension;
61 PFNCGGETARRAYSIZEPROC cgGetArraySize;
62 PFNCGGETPARAMETERPROGRAMPROC cgGetParameterProgram;
63 PFNCGISPARAMETERPROC cgIsParameter;
64 PFNCGGETPARAMETERNAMEPROC cgGetParameterName;
65 PFNCGGETPARAMETERTYPEPROC cgGetParameterType;
66 PFNCGGETPARAMETERSEMANTICPROC cgGetParameterSemantic;
67 PFNCGGETPARAMETERRESOURCEPROC cgGetParameterResource;
68 PFNCGGETPARAMETERBASERESOURCEPROC cgGetParameterBaseResource;
69 PFNCGGETPARAMETERRESOURCEINDEXPROC cgGetParameterResourceIndex;
70 PFNCGGETPARAMETERVARIABILITYPROC cgGetParameterVariability;
71 PFNCGGETPARAMETERDIRECTIONPROC cgGetParameterDirection;
72 PFNCGISPARAMETERREFERENCEDPROC cgIsParameterReferenced;
73 PFNCGGETPARAMETERVALUESPROC cgGetParameterValues;
74 PFNCGGETTYPESTRINGPROC cgGetTypeString;
75 PFNCGGETTYPEPROC cgGetType;
76 PFNCGGETRESOURCESTRINGPROC cgGetResourceString;
77 PFNCGGETRESOURCEPROC cgGetResource;
78 PFNCGGETPROFILESTRINGPROC cgGetProfileString;
79 PFNCGGETPROFILEPROC cgGetProfile;
80 PFNCGGETERRORPROC cgGetError;
81 PFNCGGETERRORSTRINGPROC cgGetErrorString;
82 PFNCGSETERRORCALLBACKPROC cgSetErrorCallback;
83 PFNCGGETERRORCALLBACKPROC cgGetErrorCallback;
84 PFNCGGLISPROFILESUPPORTEDPROC cgGLIsProfileSupported;
85 PFNCGGLENABLEPROFILEPROC cgGLEnableProfile;
86 PFNCGGLDISABLEPROFILEPROC cgGLDisableProfile;
87 PFNCGGLGETLATESTPROFILEPROC cgGLGetLatestProfile;
88 PFNCGGLSETOPTIMALOPTIONSPROC cgGLSetOptimalOptions;
89 PFNCGGLLOADPROGRAMPROC cgGLLoadProgram;
90 PFNCGGLBINDPROGRAMPROC cgGLBindProgram;
91 PFNCGGLSETPARAMETER1FPROC cgGLSetParameter1f;
92 PFNCGGLSETPARAMETER2FPROC cgGLSetParameter2f;
93 PFNCGGLSETPARAMETER3FPROC cgGLSetParameter3f;
94 PFNCGGLSETPARAMETER4FPROC cgGLSetParameter4f;
95 PFNCGGLSETPARAMETER1FVPROC cgGLSetParameter1fv;
96 PFNCGGLSETPARAMETER2FVPROC cgGLSetParameter2fv;
97 PFNCGGLSETPARAMETER3FVPROC cgGLSetParameter3fv;
98 PFNCGGLSETPARAMETER4FVPROC cgGLSetParameter4fv;
99 PFNCGGLSETPARAMETER1DPROC cgGLSetParameter1d;
100 PFNCGGLSETPARAMETER2DPROC cgGLSetParameter2d;
101 PFNCGGLSETPARAMETER3DPROC cgGLSetParameter3d;
102 PFNCGGLSETPARAMETER4DPROC cgGLSetParameter4d;
103 PFNCGGLSETPARAMETER1DVPROC cgGLSetParameter1dv;
104 PFNCGGLSETPARAMETER2DVPROC cgGLSetParameter2dv;
105 PFNCGGLSETPARAMETER3DVPROC cgGLSetParameter3dv;
106 PFNCGGLSETPARAMETER4DVPROC cgGLSetParameter4dv;
107 PFNCGGLGETPARAMETER1FPROC cgGLGetParameter1f;
108 PFNCGGLGETPARAMETER2FPROC cgGLGetParameter2f;
109 PFNCGGLGETPARAMETER3FPROC cgGLGetParameter3f;
110 PFNCGGLGETPARAMETER4FPROC cgGLGetParameter4f;
111 PFNCGGLGETPARAMETER1DPROC cgGLGetParameter1d;
112 PFNCGGLGETPARAMETER2DPROC cgGLGetParameter2d;
113 PFNCGGLGETPARAMETER3DPROC cgGLGetParameter3d;
114 PFNCGGLGETPARAMETER4DPROC cgGLGetParameter4d;
115 PFNCGGLSETPARAMETERARRAY1FPROC cgGLSetParameterArray1f;
116 PFNCGGLSETPARAMETERARRAY2FPROC cgGLSetParameterArray2f;
117 PFNCGGLSETPARAMETERARRAY3FPROC cgGLSetParameterArray3f;
118 PFNCGGLSETPARAMETERARRAY4FPROC cgGLSetParameterArray4f;
119 PFNCGGLSETPARAMETERARRAY1DPROC cgGLSetParameterArray1d;
120 PFNCGGLSETPARAMETERARRAY2DPROC cgGLSetParameterArray2d;
121 PFNCGGLSETPARAMETERARRAY3DPROC cgGLSetParameterArray3d;
122 PFNCGGLSETPARAMETERARRAY4DPROC cgGLSetParameterArray4d;
123 PFNCGGLGETPARAMETERARRAY1FPROC cgGLGetParameterArray1f;
124 PFNCGGLGETPARAMETERARRAY2FPROC cgGLGetParameterArray2f;
125 PFNCGGLGETPARAMETERARRAY3FPROC cgGLGetParameterArray3f;
126 PFNCGGLGETPARAMETERARRAY4FPROC cgGLGetParameterArray4f;
127 PFNCGGLGETPARAMETERARRAY1DPROC cgGLGetParameterArray1d;
128 PFNCGGLGETPARAMETERARRAY2DPROC cgGLGetParameterArray2d;
129 PFNCGGLGETPARAMETERARRAY3DPROC cgGLGetParameterArray3d;
130 PFNCGGLGETPARAMETERARRAY4DPROC cgGLGetParameterArray4d;
131 PFNCGGLSETPARAMETERPOINTERPROC cgGLSetParameterPointer;
132 PFNCGGLENABLECLIENTSTATEPROC cgGLEnableClientState;
133 PFNCGGLDISABLECLIENTSTATEPROC cgGLDisableClientState;
134 PFNCGGLSETMATRIXPARAMETERDRPROC cgGLSetMatrixParameterdr;
135 PFNCGGLSETMATRIXPARAMETERFRPROC cgGLSetMatrixParameterfr;
136 PFNCGGLSETMATRIXPARAMETERDCPROC cgGLSetMatrixParameterdc;
137 PFNCGGLSETMATRIXPARAMETERFCPROC cgGLSetMatrixParameterfc;
138 PFNCGGLGETMATRIXPARAMETERDRPROC cgGLGetMatrixParameterdr;
139 PFNCGGLGETMATRIXPARAMETERFRPROC cgGLGetMatrixParameterfr;
140 PFNCGGLGETMATRIXPARAMETERDCPROC cgGLGetMatrixParameterdc;
141 PFNCGGLGETMATRIXPARAMETERFCPROC cgGLGetMatrixParameterfc;
142 PFNCGGLSETSTATEMATRIXPARAMETERPROC cgGLSetStateMatrixParameter;
143 PFNCGGLSETMATRIXPARAMETERARRAYFCPROC cgGLSetMatrixParameterArrayfc;
144 PFNCGGLSETMATRIXPARAMETERARRAYFRPROC cgGLSetMatrixParameterArrayfr;
145 PFNCGGLSETMATRIXPARAMETERARRAYDCPROC cgGLSetMatrixParameterArraydc;
146 PFNCGGLSETMATRIXPARAMETERARRAYDRPROC cgGLSetMatrixParameterArraydr;
147 PFNCGGLGETMATRIXPARAMETERARRAYFCPROC cgGLGetMatrixParameterArrayfc;
148 PFNCGGLGETMATRIXPARAMETERARRAYFRPROC cgGLGetMatrixParameterArrayfr;
149 PFNCGGLGETMATRIXPARAMETERARRAYDCPROC cgGLGetMatrixParameterArraydc;
150 PFNCGGLGETMATRIXPARAMETERARRAYDRPROC cgGLGetMatrixParameterArraydr;
151 PFNCGGLSETTEXTUREPARAMETERPROC cgGLSetTextureParameter;
152 PFNCGGLGETTEXTUREPARAMETERPROC cgGLGetTextureParameter;
153 PFNCGGLENABLETEXTUREPARAMETERPROC cgGLEnableTextureParameter;
154 PFNCGGLDISABLETEXTUREPARAMETERPROC cgGLDisableTextureParameter;
155 PFNCGGLGETTEXTUREENUMPROC cgGLGetTextureEnum;
156
157 #ifndef _WIN32
158 bool init_explicit_Cg()
159 {
160         return false;
161 }
162 #else
163 bool init_explicit_Cg()
164 {
165     HMODULE hmod;
166     int failed = 0;
167     
168     hmod = LoadLibrary("cg.dll");
169     
170     if(0 == (cgCreateContext = (PFNCGCREATECONTEXTPROC)GetProcAddress( hmod, "cgCreateContext" )))
171         failed++;
172     if(0 == (cgDestroyContext = (PFNCGDESTROYCONTEXTPROC)GetProcAddress( hmod, "cgDestroyContext" )))
173         failed++;
174     if(0 == (cgIsContext = (PFNCGISCONTEXTPROC)GetProcAddress( hmod, "cgIsContext" )))
175         failed++;
176     if(0 == (cgGetLastListing = (PFNCGGETLASTLISTINGPROC)GetProcAddress( hmod, "cgGetLastListing" )))
177         failed++;
178     if(0 == (cgCreateProgram = (PFNCGCREATEPROGRAMPROC)GetProcAddress( hmod, "cgCreateProgram" )))
179         failed++;
180     if(0 == (cgCreateProgramFromFile = (PFNCGCREATEPROGRAMFROMFILEPROC)GetProcAddress( hmod, "cgCreateProgramFromFile" )))
181         failed++;
182     if(0 == (cgCopyProgram = (PFNCGCOPYPROGRAMPROC)GetProcAddress( hmod, "cgCopyProgram" )))
183         failed++;
184     if(0 == (cgDestroyProgram = (PFNCGDESTROYPROGRAMPROC)GetProcAddress( hmod, "cgDestroyProgram" )))
185         failed++;
186     if(0 == (cgGetFirstProgram = (PFNCGGETFIRSTPROGRAMPROC)GetProcAddress( hmod, "cgGetFirstProgram" )))
187         failed++;
188     if(0 == (cgGetNextProgram = (PFNCGGETNEXTPROGRAMPROC)GetProcAddress( hmod, "cgGetNextProgram" )))
189         failed++;
190     if(0 == (cgGetProgramContext = (PFNCGGETPROGRAMCONTEXTPROC)GetProcAddress( hmod, "cgGetProgramContext" )))
191         failed++;
192     if(0 == (cgIsProgram = (PFNCGISPROGRAMPROC)GetProcAddress( hmod, "cgIsProgram" )))
193         failed++;
194     if(0 == (cgCompileProgram = (PFNCGCOMPILEPROGRAMPROC)GetProcAddress( hmod, "cgCompileProgram" )))
195         failed++;
196     if(0 == (cgIsProgramCompiled = (PFNCGISPROGRAMCOMPILEDPROC)GetProcAddress( hmod, "cgIsProgramCompiled" )))
197         failed++;
198     if(0 == (cgGetProgramString = (PFNCGGETPROGRAMSTRINGPROC)GetProcAddress( hmod, "cgGetProgramString" )))
199         failed++;
200     if(0 == (cgGetProgramProfile = (PFNCGGETPROGRAMPROFILEPROC)GetProcAddress( hmod, "cgGetProgramProfile" )))
201         failed++;
202     if(0 == (cgGetNamedParameter = (PFNCGGETNAMEDPARAMETERPROC)GetProcAddress( hmod, "cgGetNamedParameter" )))
203         failed++;
204     if(0 == (cgGetFirstParameter = (PFNCGGETFIRSTPARAMETERPROC)GetProcAddress( hmod, "cgGetFirstParameter" )))
205         failed++;
206     if(0 == (cgGetNextParameter = (PFNCGGETNEXTPARAMETERPROC)GetProcAddress( hmod, "cgGetNextParameter" )))
207         failed++;
208     if(0 == (cgGetFirstLeafParameter = (PFNCGGETFIRSTLEAFPARAMETERPROC)GetProcAddress( hmod, "cgGetFirstLeafParameter" )))
209         failed++;
210     if(0 == (cgGetNextLeafParameter = (PFNCGGETNEXTLEAFPARAMETERPROC)GetProcAddress( hmod, "cgGetNextLeafParameter" )))
211         failed++;
212     if(0 == (cgGetFirstStructParameter = (PFNCGGETFIRSTSTRUCTPARAMETERPROC)GetProcAddress( hmod, "cgGetFirstStructParameter" )))
213         failed++;
214     if(0 == (cgGetFirstDependentParameter = (PFNCGGETFIRSTDEPENDENTPARAMETERPROC)GetProcAddress( hmod, "cgGetFirstDependentParameter" )))
215         failed++;
216     if(0 == (cgGetArrayParameter = (PFNCGGETARRAYPARAMETERPROC)GetProcAddress( hmod, "cgGetArrayParameter" )))
217         failed++;
218     if(0 == (cgGetArrayDimension = (PFNCGGETARRAYDIMENSIONPROC)GetProcAddress( hmod, "cgGetArrayDimension" )))
219         failed++;
220     if(0 == (cgGetArraySize = (PFNCGGETARRAYSIZEPROC)GetProcAddress( hmod, "cgGetArraySize" )))
221         failed++;
222     if(0 == (cgGetParameterProgram = (PFNCGGETPARAMETERPROGRAMPROC)GetProcAddress( hmod, "cgGetParameterProgram" )))
223         failed++;
224     if(0 == (cgIsParameter = (PFNCGISPARAMETERPROC)GetProcAddress( hmod, "cgIsParameter" )))
225         failed++;
226     if(0 == (cgGetParameterName = (PFNCGGETPARAMETERNAMEPROC)GetProcAddress( hmod, "cgGetParameterName" )))
227         failed++;
228     if(0 == (cgGetParameterType = (PFNCGGETPARAMETERTYPEPROC)GetProcAddress( hmod, "cgGetParameterType" )))
229         failed++;
230     if(0 == (cgGetParameterSemantic = (PFNCGGETPARAMETERSEMANTICPROC)GetProcAddress( hmod, "cgGetParameterSemantic" )))
231         failed++;
232     if(0 == (cgGetParameterResource = (PFNCGGETPARAMETERRESOURCEPROC)GetProcAddress( hmod, "cgGetParameterResource" )))
233         failed++;
234     if(0 == (cgGetParameterBaseResource = (PFNCGGETPARAMETERBASERESOURCEPROC)GetProcAddress( hmod, "cgGetParameterBaseResource" )))
235         failed++;
236     if(0 == (cgGetParameterResourceIndex = (PFNCGGETPARAMETERRESOURCEINDEXPROC)GetProcAddress( hmod, "cgGetParameterResourceIndex" )))
237         failed++;
238     if(0 == (cgGetParameterVariability = (PFNCGGETPARAMETERVARIABILITYPROC)GetProcAddress( hmod, "cgGetParameterVariability" )))
239         failed++;
240     if(0 == (cgGetParameterDirection = (PFNCGGETPARAMETERDIRECTIONPROC)GetProcAddress( hmod, "cgGetParameterDirection" )))
241         failed++;
242     if(0 == (cgIsParameterReferenced = (PFNCGISPARAMETERREFERENCEDPROC)GetProcAddress( hmod, "cgIsParameterReferenced" )))
243         failed++;
244     if(0 == (cgGetParameterValues = (PFNCGGETPARAMETERVALUESPROC)GetProcAddress( hmod, "cgGetParameterValues" )))
245         failed++;
246     if(0 == (cgGetTypeString = (PFNCGGETTYPESTRINGPROC)GetProcAddress( hmod, "cgGetTypeString" )))
247         failed++;
248     if(0 == (cgGetType = (PFNCGGETTYPEPROC)GetProcAddress( hmod, "cgGetType" )))
249         failed++;
250     if(0 == (cgGetResourceString = (PFNCGGETRESOURCESTRINGPROC)GetProcAddress( hmod, "cgGetResourceString" )))
251         failed++;
252     if(0 == (cgGetResource = (PFNCGGETRESOURCEPROC)GetProcAddress( hmod, "cgGetResource" )))
253         failed++;
254     if(0 == (cgGetProfileString = (PFNCGGETPROFILESTRINGPROC)GetProcAddress( hmod, "cgGetProfileString" )))
255         failed++;
256     if(0 == (cgGetProfile = (PFNCGGETPROFILEPROC)GetProcAddress( hmod, "cgGetProfile" )))
257         failed++;
258     if(0 == (cgGetError = (PFNCGGETERRORPROC)GetProcAddress( hmod, "cgGetError" )))
259         failed++;
260     if(0 == (cgGetErrorString = (PFNCGGETERRORSTRINGPROC)GetProcAddress( hmod, "cgGetErrorString" )))
261         failed++;
262     if(0 == (cgSetErrorCallback = (PFNCGSETERRORCALLBACKPROC)GetProcAddress( hmod, "cgSetErrorCallback" )))
263         failed++;
264     if(0 == (cgGetErrorCallback = (PFNCGGETERRORCALLBACKPROC)GetProcAddress( hmod, "cgGetErrorCallback" )))
265         failed++;
266
267     
268     
269     hmod = LoadLibrary("cgGL.dll");
270
271     
272     
273     if(0 == (cgGLIsProfileSupported = (PFNCGGLISPROFILESUPPORTEDPROC)GetProcAddress( hmod, "cgGLIsProfileSupported" )))
274         failed++;
275     if(0 == (cgGLEnableProfile = (PFNCGGLENABLEPROFILEPROC)GetProcAddress( hmod, "cgGLEnableProfile" )))
276         failed++;
277     if(0 == (cgGLDisableProfile = (PFNCGGLDISABLEPROFILEPROC)GetProcAddress( hmod, "cgGLDisableProfile" )))
278         failed++;
279     if(0 == (cgGLGetLatestProfile = (PFNCGGLGETLATESTPROFILEPROC)GetProcAddress( hmod, "cgGLGetLatestProfile" )))
280         failed++;
281     if(0 == (cgGLSetOptimalOptions = (PFNCGGLSETOPTIMALOPTIONSPROC)GetProcAddress( hmod, "cgGLSetOptimalOptions" )))
282         failed++;
283     if(0 == (cgGLLoadProgram = (PFNCGGLLOADPROGRAMPROC)GetProcAddress( hmod, "cgGLLoadProgram" )))
284         failed++;
285     if(0 == (cgGLBindProgram = (PFNCGGLBINDPROGRAMPROC)GetProcAddress( hmod, "cgGLBindProgram" )))
286         failed++;
287     if(0 == (cgGLSetParameter1f = (PFNCGGLSETPARAMETER1FPROC)GetProcAddress( hmod, "cgGLSetParameter1f" )))
288         failed++;
289     if(0 == (cgGLSetParameter2f = (PFNCGGLSETPARAMETER2FPROC)GetProcAddress( hmod, "cgGLSetParameter2f" )))
290         failed++;
291     if(0 == (cgGLSetParameter3f = (PFNCGGLSETPARAMETER3FPROC)GetProcAddress( hmod, "cgGLSetParameter3f" )))
292         failed++;
293     if(0 == (cgGLSetParameter4f = (PFNCGGLSETPARAMETER4FPROC)GetProcAddress( hmod, "cgGLSetParameter4f" )))
294         failed++;
295     if(0 == (cgGLSetParameter1fv = (PFNCGGLSETPARAMETER1FVPROC)GetProcAddress( hmod, "cgGLSetParameter1fv" )))
296         failed++;
297     if(0 == (cgGLSetParameter2fv = (PFNCGGLSETPARAMETER2FVPROC)GetProcAddress( hmod, "cgGLSetParameter2fv" )))
298         failed++;
299     if(0 == (cgGLSetParameter3fv = (PFNCGGLSETPARAMETER3FVPROC)GetProcAddress( hmod, "cgGLSetParameter3fv" )))
300         failed++;
301     if(0 == (cgGLSetParameter4fv = (PFNCGGLSETPARAMETER4FVPROC)GetProcAddress( hmod, "cgGLSetParameter4fv" )))
302         failed++;
303     if(0 == (cgGLSetParameter1d = (PFNCGGLSETPARAMETER1DPROC)GetProcAddress( hmod, "cgGLSetParameter1d" )))
304         failed++;
305     if(0 == (cgGLSetParameter2d = (PFNCGGLSETPARAMETER2DPROC)GetProcAddress( hmod, "cgGLSetParameter2d" )))
306         failed++;
307     if(0 == (cgGLSetParameter3d = (PFNCGGLSETPARAMETER3DPROC)GetProcAddress( hmod, "cgGLSetParameter3d" )))
308         failed++;
309     if(0 == (cgGLSetParameter4d = (PFNCGGLSETPARAMETER4DPROC)GetProcAddress( hmod, "cgGLSetParameter4d" )))
310         failed++;
311     if(0 == (cgGLSetParameter1dv = (PFNCGGLSETPARAMETER1DVPROC)GetProcAddress( hmod, "cgGLSetParameter1dv" )))
312         failed++;
313     if(0 == (cgGLSetParameter2dv = (PFNCGGLSETPARAMETER2DVPROC)GetProcAddress( hmod, "cgGLSetParameter2dv" )))
314         failed++;
315     if(0 == (cgGLSetParameter3dv = (PFNCGGLSETPARAMETER3DVPROC)GetProcAddress( hmod, "cgGLSetParameter3dv" )))
316         failed++;
317     if(0 == (cgGLSetParameter4dv = (PFNCGGLSETPARAMETER4DVPROC)GetProcAddress( hmod, "cgGLSetParameter4dv" )))
318         failed++;
319     if(0 == (cgGLSetParameter4dv = (PFNCGGLSETPARAMETER4DVPROC)GetProcAddress( hmod, "cgGLSetParameter4dv" )))
320         failed++;
321     if(0 == (cgGLGetParameter1f = (PFNCGGLGETPARAMETER1FPROC)GetProcAddress( hmod, "cgGLGetParameter1f" )))
322         failed++;
323     if(0 == (cgGLGetParameter2f = (PFNCGGLGETPARAMETER2FPROC)GetProcAddress( hmod, "cgGLGetParameter2f" )))
324         failed++;
325     if(0 == (cgGLGetParameter3f = (PFNCGGLGETPARAMETER3FPROC)GetProcAddress( hmod, "cgGLGetParameter3f" )))
326         failed++;
327     if(0 == (cgGLGetParameter4f = (PFNCGGLGETPARAMETER4FPROC)GetProcAddress( hmod, "cgGLGetParameter4f" )))
328         failed++;
329     if(0 == (cgGLGetParameter1d = (PFNCGGLGETPARAMETER1DPROC)GetProcAddress( hmod, "cgGLGetParameter1d" )))
330         failed++;
331     if(0 == (cgGLGetParameter2d = (PFNCGGLGETPARAMETER2DPROC)GetProcAddress( hmod, "cgGLGetParameter2d" )))
332         failed++;
333     if(0 == (cgGLGetParameter3d = (PFNCGGLGETPARAMETER3DPROC)GetProcAddress( hmod, "cgGLGetParameter3d" )))
334         failed++;
335     if(0 == (cgGLGetParameter4d = (PFNCGGLGETPARAMETER4DPROC)GetProcAddress( hmod, "cgGLGetParameter4d" )))
336         failed++;
337     if(0 == (cgGLSetParameterArray1f = (PFNCGGLSETPARAMETERARRAY1FPROC)GetProcAddress( hmod, "cgGLSetParameterArray1f" )))
338         failed++;
339     if(0 == (cgGLSetParameterArray2f = (PFNCGGLSETPARAMETERARRAY2FPROC)GetProcAddress( hmod, "cgGLSetParameterArray2f" )))
340         failed++;
341     if(0 == (cgGLSetParameterArray3f = (PFNCGGLSETPARAMETERARRAY3FPROC)GetProcAddress( hmod, "cgGLSetParameterArray3f" )))
342         failed++;
343     if(0 == (cgGLSetParameterArray4f = (PFNCGGLSETPARAMETERARRAY4FPROC)GetProcAddress( hmod, "cgGLSetParameterArray4f" )))
344         failed++;
345     if(0 == (cgGLSetParameterArray1d = (PFNCGGLSETPARAMETERARRAY1DPROC)GetProcAddress( hmod, "cgGLSetParameterArray1d" )))
346         failed++;
347     if(0 == (cgGLSetParameterArray2d = (PFNCGGLSETPARAMETERARRAY2DPROC)GetProcAddress( hmod, "cgGLSetParameterArray2d" )))
348         failed++;
349     if(0 == (cgGLSetParameterArray3d = (PFNCGGLSETPARAMETERARRAY3DPROC)GetProcAddress( hmod, "cgGLSetParameterArray3d" )))
350         failed++;
351     if(0 == (cgGLSetParameterArray4d = (PFNCGGLSETPARAMETERARRAY4DPROC)GetProcAddress( hmod, "cgGLSetParameterArray4d" )))
352         failed++;
353     if(0 == (cgGLGetParameterArray1f = (PFNCGGLGETPARAMETERARRAY1FPROC)GetProcAddress( hmod, "cgGLGetParameterArray1f" )))
354         failed++;
355     if(0 == (cgGLGetParameterArray2f = (PFNCGGLGETPARAMETERARRAY2FPROC)GetProcAddress( hmod, "cgGLGetParameterArray2f" )))
356         failed++;
357     if(0 == (cgGLGetParameterArray3f = (PFNCGGLGETPARAMETERARRAY3FPROC)GetProcAddress( hmod, "cgGLGetParameterArray3f" )))
358         failed++;
359     if(0 == (cgGLGetParameterArray4f = (PFNCGGLGETPARAMETERARRAY4FPROC)GetProcAddress( hmod, "cgGLGetParameterArray4f" )))
360         failed++;
361     if(0 == (cgGLGetParameterArray1d = (PFNCGGLGETPARAMETERARRAY1DPROC)GetProcAddress( hmod, "cgGLGetParameterArray1d" )))
362         failed++;
363     if(0 == (cgGLGetParameterArray2d = (PFNCGGLGETPARAMETERARRAY2DPROC)GetProcAddress( hmod, "cgGLGetParameterArray2d" )))
364         failed++;
365     if(0 == (cgGLGetParameterArray3d = (PFNCGGLGETPARAMETERARRAY3DPROC)GetProcAddress( hmod, "cgGLGetParameterArray3d" )))
366         failed++;
367     if(0 == (cgGLGetParameterArray4d = (PFNCGGLGETPARAMETERARRAY4DPROC)GetProcAddress( hmod, "cgGLGetParameterArray4d" )))
368         failed++;
369     if(0 == (cgGLSetParameterPointer = (PFNCGGLSETPARAMETERPOINTERPROC)GetProcAddress( hmod, "cgGLSetParameterPointer" )))
370         failed++;
371     if(0 == (cgGLEnableClientState = (PFNCGGLENABLECLIENTSTATEPROC)GetProcAddress( hmod, "cgGLEnableClientState" )))
372         failed++;
373     if(0 == (cgGLDisableClientState = (PFNCGGLDISABLECLIENTSTATEPROC)GetProcAddress( hmod, "cgGLDisableClientState" )))
374         failed++;
375     if(0 == (cgGLSetMatrixParameterdr = (PFNCGGLSETMATRIXPARAMETERDRPROC)GetProcAddress( hmod, "cgGLSetMatrixParameterdr" )))
376         failed++;
377     if(0 == (cgGLSetMatrixParameterfr = (PFNCGGLSETMATRIXPARAMETERFRPROC)GetProcAddress( hmod, "cgGLSetMatrixParameterfr" )))
378         failed++;
379     if(0 == (cgGLSetMatrixParameterdc = (PFNCGGLSETMATRIXPARAMETERDCPROC)GetProcAddress( hmod, "cgGLSetMatrixParameterdc" )))
380         failed++;
381     if(0 == (cgGLSetMatrixParameterfc = (PFNCGGLSETMATRIXPARAMETERFCPROC)GetProcAddress( hmod, "cgGLSetMatrixParameterfc" )))
382         failed++;
383     if(0 == (cgGLGetMatrixParameterdr = (PFNCGGLGETMATRIXPARAMETERDRPROC)GetProcAddress( hmod, "cgGLGetMatrixParameterdr" )))
384         failed++;
385     if(0 == (cgGLGetMatrixParameterfr = (PFNCGGLGETMATRIXPARAMETERFRPROC)GetProcAddress( hmod, "cgGLGetMatrixParameterfr" )))
386         failed++;
387     if(0 == (cgGLGetMatrixParameterdc = (PFNCGGLGETMATRIXPARAMETERDCPROC)GetProcAddress( hmod, "cgGLGetMatrixParameterdc" )))
388         failed++;
389     if(0 == (cgGLGetMatrixParameterfc = (PFNCGGLGETMATRIXPARAMETERFCPROC)GetProcAddress( hmod, "cgGLGetMatrixParameterfc" )))
390         failed++;
391     if(0 == (cgGLSetStateMatrixParameter = (PFNCGGLSETSTATEMATRIXPARAMETERPROC)GetProcAddress( hmod, "cgGLSetStateMatrixParameter" )))
392         failed++;
393     //if(0 == (cgGLSetMatrixParameterArrayfc = (PFNCGGLSETMATRIXPARAMETERARRAYFCPROC)GetProcAddress( hmod, "cgGLSetMatrixParameterArrayfc" )))
394      //   failed++;
395     //if(0 == (cgGLSetMatrixParameterArrayfr = (PFNCGGLSETMATRIXPARAMETERARRAYFRPROC)GetProcAddress( hmod, "cgGLSetMatrixParameterArrayfr" )))
396      //   failed++;
397     //if(0 == (cgGLSetMatrixParameterArraydc = (PFNCGGLSETMATRIXPARAMETERARRAYDCPROC)GetProcAddress( hmod, "cgGLSetMatrixParameterArraydc" )))
398      //   failed++;
399     //if(0 == (cgGLSetMatrixParameterArraydr = (PFNCGGLSETMATRIXPARAMETERARRAYDRPROC)GetProcAddress( hmod, "cgGLSetMatrixParameterArraydr" )))
400      //   failed++;
401     //if(0 == (cgGLGetMatrixParameterArrayfc = (PFNCGGLGETMATRIXPARAMETERARRAYFCPROC)GetProcAddress( hmod, "cgGLGetMatrixParameterArrayfc" )))
402      //   failed++;
403     //if(0 == (cgGLGetMatrixParameterArrayfr = (PFNCGGLGETMATRIXPARAMETERARRAYFRPROC)GetProcAddress( hmod, "cgGLGetMatrixParameterArrayfr" )))
404      //   failed++;
405     //if(0 == (cgGLGetMatrixParameterArraydc = (PFNCGGLGETMATRIXPARAMETERARRAYDCPROC)GetProcAddress( hmod, "cgGLGetMatrixParameterArraydc" )))
406      //   failed++;
407     //if(0 == (cgGLGetMatrixParameterArraydr = (PFNCGGLGETMATRIXPARAMETERARRAYDRPROC)GetProcAddress( hmod, "cgGLGetMatrixParameterArraydr" )))
408      //   failed++;
409     if(0 == (cgGLSetTextureParameter = (PFNCGGLSETTEXTUREPARAMETERPROC)GetProcAddress( hmod, "cgGLSetTextureParameter" )))
410         failed++;
411     if(0 == (cgGLGetTextureParameter = (PFNCGGLGETTEXTUREPARAMETERPROC)GetProcAddress( hmod, "cgGLGetTextureParameter" )))
412         failed++;
413     if(0 == (cgGLEnableTextureParameter = (PFNCGGLENABLETEXTUREPARAMETERPROC)GetProcAddress( hmod, "cgGLEnableTextureParameter" )))
414         failed++;
415     if(0 == (cgGLDisableTextureParameter = (PFNCGGLDISABLETEXTUREPARAMETERPROC)GetProcAddress( hmod, "cgGLDisableTextureParameter" )))
416         failed++;
417     if(0 == (cgGLGetTextureEnum = (PFNCGGLGETTEXTUREENUMPROC)GetProcAddress( hmod, "cgGLGetTextureEnum" )))
418         failed++;
419     
420     return failed == 0;   
421     
422 }
423 #endif