DirectX9-like effect framework for OpenGL