* exception patch from Ales Katona

git-svn-id: trunk@463 -
This commit is contained in:
florian 2005-06-21 19:22:24 +00:00
parent 13e3102954
commit 1ca48d8a64
3 changed files with 569 additions and 546 deletions

View File

@ -1891,354 +1891,370 @@ begin
end; end;
procedure LoadOpenGL(const dll: String); procedure LoadOpenGL(const dll: String);
var
MethodName: string = '';
function GetGLProcAddress(Lib: PtrInt; ProcName: PChar): Pointer;
begin
MethodName:=ProcName;
Result:=GetProcAddress(Lib, ProcName);
end;
begin begin
FreeOpenGL; FreeOpenGL;
LibGL := LoadLibrary(PChar(dll)); LibGL := LoadLibrary(PChar(dll));
if LibGL = 0 then raise Exception.Create('Could not load OpenGL from ' + dll); if LibGL = 0 then raise Exception.Create('Could not load OpenGL from ' + dll);
try
@glAccum := GetProcAddress(LibGL, 'glAccum'); @glAccum := GetGLProcAddress(LibGL, 'glAccum');
@glAlphaFunc := GetProcAddress(LibGL, 'glAlphaFunc'); @glAlphaFunc := GetGLProcAddress(LibGL, 'glAlphaFunc');
@glAreTexturesResident := GetProcAddress(LibGL, 'glAreTexturesResident'); @glAreTexturesResident := GetGLProcAddress(LibGL, 'glAreTexturesResident');
@glArrayElement := GetProcAddress(LibGL, 'glArrayElement'); @glArrayElement := GetGLProcAddress(LibGL, 'glArrayElement');
@glBegin := GetProcAddress(LibGL, 'glBegin'); @glBegin := GetGLProcAddress(LibGL, 'glBegin');
@glBindTexture := GetProcAddress(LibGL, 'glBindTexture'); @glBindTexture := GetGLProcAddress(LibGL, 'glBindTexture');
@glBitmap := GetProcAddress(LibGL, 'glBitmap'); @glBitmap := GetGLProcAddress(LibGL, 'glBitmap');
@glBlendFunc := GetProcAddress(LibGL, 'glBlendFunc'); @glBlendFunc := GetGLProcAddress(LibGL, 'glBlendFunc');
@glCallList := GetProcAddress(LibGL, 'glCallList'); @glCallList := GetGLProcAddress(LibGL, 'glCallList');
@glCallLists := GetProcAddress(LibGL, 'glCallLists'); @glCallLists := GetGLProcAddress(LibGL, 'glCallLists');
@glClear := GetProcAddress(LibGL, 'glClear'); @glClear := GetGLProcAddress(LibGL, 'glClear');
@glClearAccum := GetProcAddress(LibGL, 'glClearAccum'); @glClearAccum := GetGLProcAddress(LibGL, 'glClearAccum');
@glClearColor := GetProcAddress(LibGL, 'glClearColor'); @glClearColor := GetGLProcAddress(LibGL, 'glClearColor');
@glClearDepth := GetProcAddress(LibGL, 'glClearDepth'); @glClearDepth := GetGLProcAddress(LibGL, 'glClearDepth');
@glClearIndex := GetProcAddress(LibGL, 'glClearIndex'); @glClearIndex := GetGLProcAddress(LibGL, 'glClearIndex');
@glClearStencil := GetProcAddress(LibGL, 'glClearStencil'); @glClearStencil := GetGLProcAddress(LibGL, 'glClearStencil');
@glClipPlane := GetProcAddress(LibGL, 'glClipPlane'); @glClipPlane := GetGLProcAddress(LibGL, 'glClipPlane');
@glColor3b := GetProcAddress(LibGL, 'glColor3b'); @glColor3b := GetGLProcAddress(LibGL, 'glColor3b');
@glColor3bv := GetProcAddress(LibGL, 'glColor3bv'); @glColor3bv := GetGLProcAddress(LibGL, 'glColor3bv');
@glColor3d := GetProcAddress(LibGL, 'glColor3d'); @glColor3d := GetGLProcAddress(LibGL, 'glColor3d');
@glColor3dv := GetProcAddress(LibGL, 'glColor3dv'); @glColor3dv := GetGLProcAddress(LibGL, 'glColor3dv');
@glColor3f := GetProcAddress(LibGL, 'glColor3f'); @glColor3f := GetGLProcAddress(LibGL, 'glColor3f');
@glColor3fv := GetProcAddress(LibGL, 'glColor3fv'); @glColor3fv := GetGLProcAddress(LibGL, 'glColor3fv');
@glColor3i := GetProcAddress(LibGL, 'glColor3i'); @glColor3i := GetGLProcAddress(LibGL, 'glColor3i');
@glColor3iv := GetProcAddress(LibGL, 'glColor3iv'); @glColor3iv := GetGLProcAddress(LibGL, 'glColor3iv');
@glColor3s := GetProcAddress(LibGL, 'glColor3s'); @glColor3s := GetGLProcAddress(LibGL, 'glColor3s');
@glColor3sv := GetProcAddress(LibGL, 'glColor3sv'); @glColor3sv := GetGLProcAddress(LibGL, 'glColor3sv');
@glColor3ub := GetProcAddress(LibGL, 'glColor3ub'); @glColor3ub := GetGLProcAddress(LibGL, 'glColor3ub');
@glColor3ubv := GetProcAddress(LibGL, 'glColor3ubv'); @glColor3ubv := GetGLProcAddress(LibGL, 'glColor3ubv');
@glColor3ui := GetProcAddress(LibGL, 'glColor3ui'); @glColor3ui := GetGLProcAddress(LibGL, 'glColor3ui');
@glColor3uiv := GetProcAddress(LibGL, 'glColor3uiv'); @glColor3uiv := GetGLProcAddress(LibGL, 'glColor3uiv');
@glColor3us := GetProcAddress(LibGL, 'glColor3us'); @glColor3us := GetGLProcAddress(LibGL, 'glColor3us');
@glColor3usv := GetProcAddress(LibGL, 'glColor3usv'); @glColor3usv := GetGLProcAddress(LibGL, 'glColor3usv');
@glColor4b := GetProcAddress(LibGL, 'glColor4b'); @glColor4b := GetGLProcAddress(LibGL, 'glColor4b');
@glColor4bv := GetProcAddress(LibGL, 'glColor4bv'); @glColor4bv := GetGLProcAddress(LibGL, 'glColor4bv');
@glColor4d := GetProcAddress(LibGL, 'glColor4d'); @glColor4d := GetGLProcAddress(LibGL, 'glColor4d');
@glColor4dv := GetProcAddress(LibGL, 'glColor4dv'); @glColor4dv := GetGLProcAddress(LibGL, 'glColor4dv');
@glColor4f := GetProcAddress(LibGL, 'glColor4f'); @glColor4f := GetGLProcAddress(LibGL, 'glColor4f');
@glColor4fv := GetProcAddress(LibGL, 'glColor4fv'); @glColor4fv := GetGLProcAddress(LibGL, 'glColor4fv');
@glColor4i := GetProcAddress(LibGL, 'glColor4i'); @glColor4i := GetGLProcAddress(LibGL, 'glColor4i');
@glColor4iv := GetProcAddress(LibGL, 'glColor4iv'); @glColor4iv := GetGLProcAddress(LibGL, 'glColor4iv');
@glColor4s := GetProcAddress(LibGL, 'glColor4s'); @glColor4s := GetGLProcAddress(LibGL, 'glColor4s');
@glColor4sv := GetProcAddress(LibGL, 'glColor4sv'); @glColor4sv := GetGLProcAddress(LibGL, 'glColor4sv');
@glColor4ub := GetProcAddress(LibGL, 'glColor4ub'); @glColor4ub := GetGLProcAddress(LibGL, 'glColor4ub');
@glColor4ubv := GetProcAddress(LibGL, 'glColor4ubv'); @glColor4ubv := GetGLProcAddress(LibGL, 'glColor4ubv');
@glColor4ui := GetProcAddress(LibGL, 'glColor4ui'); @glColor4ui := GetGLProcAddress(LibGL, 'glColor4ui');
@glColor4uiv := GetProcAddress(LibGL, 'glColor4uiv'); @glColor4uiv := GetGLProcAddress(LibGL, 'glColor4uiv');
@glColor4us := GetProcAddress(LibGL, 'glColor4us'); @glColor4us := GetGLProcAddress(LibGL, 'glColor4us');
@glColor4usv := GetProcAddress(LibGL, 'glColor4usv'); @glColor4usv := GetGLProcAddress(LibGL, 'glColor4usv');
@glColorMask := GetProcAddress(LibGL, 'glColorMask'); @glColorMask := GetGLProcAddress(LibGL, 'glColorMask');
@glColorMaterial := GetProcAddress(LibGL, 'glColorMaterial'); @glColorMaterial := GetGLProcAddress(LibGL, 'glColorMaterial');
@glColorPointer := GetProcAddress(LibGL, 'glColorPointer'); @glColorPointer := GetGLProcAddress(LibGL, 'glColorPointer');
@glCopyPixels := GetProcAddress(LibGL, 'glCopyPixels'); @glCopyPixels := GetGLProcAddress(LibGL, 'glCopyPixels');
@glCopyTexImage1D := GetProcAddress(LibGL, 'glCopyTexImage1D'); @glCopyTexImage1D := GetGLProcAddress(LibGL, 'glCopyTexImage1D');
@glCopyTexImage2D := GetProcAddress(LibGL, 'glCopyTexImage2D'); @glCopyTexImage2D := GetGLProcAddress(LibGL, 'glCopyTexImage2D');
@glCopyTexSubImage1D := GetProcAddress(LibGL, 'glCopyTexSubImage1D'); @glCopyTexSubImage1D := GetGLProcAddress(LibGL, 'glCopyTexSubImage1D');
@glCopyTexSubImage2D := GetProcAddress(LibGL, 'glCopyTexSubImage2D'); @glCopyTexSubImage2D := GetGLProcAddress(LibGL, 'glCopyTexSubImage2D');
@glCullFace := GetProcAddress(LibGL, 'glCullFace'); @glCullFace := GetGLProcAddress(LibGL, 'glCullFace');
@glDeleteLists := GetProcAddress(LibGL, 'glDeleteLists'); @glDeleteLists := GetGLProcAddress(LibGL, 'glDeleteLists');
@glDeleteTextures := GetProcAddress(LibGL, 'glDeleteTextures'); @glDeleteTextures := GetGLProcAddress(LibGL, 'glDeleteTextures');
@glDepthFunc := GetProcAddress(LibGL, 'glDepthFunc'); @glDepthFunc := GetGLProcAddress(LibGL, 'glDepthFunc');
@glDepthMask := GetProcAddress(LibGL, 'glDepthMask'); @glDepthMask := GetGLProcAddress(LibGL, 'glDepthMask');
@glDepthRange := GetProcAddress(LibGL, 'glDepthRange'); @glDepthRange := GetGLProcAddress(LibGL, 'glDepthRange');
@glDisable := GetProcAddress(LibGL, 'glDisable'); @glDisable := GetGLProcAddress(LibGL, 'glDisable');
@glDisableClientState := GetProcAddress(LibGL, 'glDisableClientState'); @glDisableClientState := GetGLProcAddress(LibGL, 'glDisableClientState');
@glDrawArrays := GetProcAddress(LibGL, 'glDrawArrays'); @glDrawArrays := GetGLProcAddress(LibGL, 'glDrawArrays');
@glDrawBuffer := GetProcAddress(LibGL, 'glDrawBuffer'); @glDrawBuffer := GetGLProcAddress(LibGL, 'glDrawBuffer');
@glDrawElements := GetProcAddress(LibGL, 'glDrawElements'); @glDrawElements := GetGLProcAddress(LibGL, 'glDrawElements');
@glDrawPixels := GetProcAddress(LibGL, 'glDrawPixels'); @glDrawPixels := GetGLProcAddress(LibGL, 'glDrawPixels');
@glEdgeFlag := GetProcAddress(LibGL, 'glEdgeFlag'); @glEdgeFlag := GetGLProcAddress(LibGL, 'glEdgeFlag');
@glEdgeFlagPointer := GetProcAddress(LibGL, 'glEdgeFlagPointer'); @glEdgeFlagPointer := GetGLProcAddress(LibGL, 'glEdgeFlagPointer');
@glEdgeFlagv := GetProcAddress(LibGL, 'glEdgeFlagv'); @glEdgeFlagv := GetGLProcAddress(LibGL, 'glEdgeFlagv');
@glEnable := GetProcAddress(LibGL, 'glEnable'); @glEnable := GetGLProcAddress(LibGL, 'glEnable');
@glEnableClientState := GetProcAddress(LibGL, 'glEnableClientState'); @glEnableClientState := GetGLProcAddress(LibGL, 'glEnableClientState');
@glEnd := GetProcAddress(LibGL, 'glEnd'); @glEnd := GetGLProcAddress(LibGL, 'glEnd');
@glEndList := GetProcAddress(LibGL, 'glEndList'); @glEndList := GetGLProcAddress(LibGL, 'glEndList');
@glEvalCoord1d := GetProcAddress(LibGL, 'glEvalCoord1d'); @glEvalCoord1d := GetGLProcAddress(LibGL, 'glEvalCoord1d');
@glEvalCoord1dv := GetProcAddress(LibGL, 'glEvalCoord1dv'); @glEvalCoord1dv := GetGLProcAddress(LibGL, 'glEvalCoord1dv');
@glEvalCoord1f := GetProcAddress(LibGL, 'glEvalCoord1f'); @glEvalCoord1f := GetGLProcAddress(LibGL, 'glEvalCoord1f');
@glEvalCoord1fv := GetProcAddress(LibGL, 'glEvalCoord1fv'); @glEvalCoord1fv := GetGLProcAddress(LibGL, 'glEvalCoord1fv');
@glEvalCoord2d := GetProcAddress(LibGL, 'glEvalCoord2d'); @glEvalCoord2d := GetGLProcAddress(LibGL, 'glEvalCoord2d');
@glEvalCoord2dv := GetProcAddress(LibGL, 'glEvalCoord2dv'); @glEvalCoord2dv := GetGLProcAddress(LibGL, 'glEvalCoord2dv');
@glEvalCoord2f := GetProcAddress(LibGL, 'glEvalCoord2f'); @glEvalCoord2f := GetGLProcAddress(LibGL, 'glEvalCoord2f');
@glEvalCoord2fv := GetProcAddress(LibGL, 'glEvalCoord2fv'); @glEvalCoord2fv := GetGLProcAddress(LibGL, 'glEvalCoord2fv');
@glEvalMesh1 := GetProcAddress(LibGL, 'glEvalMesh1'); @glEvalMesh1 := GetGLProcAddress(LibGL, 'glEvalMesh1');
@glEvalMesh2 := GetProcAddress(LibGL, 'glEvalMesh2'); @glEvalMesh2 := GetGLProcAddress(LibGL, 'glEvalMesh2');
@glEvalPoint1 := GetProcAddress(LibGL, 'glEvalPoint1'); @glEvalPoint1 := GetGLProcAddress(LibGL, 'glEvalPoint1');
@glEvalPoint2 := GetProcAddress(LibGL, 'glEvalPoint2'); @glEvalPoint2 := GetGLProcAddress(LibGL, 'glEvalPoint2');
@glFeedbackBuffer := GetProcAddress(LibGL, 'glFeedbackBuffer'); @glFeedbackBuffer := GetGLProcAddress(LibGL, 'glFeedbackBuffer');
@glFinish := GetProcAddress(LibGL, 'glFinish'); @glFinish := GetGLProcAddress(LibGL, 'glFinish');
@glFlush := GetProcAddress(LibGL, 'glFlush'); @glFlush := GetGLProcAddress(LibGL, 'glFlush');
@glFogf := GetProcAddress(LibGL, 'glFogf'); @glFogf := GetGLProcAddress(LibGL, 'glFogf');
@glFogfv := GetProcAddress(LibGL, 'glFogfv'); @glFogfv := GetGLProcAddress(LibGL, 'glFogfv');
@glFogi := GetProcAddress(LibGL, 'glFogi'); @glFogi := GetGLProcAddress(LibGL, 'glFogi');
@glFogiv := GetProcAddress(LibGL, 'glFogiv'); @glFogiv := GetGLProcAddress(LibGL, 'glFogiv');
@glFrontFace := GetProcAddress(LibGL, 'glFrontFace'); @glFrontFace := GetGLProcAddress(LibGL, 'glFrontFace');
@glFrustum := GetProcAddress(LibGL, 'glFrustum'); @glFrustum := GetGLProcAddress(LibGL, 'glFrustum');
@glGenLists := GetProcAddress(LibGL, 'glGenLists'); @glGenLists := GetGLProcAddress(LibGL, 'glGenLists');
@glGenTextures := GetProcAddress(LibGL, 'glGenTextures'); @glGenTextures := GetGLProcAddress(LibGL, 'glGenTextures');
@glGetBooleanv := GetProcAddress(LibGL, 'glGetBooleanv'); @glGetBooleanv := GetGLProcAddress(LibGL, 'glGetBooleanv');
@glGetClipPlane := GetProcAddress(LibGL, 'glGetClipPlane'); @glGetClipPlane := GetGLProcAddress(LibGL, 'glGetClipPlane');
@glGetDoublev := GetProcAddress(LibGL, 'glGetDoublev'); @glGetDoublev := GetGLProcAddress(LibGL, 'glGetDoublev');
@glGetError := GetProcAddress(LibGL, 'glGetError'); @glGetError := GetGLProcAddress(LibGL, 'glGetError');
@glGetFloatv := GetProcAddress(LibGL, 'glGetFloatv'); @glGetFloatv := GetGLProcAddress(LibGL, 'glGetFloatv');
@glGetIntegerv := GetProcAddress(LibGL, 'glGetIntegerv'); @glGetIntegerv := GetGLProcAddress(LibGL, 'glGetIntegerv');
@glGetLightfv := GetProcAddress(LibGL, 'glGetLightfv'); @glGetLightfv := GetGLProcAddress(LibGL, 'glGetLightfv');
@glGetLightiv := GetProcAddress(LibGL, 'glGetLightiv'); @glGetLightiv := GetGLProcAddress(LibGL, 'glGetLightiv');
@glGetMapdv := GetProcAddress(LibGL, 'glGetMapdv'); @glGetMapdv := GetGLProcAddress(LibGL, 'glGetMapdv');
@glGetMapfv := GetProcAddress(LibGL, 'glGetMapfv'); @glGetMapfv := GetGLProcAddress(LibGL, 'glGetMapfv');
@glGetMapiv := GetProcAddress(LibGL, 'glGetMapiv'); @glGetMapiv := GetGLProcAddress(LibGL, 'glGetMapiv');
@glGetMaterialfv := GetProcAddress(LibGL, 'glGetMaterialfv'); @glGetMaterialfv := GetGLProcAddress(LibGL, 'glGetMaterialfv');
@glGetMaterialiv := GetProcAddress(LibGL, 'glGetMaterialiv'); @glGetMaterialiv := GetGLProcAddress(LibGL, 'glGetMaterialiv');
@glGetPixelMapfv := GetProcAddress(LibGL, 'glGetPixelMapfv'); @glGetPixelMapfv := GetGLProcAddress(LibGL, 'glGetPixelMapfv');
@glGetPixelMapuiv := GetProcAddress(LibGL, 'glGetPixelMapuiv'); @glGetPixelMapuiv := GetGLProcAddress(LibGL, 'glGetPixelMapuiv');
@glGetPixelMapusv := GetProcAddress(LibGL, 'glGetPixelMapusv'); @glGetPixelMapusv := GetGLProcAddress(LibGL, 'glGetPixelMapusv');
@glGetPointerv := GetProcAddress(LibGL, 'glGetPointerv'); @glGetPointerv := GetGLProcAddress(LibGL, 'glGetPointerv');
@glGetPolygonStipple := GetProcAddress(LibGL, 'glGetPolygonStipple'); @glGetPolygonStipple := GetGLProcAddress(LibGL, 'glGetPolygonStipple');
@glGetString := GetProcAddress(LibGL, 'glGetString'); @glGetString := GetGLProcAddress(LibGL, 'glGetString');
@glGetTexEnvfv := GetProcAddress(LibGL, 'glGetTexEnvfv'); @glGetTexEnvfv := GetGLProcAddress(LibGL, 'glGetTexEnvfv');
@glGetTexEnviv := GetProcAddress(LibGL, 'glGetTexEnviv'); @glGetTexEnviv := GetGLProcAddress(LibGL, 'glGetTexEnviv');
@glGetTexGendv := GetProcAddress(LibGL, 'glGetTexGendv'); @glGetTexGendv := GetGLProcAddress(LibGL, 'glGetTexGendv');
@glGetTexGenfv := GetProcAddress(LibGL, 'glGetTexGenfv'); @glGetTexGenfv := GetGLProcAddress(LibGL, 'glGetTexGenfv');
@glGetTexGeniv := GetProcAddress(LibGL, 'glGetTexGeniv'); @glGetTexGeniv := GetGLProcAddress(LibGL, 'glGetTexGeniv');
@glGetTexImage := GetProcAddress(LibGL, 'glGetTexImage'); @glGetTexImage := GetGLProcAddress(LibGL, 'glGetTexImage');
@glGetTexLevelParameterfv := GetProcAddress(LibGL, 'glGetTexLevelParameterfv'); @glGetTexLevelParameterfv := GetGLProcAddress(LibGL, 'glGetTexLevelParameterfv');
@glGetTexLevelParameteriv := GetProcAddress(LibGL, 'glGetTexLevelParameteriv'); @glGetTexLevelParameteriv := GetGLProcAddress(LibGL, 'glGetTexLevelParameteriv');
@glGetTexParameterfv := GetProcAddress(LibGL, 'glGetTexParameterfv'); @glGetTexParameterfv := GetGLProcAddress(LibGL, 'glGetTexParameterfv');
@glGetTexParameteriv := GetProcAddress(LibGL, 'glGetTexParameteriv'); @glGetTexParameteriv := GetGLProcAddress(LibGL, 'glGetTexParameteriv');
@glHint := GetProcAddress(LibGL, 'glHint'); @glHint := GetGLProcAddress(LibGL, 'glHint');
@glIndexMask := GetProcAddress(LibGL, 'glIndexMask'); @glIndexMask := GetGLProcAddress(LibGL, 'glIndexMask');
@glIndexPointer := GetProcAddress(LibGL, 'glIndexPointer'); @glIndexPointer := GetGLProcAddress(LibGL, 'glIndexPointer');
@glIndexd := GetProcAddress(LibGL, 'glIndexd'); @glIndexd := GetGLProcAddress(LibGL, 'glIndexd');
@glIndexdv := GetProcAddress(LibGL, 'glIndexdv'); @glIndexdv := GetGLProcAddress(LibGL, 'glIndexdv');
@glIndexf := GetProcAddress(LibGL, 'glIndexf'); @glIndexf := GetGLProcAddress(LibGL, 'glIndexf');
@glIndexfv := GetProcAddress(LibGL, 'glIndexfv'); @glIndexfv := GetGLProcAddress(LibGL, 'glIndexfv');
@glIndexi := GetProcAddress(LibGL, 'glIndexi'); @glIndexi := GetGLProcAddress(LibGL, 'glIndexi');
@glIndexiv := GetProcAddress(LibGL, 'glIndexiv'); @glIndexiv := GetGLProcAddress(LibGL, 'glIndexiv');
@glIndexs := GetProcAddress(LibGL, 'glIndexs'); @glIndexs := GetGLProcAddress(LibGL, 'glIndexs');
@glIndexsv := GetProcAddress(LibGL, 'glIndexsv'); @glIndexsv := GetGLProcAddress(LibGL, 'glIndexsv');
@glIndexub := GetProcAddress(LibGL, 'glIndexub'); @glIndexub := GetGLProcAddress(LibGL, 'glIndexub');
@glIndexubv := GetProcAddress(LibGL, 'glIndexubv'); @glIndexubv := GetGLProcAddress(LibGL, 'glIndexubv');
@glInitNames := GetProcAddress(LibGL, 'glInitNames'); @glInitNames := GetGLProcAddress(LibGL, 'glInitNames');
@glInterleavedArrays := GetProcAddress(LibGL, 'glInterleavedArrays'); @glInterleavedArrays := GetGLProcAddress(LibGL, 'glInterleavedArrays');
@glIsEnabled := GetProcAddress(LibGL, 'glIsEnabled'); @glIsEnabled := GetGLProcAddress(LibGL, 'glIsEnabled');
@glIsList := GetProcAddress(LibGL, 'glIsList'); @glIsList := GetGLProcAddress(LibGL, 'glIsList');
@glIsTexture := GetProcAddress(LibGL, 'glIsTexture'); @glIsTexture := GetGLProcAddress(LibGL, 'glIsTexture');
@glLightModelf := GetProcAddress(LibGL, 'glLightModelf'); @glLightModelf := GetGLProcAddress(LibGL, 'glLightModelf');
@glLightModelfv := GetProcAddress(LibGL, 'glLightModelfv'); @glLightModelfv := GetGLProcAddress(LibGL, 'glLightModelfv');
@glLightModeli := GetProcAddress(LibGL, 'glLightModeli'); @glLightModeli := GetGLProcAddress(LibGL, 'glLightModeli');
@glLightModeliv := GetProcAddress(LibGL, 'glLightModeliv'); @glLightModeliv := GetGLProcAddress(LibGL, 'glLightModeliv');
@glLightf := GetProcAddress(LibGL, 'glLightf'); @glLightf := GetGLProcAddress(LibGL, 'glLightf');
@glLightfv := GetProcAddress(LibGL, 'glLightfv'); @glLightfv := GetGLProcAddress(LibGL, 'glLightfv');
@glLighti := GetProcAddress(LibGL, 'glLighti'); @glLighti := GetGLProcAddress(LibGL, 'glLighti');
@glLightiv := GetProcAddress(LibGL, 'glLightiv'); @glLightiv := GetGLProcAddress(LibGL, 'glLightiv');
@glLineStipple := GetProcAddress(LibGL, 'glLineStipple'); @glLineStipple := GetGLProcAddress(LibGL, 'glLineStipple');
@glLineWidth := GetProcAddress(LibGL, 'glLineWidth'); @glLineWidth := GetGLProcAddress(LibGL, 'glLineWidth');
@glListBase := GetProcAddress(LibGL, 'glListBase'); @glListBase := GetGLProcAddress(LibGL, 'glListBase');
@glLoadIdentity := GetProcAddress(LibGL, 'glLoadIdentity'); @glLoadIdentity := GetGLProcAddress(LibGL, 'glLoadIdentity');
@glLoadMatrixd := GetProcAddress(LibGL, 'glLoadMatrixd'); @glLoadMatrixd := GetGLProcAddress(LibGL, 'glLoadMatrixd');
@glLoadMatrixf := GetProcAddress(LibGL, 'glLoadMatrixf'); @glLoadMatrixf := GetGLProcAddress(LibGL, 'glLoadMatrixf');
@glLoadName := GetProcAddress(LibGL, 'glLoadName'); @glLoadName := GetGLProcAddress(LibGL, 'glLoadName');
@glLogicOp := GetProcAddress(LibGL, 'glLogicOp'); @glLogicOp := GetGLProcAddress(LibGL, 'glLogicOp');
@glMap1d := GetProcAddress(LibGL, 'glMap1d'); @glMap1d := GetGLProcAddress(LibGL, 'glMap1d');
@glMap1f := GetProcAddress(LibGL, 'glMap1f'); @glMap1f := GetGLProcAddress(LibGL, 'glMap1f');
@glMap2d := GetProcAddress(LibGL, 'glMap2d'); @glMap2d := GetGLProcAddress(LibGL, 'glMap2d');
@glMap2f := GetProcAddress(LibGL, 'glMap2f'); @glMap2f := GetGLProcAddress(LibGL, 'glMap2f');
@glMapGrid1d := GetProcAddress(LibGL, 'glMapGrid1d'); @glMapGrid1d := GetGLProcAddress(LibGL, 'glMapGrid1d');
@glMapGrid1f := GetProcAddress(LibGL, 'glMapGrid1f'); @glMapGrid1f := GetGLProcAddress(LibGL, 'glMapGrid1f');
@glMapGrid2d := GetProcAddress(LibGL, 'glMapGrid2d'); @glMapGrid2d := GetGLProcAddress(LibGL, 'glMapGrid2d');
@glMapGrid2f := GetProcAddress(LibGL, 'glMapGrid2f'); @glMapGrid2f := GetGLProcAddress(LibGL, 'glMapGrid2f');
@glMaterialf := GetProcAddress(LibGL, 'glMaterialf'); @glMaterialf := GetGLProcAddress(LibGL, 'glMaterialf');
@glMaterialfv := GetProcAddress(LibGL, 'glMaterialfv'); @glMaterialfv := GetGLProcAddress(LibGL, 'glMaterialfv');
@glMateriali := GetProcAddress(LibGL, 'glMateriali'); @glMateriali := GetGLProcAddress(LibGL, 'glMateriali');
@glMaterialiv := GetProcAddress(LibGL, 'glMaterialiv'); @glMaterialiv := GetGLProcAddress(LibGL, 'glMaterialiv');
@glMatrixMode := GetProcAddress(LibGL, 'glMatrixMode'); @glMatrixMode := GetGLProcAddress(LibGL, 'glMatrixMode');
@glMultMatrixd := GetProcAddress(LibGL, 'glMultMatrixd'); @glMultMatrixd := GetGLProcAddress(LibGL, 'glMultMatrixd');
@glMultMatrixf := GetProcAddress(LibGL, 'glMultMatrixf'); @glMultMatrixf := GetGLProcAddress(LibGL, 'glMultMatrixf');
@glNewList := GetProcAddress(LibGL, 'glNewList'); @glNewList := GetGLProcAddress(LibGL, 'glNewList');
@glNormal3b := GetProcAddress(LibGL, 'glNormal3b'); @glNormal3b := GetGLProcAddress(LibGL, 'glNormal3b');
@glNormal3bv := GetProcAddress(LibGL, 'glNormal3bv'); @glNormal3bv := GetGLProcAddress(LibGL, 'glNormal3bv');
@glNormal3d := GetProcAddress(LibGL, 'glNormal3d'); @glNormal3d := GetGLProcAddress(LibGL, 'glNormal3d');
@glNormal3dv := GetProcAddress(LibGL, 'glNormal3dv'); @glNormal3dv := GetGLProcAddress(LibGL, 'glNormal3dv');
@glNormal3f := GetProcAddress(LibGL, 'glNormal3f'); @glNormal3f := GetGLProcAddress(LibGL, 'glNormal3f');
@glNormal3fv := GetProcAddress(LibGL, 'glNormal3fv'); @glNormal3fv := GetGLProcAddress(LibGL, 'glNormal3fv');
@glNormal3i := GetProcAddress(LibGL, 'glNormal3i'); @glNormal3i := GetGLProcAddress(LibGL, 'glNormal3i');
@glNormal3iv := GetProcAddress(LibGL, 'glNormal3iv'); @glNormal3iv := GetGLProcAddress(LibGL, 'glNormal3iv');
@glNormal3s := GetProcAddress(LibGL, 'glNormal3s'); @glNormal3s := GetGLProcAddress(LibGL, 'glNormal3s');
@glNormal3sv := GetProcAddress(LibGL, 'glNormal3sv'); @glNormal3sv := GetGLProcAddress(LibGL, 'glNormal3sv');
@glNormalPointer := GetProcAddress(LibGL, 'glNormalPointer'); @glNormalPointer := GetGLProcAddress(LibGL, 'glNormalPointer');
@glOrtho := GetProcAddress(LibGL, 'glOrtho'); @glOrtho := GetGLProcAddress(LibGL, 'glOrtho');
@glPassThrough := GetProcAddress(LibGL, 'glPassThrough'); @glPassThrough := GetGLProcAddress(LibGL, 'glPassThrough');
@glPixelMapfv := GetProcAddress(LibGL, 'glPixelMapfv'); @glPixelMapfv := GetGLProcAddress(LibGL, 'glPixelMapfv');
@glPixelMapuiv := GetProcAddress(LibGL, 'glPixelMapuiv'); @glPixelMapuiv := GetGLProcAddress(LibGL, 'glPixelMapuiv');
@glPixelMapusv := GetProcAddress(LibGL, 'glPixelMapusv'); @glPixelMapusv := GetGLProcAddress(LibGL, 'glPixelMapusv');
@glPixelStoref := GetProcAddress(LibGL, 'glPixelStoref'); @glPixelStoref := GetGLProcAddress(LibGL, 'glPixelStoref');
@glPixelStorei := GetProcAddress(LibGL, 'glPixelStorei'); @glPixelStorei := GetGLProcAddress(LibGL, 'glPixelStorei');
@glPixelTransferf := GetProcAddress(LibGL, 'glPixelTransferf'); @glPixelTransferf := GetGLProcAddress(LibGL, 'glPixelTransferf');
@glPixelTransferi := GetProcAddress(LibGL, 'glPixelTransferi'); @glPixelTransferi := GetGLProcAddress(LibGL, 'glPixelTransferi');
@glPixelZoom := GetProcAddress(LibGL, 'glPixelZoom'); @glPixelZoom := GetGLProcAddress(LibGL, 'glPixelZoom');
@glPointSize := GetProcAddress(LibGL, 'glPointSize'); @glPointSize := GetGLProcAddress(LibGL, 'glPointSize');
@glPolygonMode := GetProcAddress(LibGL, 'glPolygonMode'); @glPolygonMode := GetGLProcAddress(LibGL, 'glPolygonMode');
@glPolygonOffset := GetProcAddress(LibGL, 'glPolygonOffset'); @glPolygonOffset := GetGLProcAddress(LibGL, 'glPolygonOffset');
@glPolygonStipple := GetProcAddress(LibGL, 'glPolygonStipple'); @glPolygonStipple := GetGLProcAddress(LibGL, 'glPolygonStipple');
@glPopAttrib := GetProcAddress(LibGL, 'glPopAttrib'); @glPopAttrib := GetGLProcAddress(LibGL, 'glPopAttrib');
@glPopClientAttrib := GetProcAddress(LibGL, 'glPopClientAttrib'); @glPopClientAttrib := GetGLProcAddress(LibGL, 'glPopClientAttrib');
@glPopMatrix := GetProcAddress(LibGL, 'glPopMatrix'); @glPopMatrix := GetGLProcAddress(LibGL, 'glPopMatrix');
@glPopName := GetProcAddress(LibGL, 'glPopName'); @glPopName := GetGLProcAddress(LibGL, 'glPopName');
@glPrioritizeTextures := GetProcAddress(LibGL, 'glPrioritizeTextures'); @glPrioritizeTextures := GetGLProcAddress(LibGL, 'glPrioritizeTextures');
@glPushAttrib := GetProcAddress(LibGL, 'glPushAttrib'); @glPushAttrib := GetGLProcAddress(LibGL, 'glPushAttrib');
@glPushClientAttrib := GetProcAddress(LibGL, 'glPushClientAttrib'); @glPushClientAttrib := GetGLProcAddress(LibGL, 'glPushClientAttrib');
@glPushMatrix := GetProcAddress(LibGL, 'glPushMatrix'); @glPushMatrix := GetGLProcAddress(LibGL, 'glPushMatrix');
@glPushName := GetProcAddress(LibGL, 'glPushName'); @glPushName := GetGLProcAddress(LibGL, 'glPushName');
@glRasterPos2d := GetProcAddress(LibGL, 'glRasterPos2d'); @glRasterPos2d := GetGLProcAddress(LibGL, 'glRasterPos2d');
@glRasterPos2dv := GetProcAddress(LibGL, 'glRasterPos2dv'); @glRasterPos2dv := GetGLProcAddress(LibGL, 'glRasterPos2dv');
@glRasterPos2f := GetProcAddress(LibGL, 'glRasterPos2f'); @glRasterPos2f := GetGLProcAddress(LibGL, 'glRasterPos2f');
@glRasterPos2fv := GetProcAddress(LibGL, 'glRasterPos2fv'); @glRasterPos2fv := GetGLProcAddress(LibGL, 'glRasterPos2fv');
@glRasterPos2i := GetProcAddress(LibGL, 'glRasterPos2i'); @glRasterPos2i := GetGLProcAddress(LibGL, 'glRasterPos2i');
@glRasterPos2iv := GetProcAddress(LibGL, 'glRasterPos2iv'); @glRasterPos2iv := GetGLProcAddress(LibGL, 'glRasterPos2iv');
@glRasterPos2s := GetProcAddress(LibGL, 'glRasterPos2s'); @glRasterPos2s := GetGLProcAddress(LibGL, 'glRasterPos2s');
@glRasterPos2sv := GetProcAddress(LibGL, 'glRasterPos2sv'); @glRasterPos2sv := GetGLProcAddress(LibGL, 'glRasterPos2sv');
@glRasterPos3d := GetProcAddress(LibGL, 'glRasterPos3d'); @glRasterPos3d := GetGLProcAddress(LibGL, 'glRasterPos3d');
@glRasterPos3dv := GetProcAddress(LibGL, 'glRasterPos3dv'); @glRasterPos3dv := GetGLProcAddress(LibGL, 'glRasterPos3dv');
@glRasterPos3f := GetProcAddress(LibGL, 'glRasterPos3f'); @glRasterPos3f := GetGLProcAddress(LibGL, 'glRasterPos3f');
@glRasterPos3fv := GetProcAddress(LibGL, 'glRasterPos3fv'); @glRasterPos3fv := GetGLProcAddress(LibGL, 'glRasterPos3fv');
@glRasterPos3i := GetProcAddress(LibGL, 'glRasterPos3i'); @glRasterPos3i := GetGLProcAddress(LibGL, 'glRasterPos3i');
@glRasterPos3iv := GetProcAddress(LibGL, 'glRasterPos3iv'); @glRasterPos3iv := GetGLProcAddress(LibGL, 'glRasterPos3iv');
@glRasterPos3s := GetProcAddress(LibGL, 'glRasterPos3s'); @glRasterPos3s := GetGLProcAddress(LibGL, 'glRasterPos3s');
@glRasterPos3sv := GetProcAddress(LibGL, 'glRasterPos3sv'); @glRasterPos3sv := GetGLProcAddress(LibGL, 'glRasterPos3sv');
@glRasterPos4d := GetProcAddress(LibGL, 'glRasterPos4d'); @glRasterPos4d := GetGLProcAddress(LibGL, 'glRasterPos4d');
@glRasterPos4dv := GetProcAddress(LibGL, 'glRasterPos4dv'); @glRasterPos4dv := GetGLProcAddress(LibGL, 'glRasterPos4dv');
@glRasterPos4f := GetProcAddress(LibGL, 'glRasterPos4f'); @glRasterPos4f := GetGLProcAddress(LibGL, 'glRasterPos4f');
@glRasterPos4fv := GetProcAddress(LibGL, 'glRasterPos4fv'); @glRasterPos4fv := GetGLProcAddress(LibGL, 'glRasterPos4fv');
@glRasterPos4i := GetProcAddress(LibGL, 'glRasterPos4i'); @glRasterPos4i := GetGLProcAddress(LibGL, 'glRasterPos4i');
@glRasterPos4iv := GetProcAddress(LibGL, 'glRasterPos4iv'); @glRasterPos4iv := GetGLProcAddress(LibGL, 'glRasterPos4iv');
@glRasterPos4s := GetProcAddress(LibGL, 'glRasterPos4s'); @glRasterPos4s := GetGLProcAddress(LibGL, 'glRasterPos4s');
@glRasterPos4sv := GetProcAddress(LibGL, 'glRasterPos4sv'); @glRasterPos4sv := GetGLProcAddress(LibGL, 'glRasterPos4sv');
@glReadBuffer := GetProcAddress(LibGL, 'glReadBuffer'); @glReadBuffer := GetGLProcAddress(LibGL, 'glReadBuffer');
@glReadPixels := GetProcAddress(LibGL, 'glReadPixels'); @glReadPixels := GetGLProcAddress(LibGL, 'glReadPixels');
@glRectd := GetProcAddress(LibGL, 'glRectd'); @glRectd := GetGLProcAddress(LibGL, 'glRectd');
@glRectdv := GetProcAddress(LibGL, 'glRectdv'); @glRectdv := GetGLProcAddress(LibGL, 'glRectdv');
@glRectf := GetProcAddress(LibGL, 'glRectf'); @glRectf := GetGLProcAddress(LibGL, 'glRectf');
@glRectfv := GetProcAddress(LibGL, 'glRectfv'); @glRectfv := GetGLProcAddress(LibGL, 'glRectfv');
@glRecti := GetProcAddress(LibGL, 'glRecti'); @glRecti := GetGLProcAddress(LibGL, 'glRecti');
@glRectiv := GetProcAddress(LibGL, 'glRectiv'); @glRectiv := GetGLProcAddress(LibGL, 'glRectiv');
@glRects := GetProcAddress(LibGL, 'glRects'); @glRects := GetGLProcAddress(LibGL, 'glRects');
@glRectsv := GetProcAddress(LibGL, 'glRectsv'); @glRectsv := GetGLProcAddress(LibGL, 'glRectsv');
@glRenderMode := GetProcAddress(LibGL, 'glRenderMode'); @glRenderMode := GetGLProcAddress(LibGL, 'glRenderMode');
@glRotated := GetProcAddress(LibGL, 'glRotated'); @glRotated := GetGLProcAddress(LibGL, 'glRotated');
@glRotatef := GetProcAddress(LibGL, 'glRotatef'); @glRotatef := GetGLProcAddress(LibGL, 'glRotatef');
@glScaled := GetProcAddress(LibGL, 'glScaled'); @glScaled := GetGLProcAddress(LibGL, 'glScaled');
@glScalef := GetProcAddress(LibGL, 'glScalef'); @glScalef := GetGLProcAddress(LibGL, 'glScalef');
@glScissor := GetProcAddress(LibGL, 'glScissor'); @glScissor := GetGLProcAddress(LibGL, 'glScissor');
@glSelectBuffer := GetProcAddress(LibGL, 'glSelectBuffer'); @glSelectBuffer := GetGLProcAddress(LibGL, 'glSelectBuffer');
@glShadeModel := GetProcAddress(LibGL, 'glShadeModel'); @glShadeModel := GetGLProcAddress(LibGL, 'glShadeModel');
@glStencilFunc := GetProcAddress(LibGL, 'glStencilFunc'); @glStencilFunc := GetGLProcAddress(LibGL, 'glStencilFunc');
@glStencilMask := GetProcAddress(LibGL, 'glStencilMask'); @glStencilMask := GetGLProcAddress(LibGL, 'glStencilMask');
@glStencilOp := GetProcAddress(LibGL, 'glStencilOp'); @glStencilOp := GetGLProcAddress(LibGL, 'glStencilOp');
@glTexCoord1d := GetProcAddress(LibGL, 'glTexCoord1d'); @glTexCoord1d := GetGLProcAddress(LibGL, 'glTexCoord1d');
@glTexCoord1dv := GetProcAddress(LibGL, 'glTexCoord1dv'); @glTexCoord1dv := GetGLProcAddress(LibGL, 'glTexCoord1dv');
@glTexCoord1f := GetProcAddress(LibGL, 'glTexCoord1f'); @glTexCoord1f := GetGLProcAddress(LibGL, 'glTexCoord1f');
@glTexCoord1fv := GetProcAddress(LibGL, 'glTexCoord1fv'); @glTexCoord1fv := GetGLProcAddress(LibGL, 'glTexCoord1fv');
@glTexCoord1i := GetProcAddress(LibGL, 'glTexCoord1i'); @glTexCoord1i := GetGLProcAddress(LibGL, 'glTexCoord1i');
@glTexCoord1iv := GetProcAddress(LibGL, 'glTexCoord1iv'); @glTexCoord1iv := GetGLProcAddress(LibGL, 'glTexCoord1iv');
@glTexCoord1s := GetProcAddress(LibGL, 'glTexCoord1s'); @glTexCoord1s := GetGLProcAddress(LibGL, 'glTexCoord1s');
@glTexCoord1sv := GetProcAddress(LibGL, 'glTexCoord1sv'); @glTexCoord1sv := GetGLProcAddress(LibGL, 'glTexCoord1sv');
@glTexCoord2d := GetProcAddress(LibGL, 'glTexCoord2d'); @glTexCoord2d := GetGLProcAddress(LibGL, 'glTexCoord2d');
@glTexCoord2dv := GetProcAddress(LibGL, 'glTexCoord2dv'); @glTexCoord2dv := GetGLProcAddress(LibGL, 'glTexCoord2dv');
@glTexCoord2f := GetProcAddress(LibGL, 'glTexCoord2f'); @glTexCoord2f := GetGLProcAddress(LibGL, 'glTexCoord2f');
@glTexCoord2fv := GetProcAddress(LibGL, 'glTexCoord2fv'); @glTexCoord2fv := GetGLProcAddress(LibGL, 'glTexCoord2fv');
@glTexCoord2i := GetProcAddress(LibGL, 'glTexCoord2i'); @glTexCoord2i := GetGLProcAddress(LibGL, 'glTexCoord2i');
@glTexCoord2iv := GetProcAddress(LibGL, 'glTexCoord2iv'); @glTexCoord2iv := GetGLProcAddress(LibGL, 'glTexCoord2iv');
@glTexCoord2s := GetProcAddress(LibGL, 'glTexCoord2s'); @glTexCoord2s := GetGLProcAddress(LibGL, 'glTexCoord2s');
@glTexCoord2sv := GetProcAddress(LibGL, 'glTexCoord2sv'); @glTexCoord2sv := GetGLProcAddress(LibGL, 'glTexCoord2sv');
@glTexCoord3d := GetProcAddress(LibGL, 'glTexCoord3d'); @glTexCoord3d := GetGLProcAddress(LibGL, 'glTexCoord3d');
@glTexCoord3dv := GetProcAddress(LibGL, 'glTexCoord3dv'); @glTexCoord3dv := GetGLProcAddress(LibGL, 'glTexCoord3dv');
@glTexCoord3f := GetProcAddress(LibGL, 'glTexCoord3f'); @glTexCoord3f := GetGLProcAddress(LibGL, 'glTexCoord3f');
@glTexCoord3fv := GetProcAddress(LibGL, 'glTexCoord3fv'); @glTexCoord3fv := GetGLProcAddress(LibGL, 'glTexCoord3fv');
@glTexCoord3i := GetProcAddress(LibGL, 'glTexCoord3i'); @glTexCoord3i := GetGLProcAddress(LibGL, 'glTexCoord3i');
@glTexCoord3iv := GetProcAddress(LibGL, 'glTexCoord3iv'); @glTexCoord3iv := GetGLProcAddress(LibGL, 'glTexCoord3iv');
@glTexCoord3s := GetProcAddress(LibGL, 'glTexCoord3s'); @glTexCoord3s := GetGLProcAddress(LibGL, 'glTexCoord3s');
@glTexCoord3sv := GetProcAddress(LibGL, 'glTexCoord3sv'); @glTexCoord3sv := GetGLProcAddress(LibGL, 'glTexCoord3sv');
@glTexCoord4d := GetProcAddress(LibGL, 'glTexCoord4d'); @glTexCoord4d := GetGLProcAddress(LibGL, 'glTexCoord4d');
@glTexCoord4dv := GetProcAddress(LibGL, 'glTexCoord4dv'); @glTexCoord4dv := GetGLProcAddress(LibGL, 'glTexCoord4dv');
@glTexCoord4f := GetProcAddress(LibGL, 'glTexCoord4f'); @glTexCoord4f := GetGLProcAddress(LibGL, 'glTexCoord4f');
@glTexCoord4fv := GetProcAddress(LibGL, 'glTexCoord4fv'); @glTexCoord4fv := GetGLProcAddress(LibGL, 'glTexCoord4fv');
@glTexCoord4i := GetProcAddress(LibGL, 'glTexCoord4i'); @glTexCoord4i := GetGLProcAddress(LibGL, 'glTexCoord4i');
@glTexCoord4iv := GetProcAddress(LibGL, 'glTexCoord4iv'); @glTexCoord4iv := GetGLProcAddress(LibGL, 'glTexCoord4iv');
@glTexCoord4s := GetProcAddress(LibGL, 'glTexCoord4s'); @glTexCoord4s := GetGLProcAddress(LibGL, 'glTexCoord4s');
@glTexCoord4sv := GetProcAddress(LibGL, 'glTexCoord4sv'); @glTexCoord4sv := GetGLProcAddress(LibGL, 'glTexCoord4sv');
@glTexCoordPointer := GetProcAddress(LibGL, 'glTexCoordPointer'); @glTexCoordPointer := GetGLProcAddress(LibGL, 'glTexCoordPointer');
@glTexEnvf := GetProcAddress(LibGL, 'glTexEnvf'); @glTexEnvf := GetGLProcAddress(LibGL, 'glTexEnvf');
@glTexEnvfv := GetProcAddress(LibGL, 'glTexEnvfv'); @glTexEnvfv := GetGLProcAddress(LibGL, 'glTexEnvfv');
@glTexEnvi := GetProcAddress(LibGL, 'glTexEnvi'); @glTexEnvi := GetGLProcAddress(LibGL, 'glTexEnvi');
@glTexEnviv := GetProcAddress(LibGL, 'glTexEnviv'); @glTexEnviv := GetGLProcAddress(LibGL, 'glTexEnviv');
@glTexGend := GetProcAddress(LibGL, 'glTexGend'); @glTexGend := GetGLProcAddress(LibGL, 'glTexGend');
@glTexGendv := GetProcAddress(LibGL, 'glTexGendv'); @glTexGendv := GetGLProcAddress(LibGL, 'glTexGendv');
@glTexGenf := GetProcAddress(LibGL, 'glTexGenf'); @glTexGenf := GetGLProcAddress(LibGL, 'glTexGenf');
@glTexGenfv := GetProcAddress(LibGL, 'glTexGenfv'); @glTexGenfv := GetGLProcAddress(LibGL, 'glTexGenfv');
@glTexGeni := GetProcAddress(LibGL, 'glTexGeni'); @glTexGeni := GetGLProcAddress(LibGL, 'glTexGeni');
@glTexGeniv := GetProcAddress(LibGL, 'glTexGeniv'); @glTexGeniv := GetGLProcAddress(LibGL, 'glTexGeniv');
@glTexImage1D := GetProcAddress(LibGL, 'glTexImage1D'); @glTexImage1D := GetGLProcAddress(LibGL, 'glTexImage1D');
@glTexImage2D := GetProcAddress(LibGL, 'glTexImage2D'); @glTexImage2D := GetGLProcAddress(LibGL, 'glTexImage2D');
@glTexParameterf := GetProcAddress(LibGL, 'glTexParameterf'); @glTexParameterf := GetGLProcAddress(LibGL, 'glTexParameterf');
@glTexParameterfv := GetProcAddress(LibGL, 'glTexParameterfv'); @glTexParameterfv := GetGLProcAddress(LibGL, 'glTexParameterfv');
@glTexParameteri := GetProcAddress(LibGL, 'glTexParameteri'); @glTexParameteri := GetGLProcAddress(LibGL, 'glTexParameteri');
@glTexParameteriv := GetProcAddress(LibGL, 'glTexParameteriv'); @glTexParameteriv := GetGLProcAddress(LibGL, 'glTexParameteriv');
@glTexSubImage1D := GetProcAddress(LibGL, 'glTexSubImage1D'); @glTexSubImage1D := GetGLProcAddress(LibGL, 'glTexSubImage1D');
@glTexSubImage2D := GetProcAddress(LibGL, 'glTexSubImage2D'); @glTexSubImage2D := GetGLProcAddress(LibGL, 'glTexSubImage2D');
@glTranslated := GetProcAddress(LibGL, 'glTranslated'); @glTranslated := GetGLProcAddress(LibGL, 'glTranslated');
@glTranslatef := GetProcAddress(LibGL, 'glTranslatef'); @glTranslatef := GetGLProcAddress(LibGL, 'glTranslatef');
@glVertex2d := GetProcAddress(LibGL, 'glVertex2d'); @glVertex2d := GetGLProcAddress(LibGL, 'glVertex2d');
@glVertex2dv := GetProcAddress(LibGL, 'glVertex2dv'); @glVertex2dv := GetGLProcAddress(LibGL, 'glVertex2dv');
@glVertex2f := GetProcAddress(LibGL, 'glVertex2f'); @glVertex2f := GetGLProcAddress(LibGL, 'glVertex2f');
@glVertex2fv := GetProcAddress(LibGL, 'glVertex2fv'); @glVertex2fv := GetGLProcAddress(LibGL, 'glVertex2fv');
@glVertex2i := GetProcAddress(LibGL, 'glVertex2i'); @glVertex2i := GetGLProcAddress(LibGL, 'glVertex2i');
@glVertex2iv := GetProcAddress(LibGL, 'glVertex2iv'); @glVertex2iv := GetGLProcAddress(LibGL, 'glVertex2iv');
@glVertex2s := GetProcAddress(LibGL, 'glVertex2s'); @glVertex2s := GetGLProcAddress(LibGL, 'glVertex2s');
@glVertex2sv := GetProcAddress(LibGL, 'glVertex2sv'); @glVertex2sv := GetGLProcAddress(LibGL, 'glVertex2sv');
@glVertex3d := GetProcAddress(LibGL, 'glVertex3d'); @glVertex3d := GetGLProcAddress(LibGL, 'glVertex3d');
@glVertex3dv := GetProcAddress(LibGL, 'glVertex3dv'); @glVertex3dv := GetGLProcAddress(LibGL, 'glVertex3dv');
@glVertex3f := GetProcAddress(LibGL, 'glVertex3f'); @glVertex3f := GetGLProcAddress(LibGL, 'glVertex3f');
@glVertex3fv := GetProcAddress(LibGL, 'glVertex3fv'); @glVertex3fv := GetGLProcAddress(LibGL, 'glVertex3fv');
@glVertex3i := GetProcAddress(LibGL, 'glVertex3i'); @glVertex3i := GetGLProcAddress(LibGL, 'glVertex3i');
@glVertex3iv := GetProcAddress(LibGL, 'glVertex3iv'); @glVertex3iv := GetGLProcAddress(LibGL, 'glVertex3iv');
@glVertex3s := GetProcAddress(LibGL, 'glVertex3s'); @glVertex3s := GetGLProcAddress(LibGL, 'glVertex3s');
@glVertex3sv := GetProcAddress(LibGL, 'glVertex3sv'); @glVertex3sv := GetGLProcAddress(LibGL, 'glVertex3sv');
@glVertex4d := GetProcAddress(LibGL, 'glVertex4d'); @glVertex4d := GetGLProcAddress(LibGL, 'glVertex4d');
@glVertex4dv := GetProcAddress(LibGL, 'glVertex4dv'); @glVertex4dv := GetGLProcAddress(LibGL, 'glVertex4dv');
@glVertex4f := GetProcAddress(LibGL, 'glVertex4f'); @glVertex4f := GetGLProcAddress(LibGL, 'glVertex4f');
@glVertex4fv := GetProcAddress(LibGL, 'glVertex4fv'); @glVertex4fv := GetGLProcAddress(LibGL, 'glVertex4fv');
@glVertex4i := GetProcAddress(LibGL, 'glVertex4i'); @glVertex4i := GetGLProcAddress(LibGL, 'glVertex4i');
@glVertex4iv := GetProcAddress(LibGL, 'glVertex4iv'); @glVertex4iv := GetGLProcAddress(LibGL, 'glVertex4iv');
@glVertex4s := GetProcAddress(LibGL, 'glVertex4s'); @glVertex4s := GetGLProcAddress(LibGL, 'glVertex4s');
@glVertex4sv := GetProcAddress(LibGL, 'glVertex4sv'); @glVertex4sv := GetGLProcAddress(LibGL, 'glVertex4sv');
@glVertexPointer := GetProcAddress(LibGL, 'glVertexPointer'); @glVertexPointer := GetGLProcAddress(LibGL, 'glVertexPointer');
@glViewport := GetProcAddress(LibGL, 'glViewport'); @glViewport := GetGLProcAddress(LibGL, 'glViewport');
except
raise Exception.Create('Failed loading ' + MethodName +' from ' + dll);
end;
{$IFDEF Win32} {$IFDEF Win32}
@ChoosePixelFormat := GetProcAddress(LibGL, 'ChoosePixelFormat'); try
if not Assigned(ChoosePixelFormat) then @ChoosePixelFormat := GetGLProcAddress(LibGL, 'ChoosePixelFormat');
@ChoosePixelFormat := @WinChoosePixelFormat; if not Assigned(ChoosePixelFormat) then
@ChoosePixelFormat := @WinChoosePixelFormat;
except
raise Exception.Create('Unable to select pixel format');
end;
{$ENDIF} {$ENDIF}
end; end;
@ -2249,20 +2265,15 @@ initialization
Set8087CW($133F); Set8087CW($133F);
{$ENDIF WIN32} {$ENDIF WIN32}
try {$IFDEF Win32}
{$IFDEF Win32} LoadOpenGL('opengl32.dll');
LoadOpenGL('opengl32.dll'); {$ELSE}
{$ELSE} {$ifdef darwin}
{$ifdef darwin} LoadOpenGL('/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib');
LoadOpenGL('/System/Library/Frameworks/OpenGL.framework/Libraries/libGL.dylib'); {$ELSE}
{$ELSE} LoadOpenGL('libGL.so.1');
LoadOpenGL('libGL.so.1'); {$endif}
{$endif} {$ENDIF}
{$ENDIF}
except
writeln('Error opening OpenGL library');
halt(1);
end;
finalization finalization

View File

@ -432,85 +432,91 @@ begin
end; end;
procedure LoadGLu(const dll: String); procedure LoadGLu(const dll: String);
var
MethodName: string = '';
function GetGLuProcAddress(Lib: PtrInt; ProcName: PChar): Pointer;
begin
MethodName:=ProcName;
Result:=GetProcAddress(Lib, ProcName);
end;
begin begin
FreeGLu; FreeGLu;
hDLL := LoadLibrary(PChar(dll)); hDLL := LoadLibrary(PChar(dll));
if hDLL = 0 then raise Exception.Create('Could not load GLu from ' + dll); if hDLL = 0 then raise Exception.Create('Could not load GLu from ' + dll);
try
@gluErrorString := GetGLuProcAddress(hDLL, 'gluErrorString');
@gluErrorUnicodeStringEXT := GetGLuProcAddress(hDLL, 'gluErrorUnicodeStringEXT');
@gluGetString := GetGLuProcAddress(hDLL, 'gluGetString');
@gluOrtho2D := GetGLuProcAddress(hDLL, 'gluOrtho2D');
@gluPerspective := GetGLuProcAddress(hDLL, 'gluPerspective');
@gluPickMatrix := GetGLuProcAddress(hDLL, 'gluPickMatrix');
@gluLookAt := GetGLuProcAddress(hDLL, 'gluLookAt');
@gluProject := GetGLuProcAddress(hDLL, 'gluProject');
@gluUnProject := GetGLuProcAddress(hDLL, 'gluUnProject');
@gluScaleImage := GetGLuProcAddress(hDLL, 'gluScaleImage');
@gluBuild1DMipmaps := GetGLuProcAddress(hDLL, 'gluBuild1DMipmaps');
@gluBuild2DMipmaps := GetGLuProcAddress(hDLL, 'gluBuild2DMipmaps');
@gluNewQuadric := GetGLuProcAddress(hDLL, 'gluNewQuadric');
@gluDeleteQuadric := GetGLuProcAddress(hDLL, 'gluDeleteQuadric');
@gluQuadricNormals := GetGLuProcAddress(hDLL, 'gluQuadricNormals');
@gluQuadricTexture := GetGLuProcAddress(hDLL, 'gluQuadricTexture');
@gluQuadricOrientation := GetGLuProcAddress(hDLL, 'gluQuadricOrientation');
@gluQuadricDrawStyle := GetGLuProcAddress(hDLL, 'gluQuadricDrawStyle');
@gluCylinder := GetGLuProcAddress(hDLL, 'gluCylinder');
@gluDisk := GetGLuProcAddress(hDLL, 'gluDisk');
@gluPartialDisk := GetGLuProcAddress(hDLL, 'gluPartialDisk');
@gluSphere := GetGLuProcAddress(hDLL, 'gluSphere');
@gluQuadricCallback := GetGLuProcAddress(hDLL, 'gluQuadricCallback');
@gluNewTess := GetGLuProcAddress(hDLL, 'gluNewTess');
@gluDeleteTess := GetGLuProcAddress(hDLL, 'gluDeleteTess');
@gluTessBeginPolygon := GetGLuProcAddress(hDLL, 'gluTessBeginPolygon');
@gluTessBeginContour := GetGLuProcAddress(hDLL, 'gluTessBeginContour');
@gluTessVertex := GetGLuProcAddress(hDLL, 'gluTessVertex');
@gluTessEndContour := GetGLuProcAddress(hDLL, 'gluTessEndContour');
@gluTessEndPolygon := GetGLuProcAddress(hDLL, 'gluTessEndPolygon');
@gluTessProperty := GetGLuProcAddress(hDLL, 'gluTessProperty');
@gluTessNormal := GetGLuProcAddress(hDLL, 'gluTessNormal');
@gluTessCallback := GetGLuProcAddress(hDLL, 'gluTessCallback');
@gluGetTessProperty := GetGLuProcAddress(hDLL, 'gluGetTessProperty');
@gluNewNurbsRenderer := GetGLuProcAddress(hDLL, 'gluNewNurbsRenderer');
@gluDeleteNurbsRenderer := GetGLuProcAddress(hDLL, 'gluDeleteNurbsRenderer');
@gluBeginSurface := GetGLuProcAddress(hDLL, 'gluBeginSurface');
@gluBeginCurve := GetGLuProcAddress(hDLL, 'gluBeginCurve');
@gluEndCurve := GetGLuProcAddress(hDLL, 'gluEndCurve');
@gluEndSurface := GetGLuProcAddress(hDLL, 'gluEndSurface');
@gluBeginTrim := GetGLuProcAddress(hDLL, 'gluBeginTrim');
@gluEndTrim := GetGLuProcAddress(hDLL, 'gluEndTrim');
@gluPwlCurve := GetGLuProcAddress(hDLL, 'gluPwlCurve');
@gluNurbsCurve := GetGLuProcAddress(hDLL, 'gluNurbsCurve');
@gluNurbsSurface := GetGLuProcAddress(hDLL, 'gluNurbsSurface');
@gluLoadSamplingMatrices := GetGLuProcAddress(hDLL, 'gluLoadSamplingMatrices');
@gluNurbsProperty := GetGLuProcAddress(hDLL, 'gluNurbsProperty');
@gluGetNurbsProperty := GetGLuProcAddress(hDLL, 'gluGetNurbsProperty');
@gluNurbsCallback := GetGLuProcAddress(hDLL, 'gluNurbsCallback');
@gluErrorString := GetProcAddress(hDLL, 'gluErrorString'); @gluBeginPolygon := GetGLuProcAddress(hDLL, 'gluBeginPolygon');
@gluErrorUnicodeStringEXT := GetProcAddress(hDLL, 'gluErrorUnicodeStringEXT'); @gluNextContour := GetGLuProcAddress(hDLL, 'gluNextContour');
@gluGetString := GetProcAddress(hDLL, 'gluGetString'); @gluEndPolygon := GetGLuProcAddress(hDLL, 'gluEndPolygon');
@gluOrtho2D := GetProcAddress(hDLL, 'gluOrtho2D'); except
@gluPerspective := GetProcAddress(hDLL, 'gluPerspective'); raise Exception.Create('Could not load ' + MethodName + ' from ' + dll);
@gluPickMatrix := GetProcAddress(hDLL, 'gluPickMatrix'); end;
@gluLookAt := GetProcAddress(hDLL, 'gluLookAt');
@gluProject := GetProcAddress(hDLL, 'gluProject');
@gluUnProject := GetProcAddress(hDLL, 'gluUnProject');
@gluScaleImage := GetProcAddress(hDLL, 'gluScaleImage');
@gluBuild1DMipmaps := GetProcAddress(hDLL, 'gluBuild1DMipmaps');
@gluBuild2DMipmaps := GetProcAddress(hDLL, 'gluBuild2DMipmaps');
@gluNewQuadric := GetProcAddress(hDLL, 'gluNewQuadric');
@gluDeleteQuadric := GetProcAddress(hDLL, 'gluDeleteQuadric');
@gluQuadricNormals := GetProcAddress(hDLL, 'gluQuadricNormals');
@gluQuadricTexture := GetProcAddress(hDLL, 'gluQuadricTexture');
@gluQuadricOrientation := GetProcAddress(hDLL, 'gluQuadricOrientation');
@gluQuadricDrawStyle := GetProcAddress(hDLL, 'gluQuadricDrawStyle');
@gluCylinder := GetProcAddress(hDLL, 'gluCylinder');
@gluDisk := GetProcAddress(hDLL, 'gluDisk');
@gluPartialDisk := GetProcAddress(hDLL, 'gluPartialDisk');
@gluSphere := GetProcAddress(hDLL, 'gluSphere');
@gluQuadricCallback := GetProcAddress(hDLL, 'gluQuadricCallback');
@gluNewTess := GetProcAddress(hDLL, 'gluNewTess');
@gluDeleteTess := GetProcAddress(hDLL, 'gluDeleteTess');
@gluTessBeginPolygon := GetProcAddress(hDLL, 'gluTessBeginPolygon');
@gluTessBeginContour := GetProcAddress(hDLL, 'gluTessBeginContour');
@gluTessVertex := GetProcAddress(hDLL, 'gluTessVertex');
@gluTessEndContour := GetProcAddress(hDLL, 'gluTessEndContour');
@gluTessEndPolygon := GetProcAddress(hDLL, 'gluTessEndPolygon');
@gluTessProperty := GetProcAddress(hDLL, 'gluTessProperty');
@gluTessNormal := GetProcAddress(hDLL, 'gluTessNormal');
@gluTessCallback := GetProcAddress(hDLL, 'gluTessCallback');
@gluGetTessProperty := GetProcAddress(hDLL, 'gluGetTessProperty');
@gluNewNurbsRenderer := GetProcAddress(hDLL, 'gluNewNurbsRenderer');
@gluDeleteNurbsRenderer := GetProcAddress(hDLL, 'gluDeleteNurbsRenderer');
@gluBeginSurface := GetProcAddress(hDLL, 'gluBeginSurface');
@gluBeginCurve := GetProcAddress(hDLL, 'gluBeginCurve');
@gluEndCurve := GetProcAddress(hDLL, 'gluEndCurve');
@gluEndSurface := GetProcAddress(hDLL, 'gluEndSurface');
@gluBeginTrim := GetProcAddress(hDLL, 'gluBeginTrim');
@gluEndTrim := GetProcAddress(hDLL, 'gluEndTrim');
@gluPwlCurve := GetProcAddress(hDLL, 'gluPwlCurve');
@gluNurbsCurve := GetProcAddress(hDLL, 'gluNurbsCurve');
@gluNurbsSurface := GetProcAddress(hDLL, 'gluNurbsSurface');
@gluLoadSamplingMatrices := GetProcAddress(hDLL, 'gluLoadSamplingMatrices');
@gluNurbsProperty := GetProcAddress(hDLL, 'gluNurbsProperty');
@gluGetNurbsProperty := GetProcAddress(hDLL, 'gluGetNurbsProperty');
@gluNurbsCallback := GetProcAddress(hDLL, 'gluNurbsCallback');
@gluBeginPolygon := GetProcAddress(hDLL, 'gluBeginPolygon');
@gluNextContour := GetProcAddress(hDLL, 'gluNextContour');
@gluEndPolygon := GetProcAddress(hDLL, 'gluEndPolygon');
end; end;
initialization initialization
try {$IFDEF Win32}
{$IFDEF Win32} LoadGLu('glu32.dll');
LoadGLu('glu32.dll'); {$ELSE}
{$ELSE} {$ifdef darwin}
{$ifdef darwin} LoadGLu('/System/Library/Frameworks/OpenGL.framework/Libraries/libGLU.dylib');
LoadGLu('/System/Library/Frameworks/OpenGL.framework/Libraries/libGLU.dylib'); {$else}
{$else} LoadGLu('libGLU.so.1');
LoadGLu('libGLU.so.1'); {$ENDIF}
{$ENDIF} {$endif}
{$endif}
except
writeln('error opening libGLU');
halt(1);
end;
finalization finalization

View File

@ -511,140 +511,146 @@ begin
end; end;
procedure LoadGlut(const dll: String); procedure LoadGlut(const dll: String);
var
MethodName: string = '';
function GetGLutProcAddress(Lib: PtrInt; ProcName: PChar): Pointer;
begin
MethodName:=ProcName;
Result:=GetProcAddress(Lib, ProcName);
end;
begin begin
FreeGlut; FreeGlut;
hDLL := LoadLibrary(PChar(dll)); hDLL := LoadLibrary(PChar(dll));
if hDLL = 0 then raise Exception.Create('Could not load Glut from ' + dll); if hDLL = 0 then raise Exception.Create('Could not load Glut from ' + dll);
try
@glutInit := GetProcAddress(hDLL, 'glutInit'); @glutInit := GetGLutProcAddress(hDLL, 'glutInit');
@glutInitDisplayMode := GetProcAddress(hDLL, 'glutInitDisplayMode'); @glutInitDisplayMode := GetGLutProcAddress(hDLL, 'glutInitDisplayMode');
@glutInitDisplayString := GetProcAddress(hDLL, 'glutInitDisplayString'); @glutInitDisplayString := GetGLutProcAddress(hDLL, 'glutInitDisplayString');
@glutInitWindowPosition := GetProcAddress(hDLL, 'glutInitWindowPosition'); @glutInitWindowPosition := GetGLutProcAddress(hDLL, 'glutInitWindowPosition');
@glutInitWindowSize := GetProcAddress(hDLL, 'glutInitWindowSize'); @glutInitWindowSize := GetGLutProcAddress(hDLL, 'glutInitWindowSize');
@glutMainLoop := GetProcAddress(hDLL, 'glutMainLoop'); @glutMainLoop := GetGLutProcAddress(hDLL, 'glutMainLoop');
@glutCreateWindow := GetProcAddress(hDLL, 'glutCreateWindow'); @glutCreateWindow := GetGLutProcAddress(hDLL, 'glutCreateWindow');
@glutCreateSubWindow := GetProcAddress(hDLL, 'glutCreateSubWindow'); @glutCreateSubWindow := GetGLutProcAddress(hDLL, 'glutCreateSubWindow');
@glutDestroyWindow := GetProcAddress(hDLL, 'glutDestroyWindow'); @glutDestroyWindow := GetGLutProcAddress(hDLL, 'glutDestroyWindow');
@glutPostRedisplay := GetProcAddress(hDLL, 'glutPostRedisplay'); @glutPostRedisplay := GetGLutProcAddress(hDLL, 'glutPostRedisplay');
@glutPostWindowRedisplay := GetProcAddress(hDLL, 'glutPostWindowRedisplay'); @glutPostWindowRedisplay := GetGLutProcAddress(hDLL, 'glutPostWindowRedisplay');
@glutSwapBuffers := GetProcAddress(hDLL, 'glutSwapBuffers'); @glutSwapBuffers := GetGLutProcAddress(hDLL, 'glutSwapBuffers');
@glutGetWindow := GetProcAddress(hDLL, 'glutGetWindow'); @glutGetWindow := GetGLutProcAddress(hDLL, 'glutGetWindow');
@glutSetWindow := GetProcAddress(hDLL, 'glutSetWindow'); @glutSetWindow := GetGLutProcAddress(hDLL, 'glutSetWindow');
@glutSetWindowTitle := GetProcAddress(hDLL, 'glutSetWindowTitle'); @glutSetWindowTitle := GetGLutProcAddress(hDLL, 'glutSetWindowTitle');
@glutSetIconTitle := GetProcAddress(hDLL, 'glutSetIconTitle'); @glutSetIconTitle := GetGLutProcAddress(hDLL, 'glutSetIconTitle');
@glutPositionWindow := GetProcAddress(hDLL, 'glutPositionWindow'); @glutPositionWindow := GetGLutProcAddress(hDLL, 'glutPositionWindow');
@glutReshapeWindow := GetProcAddress(hDLL, 'glutReshapeWindow'); @glutReshapeWindow := GetGLutProcAddress(hDLL, 'glutReshapeWindow');
@glutPopWindow := GetProcAddress(hDLL, 'glutPopWindow'); @glutPopWindow := GetGLutProcAddress(hDLL, 'glutPopWindow');
@glutPushWindow := GetProcAddress(hDLL, 'glutPushWindow'); @glutPushWindow := GetGLutProcAddress(hDLL, 'glutPushWindow');
@glutIconifyWindow := GetProcAddress(hDLL, 'glutIconifyWindow'); @glutIconifyWindow := GetGLutProcAddress(hDLL, 'glutIconifyWindow');
@glutShowWindow := GetProcAddress(hDLL, 'glutShowWindow'); @glutShowWindow := GetGLutProcAddress(hDLL, 'glutShowWindow');
@glutHideWindow := GetProcAddress(hDLL, 'glutHideWindow'); @glutHideWindow := GetGLutProcAddress(hDLL, 'glutHideWindow');
@glutFullScreen := GetProcAddress(hDLL, 'glutFullScreen'); @glutFullScreen := GetGLutProcAddress(hDLL, 'glutFullScreen');
@glutSetCursor := GetProcAddress(hDLL, 'glutSetCursor'); @glutSetCursor := GetGLutProcAddress(hDLL, 'glutSetCursor');
@glutWarpPointer := GetProcAddress(hDLL, 'glutWarpPointer'); @glutWarpPointer := GetGLutProcAddress(hDLL, 'glutWarpPointer');
@glutEstablishOverlay := GetProcAddress(hDLL, 'glutEstablishOverlay'); @glutEstablishOverlay := GetGLutProcAddress(hDLL, 'glutEstablishOverlay');
@glutRemoveOverlay := GetProcAddress(hDLL, 'glutRemoveOverlay'); @glutRemoveOverlay := GetGLutProcAddress(hDLL, 'glutRemoveOverlay');
@glutUseLayer := GetProcAddress(hDLL, 'glutUseLayer'); @glutUseLayer := GetGLutProcAddress(hDLL, 'glutUseLayer');
@glutPostOverlayRedisplay := GetProcAddress(hDLL, 'glutPostOverlayRedisplay'); @glutPostOverlayRedisplay := GetGLutProcAddress(hDLL, 'glutPostOverlayRedisplay');
@glutPostWindowOverlayRedisplay := GetProcAddress(hDLL, 'glutPostWindowOverlayRedisplay'); @glutPostWindowOverlayRedisplay := GetGLutProcAddress(hDLL, 'glutPostWindowOverlayRedisplay');
@glutShowOverlay := GetProcAddress(hDLL, 'glutShowOverlay'); @glutShowOverlay := GetGLutProcAddress(hDLL, 'glutShowOverlay');
@glutHideOverlay := GetProcAddress(hDLL, 'glutHideOverlay'); @glutHideOverlay := GetGLutProcAddress(hDLL, 'glutHideOverlay');
@glutCreateMenu := GetProcAddress(hDLL, 'glutCreateMenu'); @glutCreateMenu := GetGLutProcAddress(hDLL, 'glutCreateMenu');
@glutDestroyMenu := GetProcAddress(hDLL, 'glutDestroyMenu'); @glutDestroyMenu := GetGLutProcAddress(hDLL, 'glutDestroyMenu');
@glutGetMenu := GetProcAddress(hDLL, 'glutGetMenu'); @glutGetMenu := GetGLutProcAddress(hDLL, 'glutGetMenu');
@glutSetMenu := GetProcAddress(hDLL, 'glutSetMenu'); @glutSetMenu := GetGLutProcAddress(hDLL, 'glutSetMenu');
@glutAddMenuEntry := GetProcAddress(hDLL, 'glutAddMenuEntry'); @glutAddMenuEntry := GetGLutProcAddress(hDLL, 'glutAddMenuEntry');
@glutAddSubMenu := GetProcAddress(hDLL, 'glutAddSubMenu'); @glutAddSubMenu := GetGLutProcAddress(hDLL, 'glutAddSubMenu');
@glutChangeToMenuEntry := GetProcAddress(hDLL, 'glutChangeToMenuEntry'); @glutChangeToMenuEntry := GetGLutProcAddress(hDLL, 'glutChangeToMenuEntry');
@glutChangeToSubMenu := GetProcAddress(hDLL, 'glutChangeToSubMenu'); @glutChangeToSubMenu := GetGLutProcAddress(hDLL, 'glutChangeToSubMenu');
@glutRemoveMenuItem := GetProcAddress(hDLL, 'glutRemoveMenuItem'); @glutRemoveMenuItem := GetGLutProcAddress(hDLL, 'glutRemoveMenuItem');
@glutAttachMenu := GetProcAddress(hDLL, 'glutAttachMenu'); @glutAttachMenu := GetGLutProcAddress(hDLL, 'glutAttachMenu');
@glutDetachMenu := GetProcAddress(hDLL, 'glutDetachMenu'); @glutDetachMenu := GetGLutProcAddress(hDLL, 'glutDetachMenu');
@glutDisplayFunc := GetProcAddress(hDLL, 'glutDisplayFunc'); @glutDisplayFunc := GetGLutProcAddress(hDLL, 'glutDisplayFunc');
@glutReshapeFunc := GetProcAddress(hDLL, 'glutReshapeFunc'); @glutReshapeFunc := GetGLutProcAddress(hDLL, 'glutReshapeFunc');
@glutKeyboardFunc := GetProcAddress(hDLL, 'glutKeyboardFunc'); @glutKeyboardFunc := GetGLutProcAddress(hDLL, 'glutKeyboardFunc');
@glutMouseFunc := GetProcAddress(hDLL, 'glutMouseFunc'); @glutMouseFunc := GetGLutProcAddress(hDLL, 'glutMouseFunc');
@glutMotionFunc := GetProcAddress(hDLL, 'glutMotionFunc'); @glutMotionFunc := GetGLutProcAddress(hDLL, 'glutMotionFunc');
@glutPassiveMotionFunc := GetProcAddress(hDLL, 'glutPassiveMotionFunc'); @glutPassiveMotionFunc := GetGLutProcAddress(hDLL, 'glutPassiveMotionFunc');
@glutEntryFunc := GetProcAddress(hDLL, 'glutEntryFunc'); @glutEntryFunc := GetGLutProcAddress(hDLL, 'glutEntryFunc');
@glutVisibilityFunc := GetProcAddress(hDLL, 'glutVisibilityFunc'); @glutVisibilityFunc := GetGLutProcAddress(hDLL, 'glutVisibilityFunc');
@glutIdleFunc := GetProcAddress(hDLL, 'glutIdleFunc'); @glutIdleFunc := GetGLutProcAddress(hDLL, 'glutIdleFunc');
@glutTimerFunc := GetProcAddress(hDLL, 'glutTimerFunc'); @glutTimerFunc := GetGLutProcAddress(hDLL, 'glutTimerFunc');
@glutMenuStateFunc := GetProcAddress(hDLL, 'glutMenuStateFunc'); @glutMenuStateFunc := GetGLutProcAddress(hDLL, 'glutMenuStateFunc');
@glutSpecialFunc := GetProcAddress(hDLL, 'glutSpecialFunc'); @glutSpecialFunc := GetGLutProcAddress(hDLL, 'glutSpecialFunc');
@glutSpaceballMotionFunc := GetProcAddress(hDLL, 'glutSpaceballMotionFunc'); @glutSpaceballMotionFunc := GetGLutProcAddress(hDLL, 'glutSpaceballMotionFunc');
@glutSpaceballRotateFunc := GetProcAddress(hDLL, 'glutSpaceballRotateFunc'); @glutSpaceballRotateFunc := GetGLutProcAddress(hDLL, 'glutSpaceballRotateFunc');
@glutSpaceballButtonFunc := GetProcAddress(hDLL, 'glutSpaceballButtonFunc'); @glutSpaceballButtonFunc := GetGLutProcAddress(hDLL, 'glutSpaceballButtonFunc');
@glutButtonBoxFunc := GetProcAddress(hDLL, 'glutButtonBoxFunc'); @glutButtonBoxFunc := GetGLutProcAddress(hDLL, 'glutButtonBoxFunc');
@glutDialsFunc := GetProcAddress(hDLL, 'glutDialsFunc'); @glutDialsFunc := GetGLutProcAddress(hDLL, 'glutDialsFunc');
@glutTabletMotionFunc := GetProcAddress(hDLL, 'glutTabletMotionFunc'); @glutTabletMotionFunc := GetGLutProcAddress(hDLL, 'glutTabletMotionFunc');
@glutTabletButtonFunc := GetProcAddress(hDLL, 'glutTabletButtonFunc'); @glutTabletButtonFunc := GetGLutProcAddress(hDLL, 'glutTabletButtonFunc');
@glutMenuStatusFunc := GetProcAddress(hDLL, 'glutMenuStatusFunc'); @glutMenuStatusFunc := GetGLutProcAddress(hDLL, 'glutMenuStatusFunc');
@glutOverlayDisplayFunc := GetProcAddress(hDLL, 'glutOverlayDisplayFunc'); @glutOverlayDisplayFunc := GetGLutProcAddress(hDLL, 'glutOverlayDisplayFunc');
@glutWindowStatusFunc := GetProcAddress(hDLL, 'glutWindowStatusFunc'); @glutWindowStatusFunc := GetGLutProcAddress(hDLL, 'glutWindowStatusFunc');
@glutSetColor := GetProcAddress(hDLL, 'glutSetColor'); @glutSetColor := GetGLutProcAddress(hDLL, 'glutSetColor');
@glutGetColor := GetProcAddress(hDLL, 'glutGetColor'); @glutGetColor := GetGLutProcAddress(hDLL, 'glutGetColor');
@glutCopyColormap := GetProcAddress(hDLL, 'glutCopyColormap'); @glutCopyColormap := GetGLutProcAddress(hDLL, 'glutCopyColormap');
@glutGet := GetProcAddress(hDLL, 'glutGet'); @glutGet := GetGLutProcAddress(hDLL, 'glutGet');
@glutDeviceGet := GetProcAddress(hDLL, 'glutDeviceGet'); @glutDeviceGet := GetGLutProcAddress(hDLL, 'glutDeviceGet');
@glutExtensionSupported := GetProcAddress(hDLL, 'glutExtensionSupported'); @glutExtensionSupported := GetGLutProcAddress(hDLL, 'glutExtensionSupported');
@glutGetModifiers := GetProcAddress(hDLL, 'glutGetModifiers'); @glutGetModifiers := GetGLutProcAddress(hDLL, 'glutGetModifiers');
@glutLayerGet := GetProcAddress(hDLL, 'glutLayerGet'); @glutLayerGet := GetGLutProcAddress(hDLL, 'glutLayerGet');
@glutBitmapCharacter := GetProcAddress(hDLL, 'glutBitmapCharacter'); @glutBitmapCharacter := GetGLutProcAddress(hDLL, 'glutBitmapCharacter');
@glutBitmapWidth := GetProcAddress(hDLL, 'glutBitmapWidth'); @glutBitmapWidth := GetGLutProcAddress(hDLL, 'glutBitmapWidth');
@glutStrokeCharacter := GetProcAddress(hDLL, 'glutStrokeCharacter'); @glutStrokeCharacter := GetGLutProcAddress(hDLL, 'glutStrokeCharacter');
@glutStrokeWidth := GetProcAddress(hDLL, 'glutStrokeWidth'); @glutStrokeWidth := GetGLutProcAddress(hDLL, 'glutStrokeWidth');
@glutBitmapLength := GetProcAddress(hDLL, 'glutBitmapLength'); @glutBitmapLength := GetGLutProcAddress(hDLL, 'glutBitmapLength');
@glutStrokeLength := GetProcAddress(hDLL, 'glutStrokeLength'); @glutStrokeLength := GetGLutProcAddress(hDLL, 'glutStrokeLength');
@glutWireSphere := GetProcAddress(hDLL, 'glutWireSphere'); @glutWireSphere := GetGLutProcAddress(hDLL, 'glutWireSphere');
@glutSolidSphere := GetProcAddress(hDLL, 'glutSolidSphere'); @glutSolidSphere := GetGLutProcAddress(hDLL, 'glutSolidSphere');
@glutWireCone := GetProcAddress(hDLL, 'glutWireCone'); @glutWireCone := GetGLutProcAddress(hDLL, 'glutWireCone');
@glutSolidCone := GetProcAddress(hDLL, 'glutSolidCone'); @glutSolidCone := GetGLutProcAddress(hDLL, 'glutSolidCone');
@glutWireCube := GetProcAddress(hDLL, 'glutWireCube'); @glutWireCube := GetGLutProcAddress(hDLL, 'glutWireCube');
@glutSolidCube := GetProcAddress(hDLL, 'glutSolidCube'); @glutSolidCube := GetGLutProcAddress(hDLL, 'glutSolidCube');
@glutWireTorus := GetProcAddress(hDLL, 'glutWireTorus'); @glutWireTorus := GetGLutProcAddress(hDLL, 'glutWireTorus');
@glutSolidTorus := GetProcAddress(hDLL, 'glutSolidTorus'); @glutSolidTorus := GetGLutProcAddress(hDLL, 'glutSolidTorus');
@glutWireDodecahedron := GetProcAddress(hDLL, 'glutWireDodecahedron'); @glutWireDodecahedron := GetGLutProcAddress(hDLL, 'glutWireDodecahedron');
@glutSolidDodecahedron := GetProcAddress(hDLL, 'glutSolidDodecahedron'); @glutSolidDodecahedron := GetGLutProcAddress(hDLL, 'glutSolidDodecahedron');
@glutWireTeapot := GetProcAddress(hDLL, 'glutWireTeapot'); @glutWireTeapot := GetGLutProcAddress(hDLL, 'glutWireTeapot');
@glutSolidTeapot := GetProcAddress(hDLL, 'glutSolidTeapot'); @glutSolidTeapot := GetGLutProcAddress(hDLL, 'glutSolidTeapot');
@glutWireOctahedron := GetProcAddress(hDLL, 'glutWireOctahedron'); @glutWireOctahedron := GetGLutProcAddress(hDLL, 'glutWireOctahedron');
@glutSolidOctahedron := GetProcAddress(hDLL, 'glutSolidOctahedron'); @glutSolidOctahedron := GetGLutProcAddress(hDLL, 'glutSolidOctahedron');
@glutWireTetrahedron := GetProcAddress(hDLL, 'glutWireTetrahedron'); @glutWireTetrahedron := GetGLutProcAddress(hDLL, 'glutWireTetrahedron');
@glutSolidTetrahedron := GetProcAddress(hDLL, 'glutSolidTetrahedron'); @glutSolidTetrahedron := GetGLutProcAddress(hDLL, 'glutSolidTetrahedron');
@glutWireIcosahedron := GetProcAddress(hDLL, 'glutWireIcosahedron'); @glutWireIcosahedron := GetGLutProcAddress(hDLL, 'glutWireIcosahedron');
@glutSolidIcosahedron := GetProcAddress(hDLL, 'glutSolidIcosahedron'); @glutSolidIcosahedron := GetGLutProcAddress(hDLL, 'glutSolidIcosahedron');
@glutVideoResizeGet := GetProcAddress(hDLL, 'glutVideoResizeGet'); @glutVideoResizeGet := GetGLutProcAddress(hDLL, 'glutVideoResizeGet');
@glutSetupVideoResizing := GetProcAddress(hDLL, 'glutSetupVideoResizing'); @glutSetupVideoResizing := GetGLutProcAddress(hDLL, 'glutSetupVideoResizing');
@glutStopVideoResizing := GetProcAddress(hDLL, 'glutStopVideoResizing'); @glutStopVideoResizing := GetGLutProcAddress(hDLL, 'glutStopVideoResizing');
@glutVideoResize := GetProcAddress(hDLL, 'glutVideoResize'); @glutVideoResize := GetGLutProcAddress(hDLL, 'glutVideoResize');
@glutVideoPan := GetProcAddress(hDLL, 'glutVideoPan'); @glutVideoPan := GetGLutProcAddress(hDLL, 'glutVideoPan');
@glutReportErrors := GetProcAddress(hDLL, 'glutReportErrors'); @glutReportErrors := GetGLutProcAddress(hDLL, 'glutReportErrors');
@glutGameModeString := GetProcAddress(hDLL, 'glutGameModeString'); @glutGameModeString := GetGLutProcAddress(hDLL, 'glutGameModeString');
@glutEnterGameMode := GetProcAddress(hDLL, 'glutEnterGameMode'); @glutEnterGameMode := GetGLutProcAddress(hDLL, 'glutEnterGameMode');
@glutLeaveGameMode := GetProcAddress(hDLL, 'glutLeaveGameMode'); @glutLeaveGameMode := GetGLutProcAddress(hDLL, 'glutLeaveGameMode');
@glutGameModeGet := GetProcAddress(hDLL, 'glutGameModeGet'); @glutGameModeGet := GetGLutProcAddress(hDLL, 'glutGameModeGet');
except
raise Exception.Create('Could not load ' + MethodName + ' from ' + dll);
end;
end; end;
initialization initialization
try {$IFDEF Win32}
{$IFDEF Win32} LoadGlut('glut32.dll');
LoadGlut('glut32.dll'); {$ELSE}
{$ELSE} {$ifdef darwin}
{$ifdef darwin} LoadGlut('/System/Library/Frameworks/GLUT.framework/GLUT');
LoadGlut('/System/Library/Frameworks/GLUT.framework/GLUT'); {$else}
{$else} LoadGlut('libglut.so.3');
LoadGlut('libglut.so.3'); {$endif}
{$endif} {$ENDIF}
{$ENDIF}
except
writeln('Can''t load glut library');
halt(1);
end;
finalization finalization