You could use a single OpenGL context attached to the toplevel component as adviced by Fabian in this thread: OpenGL interface renderer with OpenGLRenderer component broken - OpenGL Demo misleading
This means that the whole interface is rendered with OpenGL and you can do your own stuff in multiple sub components. This works pretty well for me.
Regards,
Jan