+ // Scale down if fixedTotal is bigger than visualSize
+ mediump float fixedScaleDownRate = min(1.0, min(size.x / fixedTotal.x, size.y / fixedTotal.y));
+
+ mediump vec4 gridPosition = vec4( fixedFactor * fixedScaleDownRate + ( size - fixedTotal * fixedScaleDownRate ) * stretch, 0.0, 1.0 );