第一次看到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
七星重劍 閱讀(2115)
評論(5) 編輯 收藏 引用 所屬分類:
Game Graphics 、
C++ lib -- Qt