vegastrike  0.5.1.r1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
cg_global.h
Go to the documentation of this file.
1 #ifndef _CG_GLOBAL_
2 #define _CG_GLOBAL_
3 
4 #if defined (CG_SUPPORT)
5 
6 #if defined (__APPLE__) || defined (MACOSX)
7 #define MACOS 1
8 #elif !defined (WIN32)
9 #define UNIX 1
10 
11 #endif
12 
13 #include "gldrv/gl_globals.h"
14 
15 #if defined (UNIX)
16 
17 #define GLX_GLXEXT_PROTOTYPES 1
18 #include <GL/glx.h>
19 #include "gldrv/glx_undefined_extensions.h"
20 #include <GL/glxext.h>
21 
22 #endif
23 
24 #include <Cg/cg.h>
25 #include <Cg/cgGL.h>
26 
27 #define CG_REQUIRED_EXTENSIONS \
28  "GL_ARB_multitexture " \
29  "GL_NV_texture_shader " \
30  "GL_ARB_vertex_program " \
31  "GL_SGIS_generate_mipmap "
32 
33 #include <glh/glh_extensions.h>
34 #include <glh/glh_obs.h>
35 #include <glh/glh_cube_map.h>
36 
37 using namespace glh;
38 
39 class CG_Cloak
40 {
41 public:
42  CGprogram vertexProgram;
43  CGcontext shaderContext;
44  CGprofile vertexProfile;
45 //float4x4
46  CGparameter ModelViewProj;
47  CGparameter ModelViewIT;
48  CGparameter ModelView;
49 //float4
50  CGparameter MaterialDiffuse;
51  CGparameter MaterialAmbient;
52  CGparameter MaterialSpecular;
53  CGparameter MaterialEmissive;
54  CGparameter VecPower;
55  CGparameter VecCenter;
56  CGparameter VecBlendParams;
57  CGparameter VecLightDir;
58  CGparameter VecEye;
59  CGparameter VecTime;
60  CG_Cloak() {}
61  void cgLoadMedia( string pathname, string filename );
62 };
63 
64 extern CG_Cloak *cloak_cg;
65 
66 #endif
67 #endif
68