i want to fill the bottom-left half of a a rectangle (i.e. a triangle):

with a LinearGradient, going from color to transparent:

Filling half a rectangle:

i know the point (x,y), and the size of the rectangle.
If i try using a LinearGradientBrush, to perform my linear gradient:
brush = new LinearGradientBrush(
MakePoint(0, y), //bottom left corner
MakePoint(x, 0), //upper right corner
MakeColor(255, c), //fully opaque color
MakeColor(0, c)); //fully transparent color
graphics.FillRectangle(brush, MakeRect(0, 0, w, h));
The linear gradient brush fills the entire rectangle, which would be fine if it continued to fill the rest of the rectangle with the final (transparent) color; but instead it wraps around:

i have my LinearGradientBrush how i like, i just want to FillTriangle or FillPolygon, rather than FillRectangle. Except there is no FillTriangle or FillPolygon, only FillRectangle, and FillEllipse.
There is a FillPolygon in the Graphics library. I think you should be able to do it like this: