Arachnoid GLESv1.1 plugin. Compile and run (a bit glitchy and no frameskip) on the...
[mupen64plus-pandora.git] / source / mupen64plus-video-arachnoid / src / SecondaryColorExt.cpp
1 /******************************************************************************
2  * Arachnoid Graphics Plugin for Mupen64Plus
3  * http://bitbucket.org/wahrhaft/mupen64plus-video-arachnoid/
4  *
5  * Copyright (C) 2007 Kristofer Karlsson, Rickard Niklasson
6  *
7  * This program is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
20  *****************************************************************************/
21
22 #include "SecondaryColorExt.h"
23 #include "ExtensionChecker.h"
24
25 // EXT_secondary_color functions
26 #ifndef HAVE_GLES
27 #ifndef GL_GLEXT_VERSION
28 PFNGLSECONDARYCOLOR3BEXTPROC glSecondaryColor3bEXT;
29 PFNGLSECONDARYCOLOR3BVEXTPROC glSecondaryColor3bvEXT;
30 PFNGLSECONDARYCOLOR3DEXTPROC glSecondaryColor3dEXT;
31 PFNGLSECONDARYCOLOR3DVEXTPROC glSecondaryColor3dvEXT;
32 PFNGLSECONDARYCOLOR3FEXTPROC glSecondaryColor3fEXT;
33 PFNGLSECONDARYCOLOR3FVEXTPROC glSecondaryColor3fvEXT;
34 PFNGLSECONDARYCOLOR3IEXTPROC glSecondaryColor3iEXT;
35 PFNGLSECONDARYCOLOR3IVEXTPROC glSecondaryColor3ivEXT;
36 PFNGLSECONDARYCOLOR3SEXTPROC glSecondaryColor3sEXT;
37 PFNGLSECONDARYCOLOR3SVEXTPROC glSecondaryColor3svEXT;
38 PFNGLSECONDARYCOLOR3UBEXTPROC glSecondaryColor3ubEXT;
39 PFNGLSECONDARYCOLOR3UBVEXTPROC glSecondaryColor3ubvEXT;
40 PFNGLSECONDARYCOLOR3UIEXTPROC glSecondaryColor3uiEXT;
41 PFNGLSECONDARYCOLOR3UIVEXTPROC glSecondaryColor3uivEXT;
42 PFNGLSECONDARYCOLOR3USEXTPROC glSecondaryColor3usEXT;
43 PFNGLSECONDARYCOLOR3USVEXTPROC glSecondaryColor3usvEXT;
44 #endif
45 #endif
46 PFNGLSECONDARYCOLORPOINTEREXTPROC glSecondaryColorPointerEXT;
47
48 bool initializeSecondaryColorExtension()
49 {
50 #ifndef HAVE_GLES
51     if ( isExtensionSupported( "GL_EXT_secondary_color" ))
52     {
53 #ifndef GL_GLEXT_VERSION
54         glSecondaryColor3bEXT = (PFNGLSECONDARYCOLOR3BEXTPROC)wglGetProcAddress( "glSecondaryColor3bEXT" );
55         glSecondaryColor3bvEXT = (PFNGLSECONDARYCOLOR3BVEXTPROC)wglGetProcAddress( "glSecondaryColor3bvEXT" );
56         glSecondaryColor3dEXT = (PFNGLSECONDARYCOLOR3DEXTPROC)wglGetProcAddress( "glSecondaryColor3dEXT" );
57         glSecondaryColor3dvEXT = (PFNGLSECONDARYCOLOR3DVEXTPROC)wglGetProcAddress( "glSecondaryColor3dvEXT" );
58         glSecondaryColor3fEXT = (PFNGLSECONDARYCOLOR3FEXTPROC)wglGetProcAddress( "glSecondaryColor3fEXT" );
59         glSecondaryColor3fvEXT = (PFNGLSECONDARYCOLOR3FVEXTPROC)wglGetProcAddress( "glSecondaryColor3fvEXT" );
60         glSecondaryColor3iEXT = (PFNGLSECONDARYCOLOR3IEXTPROC)wglGetProcAddress( "glSecondaryColor3iEXT" );
61         glSecondaryColor3ivEXT = (PFNGLSECONDARYCOLOR3IVEXTPROC)wglGetProcAddress( "glSecondaryColor3ivEXT" );
62         glSecondaryColor3sEXT = (PFNGLSECONDARYCOLOR3SEXTPROC)wglGetProcAddress( "glSecondaryColor3sEXT" );
63         glSecondaryColor3svEXT = (PFNGLSECONDARYCOLOR3SVEXTPROC)wglGetProcAddress( "glSecondaryColor3svEXT" );
64         glSecondaryColor3ubEXT = (PFNGLSECONDARYCOLOR3UBEXTPROC)wglGetProcAddress( "glSecondaryColor3ubEXT" );
65         glSecondaryColor3ubvEXT = (PFNGLSECONDARYCOLOR3UBVEXTPROC)wglGetProcAddress( "glSecondaryColor3ubvEXT" );
66         glSecondaryColor3uiEXT = (PFNGLSECONDARYCOLOR3UIEXTPROC)wglGetProcAddress( "glSecondaryColor3uiEXT" );
67         glSecondaryColor3uivEXT = (PFNGLSECONDARYCOLOR3UIVEXTPROC)wglGetProcAddress( "glSecondaryColor3uivEXT" );
68         glSecondaryColor3usEXT = (PFNGLSECONDARYCOLOR3USEXTPROC)wglGetProcAddress( "glSecondaryColor3usEXT" );
69         glSecondaryColor3usvEXT = (PFNGLSECONDARYCOLOR3USVEXTPROC)wglGetProcAddress( "glSecondaryColor3usvEXT" );
70         glSecondaryColorPointerEXT = (PFNGLSECONDARYCOLORPOINTEREXTPROC)wglGetProcAddress( "glSecondaryColorPointerEXT" );
71 #endif
72         return true;
73     }
74 #endif
75     return false;
76 }