Added scrollbars to various menus (when they're too tall for the virtual screen height). Added warnings when qc draws to the screen outside of where it'll actually be displayed (freecs is guilty of this). r_showshaders will now work in q2. mod_texturelist will include a small preview, because I can. plug_list command will now also display some plugins which are not currently loaded. q1bsp now properly respects hitcontents (note that normally only hull 0 actually has contents other than solid+empty). q1bsp now correctly reports content values in tracelines (this fixes freecs being unable to detect func_water). Rewrote netgraph code. Now displays using polygons instead of textures for higher resolution graphs. Fixed texture bug that appears with nouveau's core contexts (texture unit switches were not happening). Added some better support for disabling vsync with nouveau, although its still broken fullscreen for some reason. Changed fteqcc's warning for unrecognised CRCs. Should be more descriptive about the usual cause (but less technical and potentially technically wrong). git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@5378 fc73d0e0-1445-4013-8a0c-d673dee63da5
49 lines
968 B
GLSL
49 lines
968 B
GLSL
!!ver 100 450
|
|
!!permu FOG
|
|
!!cvarf r_wateralpha
|
|
!!samps diffuse lightmap
|
|
|
|
#include "sys/defs.h"
|
|
|
|
//this is the shader that's responsible for drawing default q1 turbulant water surfaces
|
|
//this is expected to be moderately fast.
|
|
|
|
#include "sys/fog.h"
|
|
varying vec2 tc;
|
|
#ifdef LIT
|
|
varying vec2 lm0;
|
|
#endif
|
|
#ifdef VERTEX_SHADER
|
|
void main ()
|
|
{
|
|
tc = v_texcoord.st;
|
|
#ifdef FLOW
|
|
tc.s += e_time * -0.5;
|
|
#endif
|
|
#ifdef LIT
|
|
lm0 = v_lmcoord;
|
|
#endif
|
|
gl_Position = ftetransform();
|
|
}
|
|
#endif
|
|
#ifdef FRAGMENT_SHADER
|
|
#ifndef ALPHA
|
|
uniform float cvar_r_wateralpha;
|
|
#define USEALPHA cvar_r_wateralpha
|
|
#else
|
|
#define USEALPHA float(ALPHA)
|
|
#endif
|
|
void main ()
|
|
{
|
|
vec2 ntc;
|
|
ntc.s = tc.s + sin(tc.t+e_time)*0.125;
|
|
ntc.t = tc.t + sin(tc.s+e_time)*0.125;
|
|
vec3 ts = vec3(texture2D(s_diffuse, ntc));
|
|
|
|
#ifdef LIT
|
|
ts *= (texture2D(s_lightmap, lm0) * e_lmscale).rgb;
|
|
#endif
|
|
|
|
gl_FragColor = fog4(vec4(ts, USEALPHA) * e_colourident);
|
|
}
|
|
#endif
|