Вы вызываете функцию drawRectangle
с постоянными фактическими параметрами
drawRectangle(vec2(60,100));
Обратите внимание, что это то же самое, что:
if (60 > 60 && 60 < 200 && 100 > 60 && 100 < 200)
{
outColor = vec4(1.0, 0.0, 0.0, 0.0);
}
Чтобы решить проблему, вы должны изменить фактическуюПараметр для координат окна фрагмента, который в данный момент обрабатывается.См. gl_FragCoord
:
drawRectangle( gl_FragCoord.xy );
Обратите внимание, что Фрагментный шейдер выполняется один раз для каждого фрагмента и встроенной универсальной переменной gl_FragCoord
содержит координаты текущего фрагмента.