efeito de pincel de gradiente radial c # em GDI e winforms

Eu criei um aplicativo c # windows e escrevi 75% do código. O programa permite ao usuário criar um fluxograma e sombreará as formas do fluxograma de acordo com seu status. Eu queria que eles se tornassem botões 3D, como

Em vez de criar um PNG para cada botão, eu queria criá-los em C # usando pincéis ou outra técnica, como:

// Create solid brush.
SolidBrush blueBrush = new SolidBrush(Color.Blue);
// Create points that define polygon.
PointF point1 = new PointF(50.0F, 50.0F);
PointF point2 = new PointF(100.0F, 25.0F);
PointF point3 = new PointF(200.0F, 5.0F);
PointF point4 = new PointF(250.0F, 50.0F);
PointF point5 = new PointF(300.0F, 100.0F);
PointF point6 = new PointF(350.0F, 200.0F);
PointF point7 = new PointF(250.0F, 250.0F);
PointF[] curvePoints = {point1, point2, point3, point4, point5, point6, point7};
// Define fill mode.
FillMode newFillMode = FillMode.Winding;
// Fill polygon to screen.
e.Graphics.FillPolygon(blueBrush, curvePoints, newFillMode);

Eu sei que o WPF tem gradientes radiais, mas posso fazer algo semelhante no CGI?