第一次看到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
七星重剑 阅读(2110)
评论(5) 编辑 收藏 引用 所属分类:
Game Graphics 、
C++ lib -- Qt