📄 qgl_win.pas
字号:
** This is responsible for binding our qgl function pointers to
** the appropriate GL stuff. In Windows this means doing a
** LoadLibrary and a bunch of calls to GetProcAddress. On other
** operating systems we need to do the right thing, whatever that
** might be.
**
*}
//function QGL_Init (const char *dllname ) : qboolean;
function QGL_Init (dllname : PChar) : qboolean;
var
buf : PChar;
begin
buf := nil;
// update 3Dfx gamma irrespective of underlying DLL
{
char envbuffer[1024];
float g;
g = 2.00 * ( 0.8 - ( vid_gamma->value - 0.5 ) ) + 1.0F;
Com_sprintf( envbuffer, sizeof(envbuffer), "SSTV2_GAMMA=%f", g );
putenv( envbuffer );
Com_sprintf( envbuffer, sizeof(envbuffer), "SST_GAMMA=%f", g );
putenv( envbuffer );
}
glw_state.hinstOpenGL := LoadLibrary (dllname);
if (glw_state.hinstOpenGL = 0) then
begin
FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER OR FORMAT_MESSAGE_FROM_SYSTEM,
Nil, GetLastError(),
0, //MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
buf, 0, Nil);
ri.Con_Printf (PRINT_ALL, '%s'#10, buf);
Result := false;
Exit;
end;
gl_config.allow_cds := true;
GPA (@qglAccum , @dllAccum , 'glAccum');
GPA (@qglAlphaFunc , @dllAlphaFunc , 'glAlphaFunc');
GPA (@qglAreTexturesResident , @dllAreTexturesResident , 'glAreTexturesResident');
GPA (@qglArrayElement , @dllArrayElement , 'glArrayElement');
GPA (@qglBegin , @dllBegin , 'glBegin');
GPA (@qglBindTexture , @dllBindTexture , 'glBindTexture');
GPA (@qglBitmap , @dllBitmap , 'glBitmap');
GPA (@qglBlendFunc , @dllBlendFunc , 'glBlendFunc');
GPA (@qglCallList , @dllCallList , 'glCallList');
GPA (@qglCallLists , @dllCallLists , 'glCallLists');
GPA (@qglClear , @dllClear , 'glClear');
GPA (@qglClearAccum , @dllClearAccum , 'glClearAccum');
GPA (@qglClearColor , @dllClearColor , 'glClearColor');
GPA (@qglClearDepth , @dllClearDepth , 'glClearDepth');
GPA (@qglClearIndex , @dllClearIndex , 'glClearIndex');
GPA (@qglClearStencil , @dllClearStencil , 'glClearStencil');
GPA (@qglClipPlane , @dllClipPlane , 'glClipPlane');
GPA (@qglColor3b , @dllColor3b , 'glColor3b');
GPA (@qglColor3bv , @dllColor3bv , 'glColor3bv');
GPA (@qglColor3d , @dllColor3d , 'glColor3d');
GPA (@qglColor3dv , @dllColor3dv , 'glColor3dv');
GPA (@qglColor3f , @dllColor3f , 'glColor3f');
GPA (@qglColor3fv , @dllColor3fv , 'glColor3fv');
GPA (@qglColor3i , @dllColor3i , 'glColor3i');
GPA (@qglColor3iv , @dllColor3iv , 'glColor3iv');
GPA (@qglColor3s , @dllColor3s , 'glColor3s');
GPA (@qglColor3sv , @dllColor3sv , 'glColor3sv');
GPA (@qglColor3ub , @dllColor3ub , 'glColor3ub');
GPA (@qglColor3ubv , @dllColor3ubv , 'glColor3ubv');
GPA (@qglColor3ui , @dllColor3ui , 'glColor3ui');
GPA (@qglColor3uiv , @dllColor3uiv , 'glColor3uiv');
GPA (@qglColor3us , @dllColor3us , 'glColor3us');
GPA (@qglColor3usv , @dllColor3usv , 'glColor3usv');
GPA (@qglColor4b , @dllColor4b , 'glColor4b');
GPA (@qglColor4bv , @dllColor4bv , 'glColor4bv');
GPA (@qglColor4d , @dllColor4d , 'glColor4d');
GPA (@qglColor4dv , @dllColor4dv , 'glColor4dv');
GPA (@qglColor4f , @dllColor4f , 'glColor4f');
GPA (@qglColor4fv , @dllColor4fv , 'glColor4fv');
GPA (@qglColor4i , @dllColor4i , 'glColor4i');
GPA (@qglColor4iv , @dllColor4iv , 'glColor4iv');
GPA (@qglColor4s , @dllColor4s , 'glColor4s');
GPA (@qglColor4sv , @dllColor4sv , 'glColor4sv');
GPA (@qglColor4ub , @dllColor4ub , 'glColor4ub');
GPA (@qglColor4ubv , @dllColor4ubv , 'glColor4ubv');
GPA (@qglColor4ui , @dllColor4ui , 'glColor4ui');
GPA (@qglColor4uiv , @dllColor4uiv , 'glColor4uiv');
GPA (@qglColor4us , @dllColor4us , 'glColor4us');
GPA (@qglColor4usv , @dllColor4usv , 'glColor4usv');
GPA (@qglColorMask , @dllColorMask , 'glColorMask');
GPA (@qglColorMaterial , @dllColorMaterial , 'glColorMaterial');
GPA (@qglColorPointer , @dllColorPointer , 'glColorPointer');
GPA (@qglCopyPixels , @dllCopyPixels , 'glCopyPixels');
GPA (@qglCopyTexImage1D , @dllCopyTexImage1D , 'glCopyTexImage1D');
GPA (@qglCopyTexImage2D , @dllCopyTexImage2D , 'glCopyTexImage2D');
GPA (@qglCopyTexSubImage1D , @dllCopyTexSubImage1D , 'glCopyTexSubImage1D');
GPA (@qglCopyTexSubImage2D , @dllCopyTexSubImage2D , 'glCopyTexSubImage2D');
GPA (@qglCullFace , @dllCullFace , 'glCullFace');
GPA (@qglDeleteLists , @dllDeleteLists , 'glDeleteLists');
GPA (@qglDeleteTextures , @dllDeleteTextures , 'glDeleteTextures');
GPA (@qglDepthFunc , @dllDepthFunc , 'glDepthFunc');
GPA (@qglDepthMask , @dllDepthMask , 'glDepthMask');
GPA (@qglDepthRange , @dllDepthRange , 'glDepthRange');
GPA (@qglDisable , @dllDisable , 'glDisable');
GPA (@qglDisableClientState , @dllDisableClientState , 'glDisableClientState');
GPA (@qglDrawArrays , @dllDrawArrays , 'glDrawArrays');
GPA (@qglDrawBuffer , @dllDrawBuffer , 'glDrawBuffer');
GPA (@qglDrawElements , @dllDrawElements , 'glDrawElements');
GPA (@qglDrawPixels , @dllDrawPixels , 'glDrawPixels');
GPA (@qglEdgeFlag , @dllEdgeFlag , 'glEdgeFlag');
GPA (@qglEdgeFlagPointer , @dllEdgeFlagPointer , 'glEdgeFlagPointer');
GPA (@qglEdgeFlagv , @dllEdgeFlagv , 'glEdgeFlagv');
GPA (@qglEnable , @dllEnable , 'glEnable');
GPA (@qglEnableClientState , @dllEnableClientState , 'glEnableClientState');
GPA (@qglEnd , @dllEnd , 'glEnd');
GPA (@qglEndList , @dllEndList , 'glEndList');
GPA (@qglEvalCoord1d , @dllEvalCoord1d , 'glEvalCoord1d');
GPA (@qglEvalCoord1dv , @dllEvalCoord1dv , 'glEvalCoord1dv');
GPA (@qglEvalCoord1f , @dllEvalCoord1f , 'glEvalCoord1f');
GPA (@qglEvalCoord1fv , @dllEvalCoord1fv , 'glEvalCoord1fv');
GPA (@qglEvalCoord2d , @dllEvalCoord2d , 'glEvalCoord2d');
GPA (@qglEvalCoord2dv , @dllEvalCoord2dv , 'glEvalCoord2dv');
GPA (@qglEvalCoord2f , @dllEvalCoord2f , 'glEvalCoord2f');
GPA (@qglEvalCoord2fv , @dllEvalCoord2fv , 'glEvalCoord2fv');
GPA (@qglEvalMesh1 , @dllEvalMesh1 , 'glEvalMesh1');
GPA (@qglEvalMesh2 , @dllEvalMesh2 , 'glEvalMesh2');
GPA (@qglEvalPoint1 , @dllEvalPoint1 , 'glEvalPoint1');
GPA (@qglEvalPoint2 , @dllEvalPoint2 , 'glEvalPoint2');
GPA (@qglFeedbackBuffer , @dllFeedbackBuffer , 'glFeedbackBuffer');
GPA (@qglFinish , @dllFinish , 'glFinish');
GPA (@qglFlush , @dllFlush , 'glFlush');
GPA (@qglFogf , @dllFogf , 'glFogf');
GPA (@qglFogfv , @dllFogfv , 'glFogfv');
GPA (@qglFogi , @dllFogi , 'glFogi');
GPA (@qglFogiv , @dllFogiv , 'glFogiv');
GPA (@qglFrontFace , @dllFrontFace , 'glFrontFace');
GPA (@qglFrustum , @dllFrustum , 'glFrustum');
GPA (@qglGenLists , @dllGenLists , 'glGenLists');
GPA (@qglGenTextures , @dllGenTextures , 'glGenTextures');
GPA (@qglGetBooleanv , @dllGetBooleanv , 'glGetBooleanv');
GPA (@qglGetClipPlane , @dllGetClipPlane , 'glGetClipPlane');
GPA (@qglGetDoublev , @dllGetDoublev , 'glGetDoublev');
GPA (@qglGetError , @dllGetError , 'glGetError');
GPA (@qglGetFloatv , @dllGetFloatv , 'glGetFloatv');
GPA (@qglGetIntegerv , @dllGetIntegerv , 'glGetIntegerv');
GPA (@qglGetLightfv , @dllGetLightfv , 'glGetLightfv');
GPA (@qglGetLightiv , @dllGetLightiv , 'glGetLightiv');
GPA (@qglGetMapdv , @dllGetMapdv , 'glGetMapdv');
GPA (@qglGetMapfv , @dllGetMapfv , 'glGetMapfv');
GPA (@qglGetMapiv , @dllGetMapiv , 'glGetMapiv');
GPA (@qglGetMaterialfv , @dllGetMaterialfv , 'glGetMaterialfv');
GPA (@qglGetMaterialiv , @dllGetMaterialiv , 'glGetMaterialiv');
GPA (@qglGetPixelMapfv , @dllGetPixelMapfv , 'glGetPixelMapfv');
GPA (@qglGetPixelMapuiv , @dllGetPixelMapuiv , 'glGetPixelMapuiv');
GPA (@qglGetPixelMapusv , @dllGetPixelMapusv , 'glGetPixelMapusv');
GPA (@qglGetPointerv , @dllGetPointerv , 'glGetPointerv');
GPA (@qglGetPolygonStipple , @dllGetPolygonStipple , 'glGetPolygonStipple');
GPA (@qglGetString , @dllGetString , 'glGetString');
GPA (@qglGetTexEnvfv , @dllGetTexEnvfv , 'glGetTexEnvfv');
GPA (@qglGetTexEnviv , @dllGetTexEnviv , 'glGetTexEnviv');
GPA (@qglGetTexGendv , @dllGetTexGendv , 'glGetTexGendv');
GPA (@qglGetTexGenfv , @dllGetTexGenfv , 'glGetTexGenfv');
GPA (@qglGetTexGeniv , @dllGetTexGeniv , 'glGetTexGeniv');
GPA (@qglGetTexImage , @dllGetTexImage , 'glGetTexImage');
GPA (@qglGetTexLevelParameterfv , @dllGetTexLevelParameterfv , 'glGetLevelParameterfv');
GPA (@qglGetTexLevelParameteriv , @dllGetTexLevelParameteriv , 'glGetLevelParameteriv');
GPA (@qglGetTexParameterfv , @dllGetTexParameterfv , 'glGetTexParameterfv');
GPA (@qglGetTexParameteriv , @dllGetTexParameteriv , 'glGetTexParameteriv');
GPA (@qglHint , @dllHint , 'glHint');
GPA (@qglIndexMask , @dllIndexMask , 'glIndexMask');
GPA (@qglIndexPointer , @dllIndexPointer , 'glIndexPointer');
GPA (@qglIndexd , @dllIndexd , 'glIndexd');
GPA (@qglIndexdv , @dllIndexdv , 'glIndexdv');
GPA (@qglIndexf , @dllIndexf , 'glIndexf');
GPA (@qglIndexfv , @dllIndexfv , 'glIndexfv');
GPA (@qglIndexi , @dllIndexi , 'glIndexi');
GPA (@qglIndexiv , @dllIndexiv , 'glIndexiv');
GPA (@qglIndexs , @dllIndexs , 'glIndexs');
GPA (@qglIndexsv , @dllIndexsv , 'glIndexsv');
GPA (@qglIndexub , @dllIndexub , 'glIndexub');
GPA (@qglIndexubv , @dllIndexubv , 'glIndexubv');
GPA (@qglInitNames , @dllInitNames , 'glInitNames');
GPA (@qglInterleavedArrays , @dllInterleavedArrays , 'glInterleavedArrays');
GPA (@qglIsEnabled , @dllIsEnabled , 'glIsEnabled');
GPA (@qglIsList , @dllIsList , 'glIsList');
GPA (@qglIsTexture , @dllIsTexture , 'glIsTexture');
GPA (@qglLightModelf , @dllLightModelf , 'glLightModelf');
GPA (@qglLightModelfv , @dllLightModelfv , 'glLightModelfv');
GPA (@qglLightModeli , @dllLightModeli , 'glLightModeli');
GPA (@qglLightModeliv , @dllLightModeliv , 'glLightModeliv');
GPA (@qglLightf , @dllLightf , 'glLightf');
GPA (@qglLightfv , @dllLightfv , 'glLightfv');
GPA (@qglLighti , @dllLighti , 'glLighti');
GPA (@qglLightiv , @dllLightiv , 'glLightiv');
GPA (@qglLineStipple , @dllLineStipple , 'glLineStipple');
GPA (@qglLineWidth , @dllLineWidth , 'glLineWidth');
GPA (@qglListBase , @dllListBase , 'glListBase');
GPA (@qglLoadIdentity , @dllLoadIdentity , 'glLoadIdentity');
GPA (@qglLoadMatrixd , @dllLoadMatrixd , 'glLoadMatrixd');
GPA (@qglLoadMatrixf , @dllLoadMatrixf , 'glLoadMatrixf');
GPA (@qglLoadName , @dllLoadName , 'glLoadName');
GPA (@qglLogicOp , @dllLogicOp , 'glLogicOp');
GPA (@qglMap1d , @dllMap1d , 'glMap1d');
GPA (@qglMap1f , @dllMap1f , 'glMap1f');
GPA (@qglMap2d , @dllMap2d , 'glMap2d');
GPA (@qglMap2f , @dllMap2f , 'glMap2f');
GPA (@qglMapGrid1d , @dllMapGrid1d , 'glMapGrid1d');
GPA (@qglMapGrid1f , @dllMapGrid1f , 'glMapGrid1f');
GPA (@qglMapGrid2d , @dllMapGrid2d , 'glMapGrid2d');
GPA (@qglMapGrid2f , @dllMapGrid2f , 'glMapGrid2f');
GPA (@qglMaterialf , @dllMaterialf , 'glMaterialf');
GPA (@qglMaterialfv , @dllMaterialfv , 'glMaterialfv');
GPA (@qglMateriali , @dllMateriali , 'glMateriali');
GPA (@qglMaterialiv , @dllMaterialiv , 'glMaterialiv');
GPA (@qglMatrixMode , @dllMatrixMode , 'glMatrixMode');
GPA (@qglMultMatrixd , @dllMultMatrixd , 'glMultMatrixd');
GPA (@qglMultMatrixf , @dllMultMatrixf , 'glMultMatrixf');
GPA (@qglNewList , @dllNewList , 'glNewList');
GPA (@qglNormal3b , @dllNormal3b , 'glNormal3b');
GPA (@qglNormal3bv , @dllNormal3bv , 'glNormal3bv');
GPA (@qglNormal3d , @dllNormal3d , 'glNormal3d');
GPA (@qglNormal3dv , @dllNormal3dv , 'glNormal3dv');
GPA (@qglNormal3f , @dllNormal3f , 'glNormal3f');
GPA (@qglNormal3fv , @dllNormal3fv , 'glNormal3fv');
GPA (@qglNormal3i , @dllNormal3i , 'glNormal3i');
GPA (@qglNormal3iv , @dllNormal3iv , 'glNormal3iv');
GPA (@qglNormal3s , @dllNormal3s , 'glNormal3s');
GPA (@qglNormal3sv , @dllNormal3sv , 'glNormal3sv');
GPA (@qglNormalPointer , @dllNormalPointer , 'glNormalPointer');
GPA (@qglOrtho , @dllOrtho , 'glOrtho');
GPA (@qglPassThrough , @dllPassThrough , 'glPassThrough');
GPA (@qglPixelMapfv , @dllPixelMapfv , 'glPixelMapfv');
GPA (@qglPixelMapuiv , @dllPixelMapuiv , 'glPixelMapuiv');
GPA (@qglPixelMapusv , @dllPixelMapusv , 'glPixelMapusv');
GPA (@qglPixelStoref , @dllPixelStoref , 'glPixelStoref');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -