improved shading accuracy at lower poly counts by calculating normals using the function that's being graphed itself