Revert "Revert "add GouraudShaing""

This reverts commit 53d548ea51677f9143b0da6c43f5e48ac7701f55.