What is the case usually?
-- MORE INFO --
I have a IGraphics interface which essentially is a wrapper for the underlying API i.e. opengl. IGraphics wraps stuff like glDrawElements, SwapBuffers, ReadPixels etc.
currently I have a Renderer::Render() which gets called in the idle loop:
Renderer::Render(){ // bunch of IGraphic calls. for (each entity in Scene) { ... _mIGraphics->DrawBuffers(); } ... _mIGraphics->SwapBuffers();}
Should I also let Renderer do the picking? Other candidates include the Scene object, but then I will have to share the IGraphics object which is currently contained in an inner-class inside Renderer... that is bad.