每天30分钟写Editor--(3)Delta3D Stage的四个ViewPort

每天30分钟写Editor--(3)Delta3D Stage的四个ViewPort
第一次看到unreal的编辑器时觉得有四个视图很神奇,后来看到Delta3D的编辑器Stage也有
每天30分钟写Editor--(3)Delta3D Stage的四个ViewPort_第1张图片
今天看了下其源码

class MainWindow里面定义了四个成员变量:
         PerspectiveViewport  * perspView;
         OrthoViewport 
* topView;
         OrthoViewport 
* sideView;
         OrthoViewport 
* frontView;

看其类继承图

用Windows的画图画的
每天30分钟写Editor--(3)Delta3D Stage的四个ViewPort_第2张图片
starUML画的(开源软件)
每天30分钟写Editor--(3)Delta3D Stage的四个ViewPort_第3张图片


看到了没?每个Viewport就是一个QGLWidget,这个QGLWidget是Qt里面的!没啥神奇的,源码之前,了无秘密!

我也仿照写一个,从QD3DWidget继承,这个QD3Dwidget要自己写,没现成的。

Render Loop
没有用QTimer,用的是paintEvent,脏了才画,就是windows的WM_PAINT消息
每天30分钟写Editor--(3)Delta3D Stage的四个ViewPort_第4张图片

renderFrame里面画场景

 

         /* *
         * Renders the scene as is viewed from the viewport's currently assigned
         * camera.
         
*/
        
virtual   void  renderFrame();




 

你可能感兴趣的:(每天30分钟写Editor--(3)Delta3D Stage的四个ViewPort)