Varying values in gl_HelperInvocation fragment shader executions

Question regarding pixels outside a triangle, where the fragment shader is solely executed for the purposes of evaluating derivatives for use in non-helper fragment-shader invocations inside the triangle:

How are the interpolated varying variable values computed in those fragments? Do they use special barycentric coordinates not in range [0,1]? Or how is it possible to achieve varying values that still make sense (i.e. are continuous in relation to their adjacent pixel varying values)?

Clarification is very appreciated!

Yes. There’s nothing special about a barycentric coordinate system that stops it from existing outside of [0, 1]. Barycentric coordinates are valid for any value within the set of real numbers.

They just happen to be outside of the triangle of interest.

Thanks for the clarification Alfonse! :ok_hand: