Opengl : GLSL utility files We can create header files in C/C++ which we can include in our project using #include directive but when I use this keyword in my shader it gives the error  reserved keyword. If let's say I create an simple text file for adding two numbers and I want to include this file &amp; code in my vertex/fragment shader is it possible?
Yes,  With a certain OpenGL extension, that is possible (thanks to NicolBolas for pointing that out). It is pretty much the same as in C++. Let's assume you have a file util.glsl, vertex.glsl and fragment.glsl, all in the same folder. $^1$
//in util.glsl
float add(float a, float b)
{
    return a + b;
}

Then you can call that function, as if it were in your shader file
//in either vertex.glsl or fragment.glsl
#include &quot;util.glsl&quot;

void main()
{
    float result = add(1, 2);
    ...
}

Your result would then be 3. Of course, if you have the file in a different folder, you need to adjust the path, but again, that is pretty much the same as in C++.
The only caveat is with debugging. Without having tested it right now, as far as I remember compiler errors will not display your util.glsl as the source of your error. Rather it will put the contents of util.glsl at the position, where your include call is and then say you have an error in that line in vertex.glsl / fragment.glsl, so this might be a bit confusing
$^1$Actually, this is incorrect (by default at least). In a project we used it like that, but since I did not do that setup myself, I assume it was either setup to work like that by a collegue or by OpenSceneGraph, which we used. In any case, I cannot (yet) answer this myself. I want to add this part, as soon as I understand it myself. Until then, I will simply link to a similar question with answer from NicolBolas, which hints at what you have to do: https://stackoverflow.com/questions/10754437/how-to-using-the-include-in-glsl-support-arb-shading-language-include