1// $LastChangedDate: 2010-11-12 11:27:22 -0500 (Fri, 12 Nov 2010) $
2// Vertex shader (aircraft, a=color.a).
3
4@include inc_vert.glsl
5@include inc_ComputeDiffuseSpecular_vert.glsl
6
7#ifndef SPECULAR_SCALE
8#define SPECULAR_SCALE 0.4
9#define DIFFUSE_SCALE  (1.0 - SPECULAR_SCALE)
10#endif
11#ifndef VAR_LIGHT_INTENSITY_MUL
12#define VAR_LIGHT_INTENSITY_MUL 1.30
13#define VAR_LIGHT_INTENSITY_ADD 0.30
14#define VAR_LIGHT_INTENSITY_MIN 1.75
15#endif
16
17/*****************************************************************************
18 * Vertex shader.
19 *****************************************************************************/
20void main( void )
21{
22    // Compute diffuse/specular light intensity.
23    vec4 ecPosition4 = gl_ModelViewMatrix * gl_Vertex;
24    var_lightIntensity = ComputeDiffuseSpecular( ecPosition4.xyz, DIFFUSE_SCALE, SPECULAR_SCALE, 4.0 );
25    var_lightIntensity *= VAR_LIGHT_INTENSITY_MUL;
26    var_lightIntensity += VAR_LIGHT_INTENSITY_ADD;
27    var_lightIntensity = min( VAR_LIGHT_INTENSITY_MIN, var_lightIntensity );
28
29    // Compute color.
30    @include inc_color_vert.glsl
31
32    // Compute fog.
33    @include inc_fog_vert.glsl
34
35    // Compute shadow.
36    @include inc_shadow_vert.glsl
37
38    // Other outputs.
39    gl_Position    = ftransform();
40    gl_TexCoord[0] = gl_TextureMatrix[0] * gl_MultiTexCoord0;
41}
42