# Creating glsl library

I have different functions for example normalmapping which I use all the time... Now I thought about making a small glsl library.

My problem: I don't want to have all functions within the same "namespace".

I would like to have it like:

vec4 lighting::Phong(vec3 normal, vec3 color, vec3 lightPositionRelative)


The thing is, that I have tons of functions and sometimes multiple functions are related to the same thing, for example: A HashTable, AddKey, GetKey, HasKey...

So some kind of namespace or even better a class like structure. What are the options I have? How are you guys handle this?