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:
parent
c6f22508e1
commit
b4cd5e4ec9
@ -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);
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user