space-game001/defaultHideCam_web.fragment
2025-04-08 16:19:54 +06:00

36 lines
781 B
Plaintext

precision mediump float;
uniform sampler2D Texture;
varying vec2 texCoord;
varying vec3 vWorldPos;
uniform vec3 eyePos; // Позиция камеры
uniform vec3 targetPos; // Цель камеры
void main()
{
vec4 color;
vec3 dirToCamera = normalize(eyePos - targetPos);
vec3 dirToVertex = normalize(vWorldPos - targetPos);
float dotProduct = dot(dirToCamera, dirToVertex);
float distanceX = abs(vWorldPos.x);
float distanceZ = abs(vWorldPos.z);
//float distanceToCamera = length(vWorldPos - targetPos);
if ((distanceX > 380.0 || distanceZ > 380.0) && (dotProduct > 0.0) && vWorldPos.y > 10.0)
{
//color.rgba = vec4(1,0,0,1);
discard;
}
else
{
color.rgb = texture2D(Texture, texCoord).rgb;
color.a = 1.0;
}
gl_FragColor = color;
}