Are you meaning create another scene for rendering minimap? Would that be too complicated? I don't want to create a copy of my game scene so that I can use different materials or geometry. I just want to create one scene, and render the minimap based on it.
That's exactly what I mean. The minimap is much smaller on-screen than the main view. That means that it doesn't need to be anywhere near as detailed as the main scene, so re-drawing the main scene itself, but with different materials, is doing WAY more work than is necessary, even before the work of iterating the scene and changing all of the materials, then iterating and changing them back for the next main view render. If a piece of geometry is represented by 1000 faces in the main view, it can be represented by a dozen or less in the minimap, and that's a thousand-fold savings you've made.
And it should only be complicated if the design of your scenes is complicated and/or broken. If done right, it's as easy as
minimapscene=new Scene();
And you don't create a direct copy of your main scene. You add different geometry to the minimap scene, to account for the fact that the view is smaller. Sure, you need some means of tying the minimap geometry and the main view geometry together, but that should be trivial if designed right.