#define Q3TEXTUREFLAG_TWOSIDED 1
#define Q3TEXTUREFLAG_NOPICMIP 16
#define Q3TEXTUREFLAG_POLYGONOFFSET 32
-#define Q3TEXTUREFLAG_REFLECTION 256
-#define Q3TEXTUREFLAG_WATERSHADER 512
+#define Q3TEXTUREFLAG_REFRACTION 256
+#define Q3TEXTUREFLAG_REFLECTION 512
+#define Q3TEXTUREFLAG_WATERSHADER 1024
#define Q3PATHLENGTH 64
#define TEXTURE_MAXFRAMES 64
#define Q3WAVEPARMS 4
#define Q3DEFORM_MAXPARMS 3
-#define Q3SHADER_MAXLAYERS 8
+#define Q3SHADER_MAXLAYERS 2 // FIXME support more than that (currently only two are used, so why keep more in RAM?)
#define Q3RGBGEN_MAXPARMS 3
#define Q3ALPHAGEN_MAXPARMS 1
#define Q3TCGEN_MAXPARMS 6
#define Q3TCMOD_MAXPARMS 6
-#define Q3MAXTCMODS 4
+#define Q3MAXTCMODS 8
#define Q3MAXDEFORMS 4
typedef enum q3wavefunc_e
char skyboxname[Q3PATHLENGTH];
q3shaderinfo_deform_t deforms[Q3MAXDEFORMS];
- vec3_t reflectcolor, refractcolor;
float reflectmin; // when refraction is used, minimum amount of reflection (when looking straight down)
float reflectmax; // when refraction is used, maximum amount of reflection (when looking parallel to water)
- float refractfactor; // amount of refraction distort (1.0 = like the cvar specifies; note that reflection distort is not configurable because that's what the bumpmap should do)
+ float refractfactor; // amount of refraction distort (1.0 = like the cvar specifies)
+ vec4_t refractcolor4f; // color tint of refraction (including alpha factor)
+ float reflectfactor; // amount of reflection distort (1.0 = like the cvar specifies)
+ vec4_t reflectcolor4f; // color tint of reflection (including alpha factor)
}
q3shaderinfo_t;
int textureflags;
// reflection
- vec3_t reflectcolor, refractcolor;
float reflectmin; // when refraction is used, minimum amount of reflection (when looking straight down)
float reflectmax; // when refraction is used, maximum amount of reflection (when looking parallel to water)
- float refractfactor; // amount of refraction distort (1.0 = like the cvar specifies; note that reflection distort is not configurable because that's what the bumpmap should do)
+ float refractfactor; // amount of refraction distort (1.0 = like the cvar specifies)
+ vec4_t refractcolor4f; // color tint of refraction (including alpha factor)
+ float reflectfactor; // amount of reflection distort (1.0 = like the cvar specifies)
+ vec4_t reflectcolor4f; // color tint of reflection (including alpha factor)
}
texture_t;
int numclipnodes;
mclipnode_t *clipnodes;
+ int numhulls; // this variable is only used by MCBSP, other formats know it intuitively
hull_t hulls[MAX_MAP_HULLS];
int num_compressedpvs;