linux shadres
This commit is contained in:
parent
9f75e3ad60
commit
f8b25e581b
@ -7,33 +7,7 @@ uniform vec3 targetPos; // Цель камеры
|
|||||||
|
|
||||||
void main()
|
void main()
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
float maxDistance = 2000;
|
|
||||||
float alpha = 0.0;
|
|
||||||
vec4 color = texture2D(Texture, texCoord);
|
|
||||||
|
|
||||||
vec3 dir = targetPos - eyePos;
|
|
||||||
float dirLengthSq = dot(dir, dir);
|
|
||||||
|
|
||||||
if (dirLengthSq > 0.0)
|
|
||||||
{
|
|
||||||
vec3 objToEye = vWorldPos - eyePos;
|
|
||||||
float t = dot(objToEye, dir) / dirLengthSq;
|
|
||||||
|
|
||||||
if (t >= 0.0 && t <= 1.0)
|
|
||||||
{
|
|
||||||
vec3 projection = eyePos + t * dir;
|
|
||||||
vec3 delta = vWorldPos - projection;
|
|
||||||
float distSq = dot(delta, delta);
|
|
||||||
|
|
||||||
if (distSq < maxDistance * maxDistance)
|
|
||||||
{
|
|
||||||
//color.a *= alpha; // Применяем прозрачность
|
|
||||||
color.rgb = vec3(1,0,0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
vec4 color;
|
vec4 color;
|
||||||
|
|
||||||
vec3 dirToCamera = normalize(eyePos - targetPos);
|
vec3 dirToCamera = normalize(eyePos - targetPos);
|
||||||
@ -46,7 +20,7 @@ void main()
|
|||||||
|
|
||||||
//float distanceToCamera = length(vWorldPos - targetPos);
|
//float distanceToCamera = length(vWorldPos - targetPos);
|
||||||
|
|
||||||
if (/*(distanceX > 250 || distanceZ > 250) && */(dotProduct > 0.1) && vWorldPos.y > 30)
|
if ((dotProduct > 0.1) && vWorldPos.y > 30.0)
|
||||||
{
|
{
|
||||||
//color.rgba = vec4(1,0,0,1);
|
//color.rgba = vec4(1,0,0,1);
|
||||||
discard;
|
discard;
|
||||||
@ -54,8 +28,7 @@ void main()
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
color.rgb = texture2D(Texture, texCoord).rgb;
|
color.rgb = texture2D(Texture, texCoord).rgb;
|
||||||
//color.rgb = vec3(clamp(vWorldPos.z/500, 0, 1), 0, 0);
|
color.a = 1.0;
|
||||||
color.a = 1;
|
|
||||||
}
|
}
|
||||||
gl_FragColor = color;
|
gl_FragColor = color;
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user