From kde-commits Sat Jan 01 04:27:08 2011 From: Akarsh Simha Date: Sat, 01 Jan 2011 04:27:08 +0000 To: kde-commits Subject: KDE/kdeedu/kstars/kstars Message-Id: <20110101042708.A9680AC8B5 () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=129385755925616 SVN commit 1210548 by asimha: Working GL-rendered SkyMap, but with lots of terrible terrible bugs. Needs fixing. M +17 -16 skymap.cpp M +5 -1 skymapgldraw.cpp --- trunk/KDE/kdeedu/kstars/kstars/skymap.cpp #1210547:1210548 @@ -60,6 +60,7 @@ #include "projections/equirectangularprojector.h" #include "skymapqdraw.h" +#include "skymapgldraw.h" #ifdef HAVE_XPLANET #include @@ -143,13 +144,6 @@ SkyMap::SkyMap() : QGraphicsView( KStars::Instance() ), - /* -#ifdef USEGL - QGLWidget( QGLFormat(QGL::SampleBuffers), KStars::Instance() ), -#else - QWidget( KStars::Instance() ), -#endif - */ computeSkymap(true), angularDistanceMode(false), scrollCount(0), data( KStarsData::Instance() ), pmenu(0), ClickedObject(0), FocusObject(0), TransientObject(0), m_proj(0), m_SkyMapDraw(NULL) @@ -227,13 +221,24 @@ m_iboxes->addInfoBox(m_geoBox); m_iboxes->addInfoBox(m_objBox); + // TODO: Pick the render enging from Options. For now, we will // hardcode it here, for testing purposes only! + /* + // HARDCODE NATIVE ENGINE SkyMapQDraw *smqd = new SkyMapQDraw( this ); m_SkyMapDraw = smqd; m_SkyMapDrawWidget = smqd; + */ - // DEBUG: Okay. None of this seems to work. So I'm going to do it + // HARDCODE GL ENGINE + SkyMapGLDraw *smgld = new SkyMapGLDraw( this ); + m_SkyMapDraw = smgld; + m_SkyMapDrawWidget = smgld; + + + + // FIXME: Okay. None of this seems to work. So I'm going to do it // the stupid way -- where I just add the SkyMapQDraw (QWidget) as // a child of this QGV. /* @@ -243,8 +248,12 @@ smqd->show(); setScene( m_SkyScene ); */ + /* smqd->setParent( this->viewport() ); smqd->show(); + */ + smgld->setParent( this->viewport() ); + smgld->show(); //The update timer will be destructed when SkyMap is.. QTimer *update = new QTimer(this); @@ -252,14 +261,6 @@ connect(update, SIGNAL(timeout()), this, SLOT(update()) ); update->start(); - /* - #ifdef USEGL - if( !format().testOption( QGL::SampleBuffers ) ) - qWarning() << "No sample buffer; can't use multisampling (antialiasing)"; - if( !format().testOption( QGL::StencilBuffer ) ) - qWarning() << "No stencil buffer; can't draw concave polygons"; - #endif - */ } void SkyMap::slotToggleGeoBox(bool flag) { --- trunk/KDE/kdeedu/kstars/kstars/skymapgldraw.cpp #1210547:1210548 @@ -19,8 +19,12 @@ #include "skymapgldraw.h" #include "skymap.h" -SkyMapGLDraw::SkyMapGLDraw( SkyMap *sm ) : SkyMapDrawAbstract( sm ), QGLWidget( sm ) { +SkyMapGLDraw::SkyMapGLDraw( SkyMap *sm ) : SkyMapDrawAbstract( sm ), QGLWidget( QGLFormat(QGL::SampleBuffers), sm ) { // TODO: Any construction to be done? + if( !format().testOption( QGL::SampleBuffers ) ) + qWarning() << "No sample buffer; can't use multisampling (antialiasing)"; + if( !format().testOption( QGL::StencilBuffer ) ) + qWarning() << "No stencil buffer; can't draw concave polygons"; } void SkyMapGLDraw::initializeGL()