3D Editor.. how do they work?

I just want to know how they work… like 3D Studio Max… does it use 4 different OpenGL views 3 “2d” (ortho) for top,front,left and one 3D ? and how do they setup 4 different views in the same window? or do they use one big OpenGL view and then split it with GL code in some way? anyone got an easy explanation or exampel?

how about looking through the forums? topic is discussed several times.

two ways possible: 4 different windows with 4 different rc’s and data shared


one window, and glScissor and glViewport to draw to the 4 regions independent.

I currently develop an editor. And it uses four separate render contexts. I use a derived MFC class of CSplitterWnd which let’s you put a CView derived class in each window… but that’s MFC specific.
Have a look at http://gerogerber.de/englisch/software/software.htm to see some screenshots of my editor.

Unless your 4 different views are being rendered in 4 different threads, then you don’t need 4 different render contexts.
If you have 4 windows, and you want to render into each sequentially, then it’s much better (ie. faster) to use a single render context and bind it sequentially to each of the 4 device contexts associated with each window. This way, you’re not context switching.

If you’re making a 3D editor, make it fast.

4 windows means you have to render the scene 4 times!

And if you’re drawing things like edged faces, that means you may
be rendering the scene up to 8 times over, 2 in each window!

And then there are things like highlighting selected faces, which could
make you redraw the scene even more, maybe 12 times over.

[This message has been edited by Syslock (edited 06-13-2002).]