#version 330 core uniform sampler2D colorMap; uniform vec3 camera; uniform vec2 worldSize; uniform vec2 screenSize; out vec4 outColor; void main() { vec2 halfScreen = screenSize/2; vec2 screenPos = gl_FragCoord.xy/gl_FragCoord.w + camera.xy; vec2 texCoord = (screenPos-halfScreen)/200; vec3 texColor = texture(colorMap, texCoord).xyz; if(length(screenPos-halfScreen)*camera.z < 200) outColor = vec4(texColor, 1.0); else outColor = vec4(0.0, 0.5, 0.5, 1.0); }