Glsl function - add ModularProgram

smart!