-
-
-
- vec3 v0 = normalize(uSpawnPos.xyz-uPlayerPos.xyz);
- float t = min(max(dot(aWorldCo-uPlayerPos.xyz,v0),0.0),
- distance(uSpawnPos.xyz,uPlayerPos.xyz));
-
+ // line
+ vec3 v0 = (uSpawnPos.xyz-uPlayerPos.xyz)*uSpawnPos.w;
+ float t = clamp( dot(aWorldCo-uPlayerPos.xyz,v0), 0.0, uPlayerPos.w );