第一次看到unreal的编辑器时觉得有四个视图很神奇,后来看到Delta3D的编辑器Stage也有

今天看了下其源码
class MainWindow里面定义了四个成员变量:
         PerspectiveViewport *perspView;
         OrthoViewport *topView;
         OrthoViewport *sideView;
         OrthoViewport *frontView;
看其类继承图
用Windows的画图画的

starUML画的(开源软件)

看到了没?每个Viewport就是一个QGLWidget,这个QGLWidget是Qt里面的!没啥神奇的,源码之前,了无秘密!
我也仿照写一个,从QD3DWidget继承,这个QD3Dwidget要自己写,没现成的。
Render Loop没有用QTimer,用的是paintEvent,脏了才画,就是windows的WM_PAINT消息

renderFrame里面画场景
 
        /**
         * Renders the scene as is viewed from the viewport's currently assigned
         * camera.
         */
        virtual void renderFrame();
 
	posted on 2008-12-01 16:18 
七星重剑 阅读(2133) 
评论(5)  编辑 收藏 引用  所属分类: 
Game Graphics 、
C++ lib -- Qt