Generic Effect system for Graphic API's (OpenGL and DirectX)