⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 qgl_win.pas

📁 delphi编的不错的贪吃蛇
💻 PAS
📖 第 1 页 / 共 5 页
字号:
** 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 + -