1 /******************************************************* 2 gl_refl.h 3 4 by: 5 Matt Ownby - original code 6 dukey - rewrote most of the above :) 7 spike - helped me with the matrix maths 8 jitspoe - shaders 9 10 11 adds reflective water to the Quake2 engine 12 13 *******************************************************/ 14 15 void R_init_refl(int maxNoReflections); 16 void R_shutdown_refl(void); 17 void R_setupArrays(int maxNoReflections); 18 void R_clear_refl(void); 19 void R_add_refl(float x, float y, float z, float normalX, float normalY, float normalZ, float distance2); 20 int txm_genTexObject(unsigned char *texData, int w, int h, 21 int format, qboolean repeat, qboolean mipmap); 22 void R_RecursiveFindRefl(mnode_t * node); 23 void R_DrawDebugReflTexture(void); 24 void R_UpdateReflTex(refdef_t * fd); 25 void R_DoReflTransform(qboolean update); 26 void R_LoadReflMatrix(void); 27 void R_ClearReflMatrix(void); 28 void setupClippingPlanes(void); 29 void drawPlayerReflection(void); 30 31 /* vars other files need access to */ 32 extern qboolean g_drawing_refl; 33 extern qboolean g_refl_enabled; 34 extern unsigned int g_reflTexW, g_reflTexH; 35 extern float g_refl_aspect; 36 extern float *g_refl_X; 37 extern float *g_refl_Y; 38 extern float *g_refl_Z; 39 extern float *g_waterDistance2; 40 extern int *g_tex_num; 41 extern int g_active_refl; 42 extern int g_num_refl; 43 extern vec3_t *waterNormals; 44 45 46 extern unsigned int gWaterProgramId; 47 extern image_t *distortTex; 48 extern image_t *waterNormalTex; 49 extern qboolean brightenTexture; 50