I would not expose this and `getSpecularOfMaterial` below.  I would only expose functions that we know are in use, like the others used by the centralbody shader.  When we expose things, we have to doc and test them (well, our tests for built-in functions need some work), and commit(-ish) to the interfaces.  It also makes the API bigger and harder to learn.  Anyway, I wouldn't expose these.

We need a naming convention for local functions like these.  The current names could easily conflict with a sane shader.  What do you think?  Prefix with `czm_private_`?