3D modeling application

i am a final year student making a 3d modeling application using opengl and C++… i am very very new to opengl and frankly, i’m not sure how to start.

is there any tutorials on how to create an application like this??

anyway, what i’m trying to do so far is to setup opengl with mfc on my visual c++… and i want to divide the screen into 4 viewports… how can i do this?

thanks very much to any help/replies.

The tutorials at NeHe are a good place to start:


i’ve been to nehe and tried alot of the basic tutorials… but i’m looking for more specific tutorials relevant to developing a 3d modeling application… anyone can help?

Please be a little more specific…what are your questions?

Dividing the screen into several viewports is really simple:

glViewport(x1, y1, w1, h1);
setup_projection(w1, h1);
glViewport(x2, y2, w2, h2);
setup_projection(w2, h2);

x1, y1, w1, h1 are the position and size of the viewports, the setup_projection function is like the reshape functions in most tutorials (setting up projection), the setup_view?() functions sets the camera position…

I think you can guess what draw_scene() does :wink: .

This way you can easily draw the scene from multiple perspectives like in most 3d modeling applications…

Another way would be to really create 4 windows with seperate rendering contexts attached to them. Perhaps someone else will be more qualified to tell you how this is done with MFC, as I’m mainly a Linux developer…

Hi, I’m a french computer science student. My final project was to do the same project as you, with the same language. If you want, I can help you.

If you have some question :

How to create a OpenGL application is very simple : you can copy Nehe’s source code.

Personally, I like Overmind’s approach. I’ve built editors based on MFC, and I can say that it’s certainly adequate to the task. But I’ve since dumped the Windows stuff in favor of my own in-game editor (:-)). As Overmind already stated, you can create a single window, and divide into viewports however you see fit. Granted, this can be a bit more complicated in some respects, as the window management now falls under your control; but i’ve found this to be quite refreshing in the end.

While not a tutorial, Blender is open-source, and there are other open-source packages as well. You may not however find this to be the easiest way to learn this sort of thing :wink:

From my own experience, I would say that the more cleanly and clearly you separate the UI from what your editor does, the better.

I wish you luck.