12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #ifndef _FRAMEWORK_H_
- #define _FRAMEWORK_H_
-
- #ifdef WIN32
- #define WIN32_LEAN_AND_MEAN
- #include <windows.h>
- #endif
-
- #include <stdlib.h>
- #include <stdio.h>
- #include <string.h>
- #include <assert.h>
- #include <math.h>
- #include <GL/gl.h>
- #include <GL/glut.h>
- #include <GL/glext.h>
-
- #ifdef WIN32
- #define GETPROCADDRESS(x) wglGetProcAddress (x)
- #else
- #define GETPROCADDRESS(x) glutGetProcAddress (x)
- #endif
-
- #define GETPROCADDR(x,T) do { x = (T) (GETPROCADDRESS(#x)); assert (x != NULL); } while (0)
-
- /*
- * GL_ARB_multitexture
- */
- #ifndef GL_ARB_multitexture
- extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB;
- extern PFNGLMULTITEXCOORD4FVARBPROC glMultiTexCoord4fvARB;
- #endif
-
- /*
- * GL_ARB_shader_objects
- */
- extern PFNGLDELETEOBJECTARBPROC glDeleteObjectARB;
- extern PFNGLGETHANDLEARBPROC glGetHandleARB;
- extern PFNGLDETACHOBJECTARBPROC glDetachObjectARB;
- extern PFNGLCREATESHADEROBJECTARBPROC glCreateShaderObjectARB;
- extern PFNGLSHADERSOURCEARBPROC glShaderSourceARB;
- extern PFNGLCOMPILESHADERARBPROC glCompileShaderARB;
- extern PFNGLCREATEPROGRAMOBJECTARBPROC glCreateProgramObjectARB;
- extern PFNGLATTACHOBJECTARBPROC glAttachObjectARB;
- extern PFNGLLINKPROGRAMARBPROC glLinkProgramARB;
- extern PFNGLUSEPROGRAMOBJECTARBPROC glUseProgramObjectARB;
- extern PFNGLGETOBJECTPARAMETERIVARBPROC glGetObjectParameterivARB;
- extern PFNGLGETINFOLOGARBPROC glGetInfoLogARB;
- extern PFNGLGETUNIFORMLOCATIONARBPROC glGetUniformLocationARB;
- /*static PFNGLUNIFORM4FVARBPROC glUniform4fvARB = NULL;*/
-
- /*
- * GL_ARB_vertex_shader
- */
- extern PFNGLVERTEXATTRIB4FVARBPROC glVertexAttrib4fvARB;
- extern PFNGLVERTEXATTRIBPOINTERARBPROC glVertexAttribPointerARB;
- extern PFNGLENABLEVERTEXATTRIBARRAYARBPROC glEnableVertexAttribArrayARB;
- extern PFNGLDISABLEVERTEXATTRIBARRAYARBPROC glDisableVertexAttribArrayARB;
- extern PFNGLBINDATTRIBLOCATIONARBPROC glBindAttribLocationARB;
- extern PFNGLGETATTRIBLOCATIONARBPROC glGetAttribLocationARB;
-
- /*
- * GL_EXT_fog_coord
- */
- extern PFNGLFOGCOORDFVEXTPROC glFogCoordfvEXT;
- extern PFNGLFOGCOORDPOINTEREXTPROC glFogCoordPointerEXT;
-
- /*
- * GL_EXT_secondary_color
- */
- extern PFNGLSECONDARYCOLOR3FVEXTPROC glSecondaryColor3fvEXT;
- extern PFNGLSECONDARYCOLORPOINTEREXTPROC glSecondaryColorPointerEXT;
-
- extern void InitFramework (int *argc, char *argv[]);
-
- extern void InitScene (void);
- extern void RenderScene (void);
-
- extern GLboolean CheckObjectStatus (GLhandleARB);
-
- #endif
|