FTEQW
Documentation of the FTE engine source tree.
offsetmapping.h
Go to the documentation of this file.
1vec2 offsetmap(sampler2D normtex, vec2 base, vec3 eyevector)
2{
3#if !defined(OFFSETMAPPING_SCALE)
4 #define OFFSETMAPPING_SCALE 1.0
5#endif
6 if (false)//(RELIEFMAPPING)
7 {
8 float i, f;
9 vec3 OffsetVector = vec3(normalize(eyevector.xyz).xy * cvar_r_glsl_offsetmapping_scale * OFFSETMAPPING_SCALE * vec2(-1.0, 1.0), -1.0);
10 vec3 RT = vec3(vec2(base.xy/* - OffsetVector.xy*OffsetMapping_Bias*/), 1.0);
11 OffsetVector /= 10.0;
12 for(i = 1.0; i < 10.0; ++i)
13 RT += OffsetVector * step(texture2D(normtex, RT.xy).a, RT.z);
14 for(i = 0.0, f = 1.0; i < 5.0; ++i, f *= 0.5)
15 RT += OffsetVector * (step(texture2D(normtex, RT.xy).a, RT.z) * f - 0.5 * f);
16 return RT.xy;
17 }
18 else if (OFFSETMAPPING)
19 {
20 vec2 OffsetVector = normalize(eyevector).xy * cvar_r_glsl_offsetmapping_scale * OFFSETMAPPING_SCALE * vec2(-1.0, 1.0);
21 vec2 tc = base;
22 tc += OffsetVector;
23 OffsetVector *= 0.333;
24 tc -= OffsetVector * texture2D(normtex, tc).w;
25 tc -= OffsetVector * texture2D(normtex, tc).w;
26 tc -= OffsetVector * texture2D(normtex, tc).w;
27 return tc;
28 }
29 return base;
30}
int base
Definition: menu.c:1054
vec2 offsetmap(sampler2D normtex, vec2 base, vec3 eyevector)
Definition: offsetmapping.h:1
int i
Definition: snd_ov.c:50