Union Shader & Logic Change

Fragment Shader Logic
change std::function to function pointer