00001
00002
00003
00004
00005
00035 typedef struct X__SHADERtag {
00036 void (*fp_sNoise)(double x, double y, double z, double *result);
00037 void (*fp_sTurbulence)(double x, double y, double z, double *result);
00038 void (*fp_Cycloidal)(double value, double *result);
00039 void (*fp_vNoise)(vector result, double x, double y, double z);
00040 void (*fp_vTurbulence)(vector result, double x, double y, double z);
00041 short (*fp_normalize)(vector n);
00042 vector *fp_Wave_Sources;
00043 void (*fp_UseSingleShaderProgram)(long id);
00044 int (*fp_LoadAndCompileShader)(char *name);
00045 void (*fp_UnloadCompiledShader)(GLint id);
00046 void (*fp_SetUniformInteger)(int id, char *name, GLint val);
00047 void (*fp_SetUniformVariable)(int id, char *name, GLfloat val);
00048 void (*fp_SetUniformVector)(int id, char *name, GLfloat a, GLfloat b, GLfloat c);
00049 void (*fp_SetUniformVector2)(int id, char *name, GLfloat a, GLfloat b);
00050 void (*fp_SetUniformMatrix3)(int id, char *name, GLfloat m[3][3]);
00051 void (*fp_SetUniformMatrix4)(int id, char *name, GLfloat m[4][4]);
00052 void (*fp_SetAttributeInteger)(int id, char *name, GLshort val);
00053 void (*fp_SetAttributeVariable)(int id, char *name, GLfloat val);
00054 void (*fp_SetAttributeVector)(int id, char *name, GLfloat a, GLfloat b, GLfloat c);
00055 void (*fp_SetAttributeVectorID)(int id, int loc, GLfloat a, GLfloat b, GLfloat c);
00056 void (*fp_BindAttributeVector)(int id, char *name, int loc);
00057 GLint (*fp_GetAttibuteLocation)(int id, char *name);
00058 void (*fp_DrawShaderPolygons)(long k, int pass, GLuint progID, GLint attribloc, long Nface, void *MainFp, long Nvert, void *MainVp);
00059 long *dummyf[16];
00060 long version;
00061 vector *fp_axis_o,
00062 *fp_axis_u,
00063 *fp_axis_v,
00064 *fp_axis_n;
00065 vector *fp_axis_unorm,
00066 *fp_axis_vnorm;
00067 double *u_length,
00068 *v_length;
00069 double *tr,*itr;
00070 long GLshaderID;
00071 long fp_matpass;
00072 long fp_pass;
00073 GLuint fp_progID;
00074 GLint fp_attrloc;
00075 long fp_Nface;
00076 void *fp_MainFp;
00077 long fp_Nvert;
00078 void *fp_MainVp;
00079 BOOL fp_FullSat;
00080 long *dummyv[21];
00081 } X__SHADER;
00082