Fix the lightbeam shader's inconsistent style

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@13380 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
curaga 2013-07-29 14:40:42 +00:00
parent c6f22508e1
commit b4cd5e4ec9
2 changed files with 10 additions and 18 deletions

View File

@ -2,8 +2,7 @@
// Creates a cone lightbeam effect by smoothing edges
// Original idea: http://udn.epicgames.com/Three/VolumetricLightbeamTutorial.html
// TODO: Soft edges when it intesects geometry
// Some artefacts are still visible
// Some artefacts are still visible
uniform sampler2D main_texture;
uniform float transparency;
@ -13,14 +12,9 @@ varying vec3 normal;
void main()
{
float inter = dot(normal, eyeVec);
float m = texture2D(main_texture, vec2(0.5, uv.y)).r;
float alpha = inter * inter * inter * inter * m;
float inter = dot(normal, eyeVec);
float m = texture2D(main_texture, vec2(0.5, uv.y)).r;
gl_FragColor = vec4(1.0,1.0,0.8, 1.0);
gl_FragColor.a = inter * inter * inter * inter * m;
gl_FragColor = vec4(1.0, 1.0, 0.8, alpha);
}

View File

@ -1,6 +1,5 @@
// Jean-manuel clemencon supertuxkart
// Creates a cone lightbeam effect by smoothing edges
uniform float time;
varying vec2 uv;
@ -10,13 +9,12 @@ varying vec3 normal;
void main()
{
gl_TexCoord[0] = gl_MultiTexCoord0;
gl_Position = gl_ModelViewMatrix * gl_Vertex;
vec4 viewp = gl_ModelViewMatrix * gl_Vertex;
eyeVec = normalize(-viewp).xyz;
normal = gl_NormalMatrix * gl_Normal;
eyeVec = normalize(-gl_Position).xyz;
normal = gl_NormalMatrix * gl_Normal;
gl_Position = ftransform();
gl_Position = ftransform();
uv = gl_TexCoord[0].st;
uv = gl_TexCoord[0].st;
}