00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #include "renderwidget.h"
00025
00026 #include <core/debughelper.h>
00027 #include "engine.h"
00028 #include "camera.h"
00029 #include "frustrum.h"
00030 #include "viewport.h"
00031 #include "glheaders.h"
00032
00033 using namespace GluonGraphics;
00034
00035 class RenderWidget::RenderWidgetPrivate
00036 {
00037 public:
00038 };
00039
00040 RenderWidget::RenderWidget( QWidget* parent, const QGLWidget* shareWidget, Qt::WindowFlags f ) :
00041 QGLWidget( parent, shareWidget, f ),
00042 d( new RenderWidgetPrivate )
00043 {
00044
00045 }
00046
00047 RenderWidget::~RenderWidget()
00048 {
00049 }
00050
00051 void RenderWidget::initializeGL()
00052 {
00053 glEnable( GL_DEPTH_TEST );
00054 glEnable( GL_BLEND );
00055 glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
00056 glClearColor( 0.0f, 0.0f, 0.0f, 1.0f );
00057
00058 Engine::instance()->initialize();
00059 }
00060
00061 void RenderWidget::paintGL()
00062 {
00063
00064 glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
00065
00066 Engine::instance()->render();
00067 }
00068
00069 void RenderWidget::resizeGL( int w, int h )
00070 {
00071 Engine::instance()->currentViewport()->setSize( 0, w, 0, h );
00072 Engine::instance()->setFramebufferSize( w, h );
00073 }
00074
00075 #include "renderwidget.moc"