unloadShader() wants to be different?

In the Loader class, how come unloadModel(), unloadTexture() and unloadSfx() are all content with taking in input the object to unload while unloadShader() wants the filename in a string? And does it actually open that file at all or is it just to identify the appropriate object already in memory?


“A foolish consistency is the hobgoblin of little minds.”
– Ralph Waldo Emerson

I don’t know why unloadShader is different from the rest, other than that it was designed by a different programmer, who may not have realized that unloadModel et al also allow specifying a node as well as a filename, or may not have thought it important.

But in any case, it doesn’t actually re-load the filename you give it; it just uses this filename to index into the cache and remove the shader associated with that filename. The other unload functions work the same way, in fact.