I'm trying to shade 3D parametric surfaces using a basic 3D lighting model, but this answer says that TikZ has no support for lighting. The only option is to use color gradients to shade vertices. This may be acceptable for certain graphs, but not when you're trying to show the actual shape of a 3D object.
But TikZ clearly has all the data available to do this, though. Derivatives can be calculated numerically for each vertex (i.e. without the user needing to analytically derive them by hand for each surface). These can then be use to construct the normals. Let the user specify a point light location and presto, you have diffuse lighting. Snag the camera position and you have specular lighting as well.
I know that packages like Asymptote can create nice 3D images, but these solutions create raster graphics, and I need vector graphics.
How can I add 3D lighting and shading to TikZ? Is there a reason it doesn't exist already? I don't know how TikZ is implemented, and I haven't written any extensions before, so I have no idea how I would add this feature.