83 lines
2.3 KiB
C
83 lines
2.3 KiB
C
#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
|
|
|