mirror of
https://port.numenaute.org/aleajactaest/khanat-code-old.git
synced 2025-01-21 06:02:04 +00:00
9bc219ee14
About Shared Library (shared) and Module Library (module) type of cmake target INSTALL command has different behaviour for ARCHIVE LIBRARY RUNTIME depending on the platform
99 lines
No EOL
2.7 KiB
C++
99 lines
No EOL
2.7 KiB
C++
// NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
|
// Copyright (C) 2010 Winch Gate Property Limited
|
|
//
|
|
// This program is free software: you can redistribute it and/or modify
|
|
// it under the terms of the GNU Affero General Public License as
|
|
// published by the Free Software Foundation, either version 3 of the
|
|
// License, or (at your option) any later version.
|
|
//
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU Affero General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Affero General Public License
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
#include "qnelwidget.h"
|
|
|
|
#if defined(Q_WS_WIN)
|
|
#include <windows.h> // needed for WindowFromDC()
|
|
#else
|
|
#include <Qt/qx11info_x11.h>
|
|
#include <X11/Xlib.h>
|
|
#endif
|
|
|
|
#include <nel/misc/types_nl.h>
|
|
#include <nel/misc/debug.h>
|
|
#include <nel/3d/nelu.h>
|
|
#include <nel/3d/init_3d.h>
|
|
#include <nel/3d/register_3d.h>
|
|
#include <nel/misc/path.h>
|
|
|
|
void QNelWidget::init()
|
|
{
|
|
nlinfo("start init.");
|
|
// do something, like initialize the basic system.
|
|
NL3D::init3d();
|
|
NL3D::CScene::registerBasics();
|
|
NL3D::registerSerial3d();
|
|
nlinfo("end init.");
|
|
}
|
|
|
|
void QNelWidget::initializeGL()
|
|
{
|
|
// initialize NeL context if needed
|
|
if (!NLMISC::INelContext::isContextInitialised())
|
|
new NLMISC::CApplicationContext;
|
|
|
|
nlinfo("start initialize gl");
|
|
NLMISC::CPath::addSearchPath(".");
|
|
|
|
// The viewport
|
|
NL3D::CViewport viewport;
|
|
|
|
// Create a dummy driver.
|
|
//NL3D::IDriver *driver=NL3D::CDRU::createGlDriver();
|
|
|
|
//void *windowId = (void*)(this->parentWidget()->winId());
|
|
// Init NELU
|
|
if (!NL3D::CNELU::init(width(), height(), viewport, 32, true, (void *)winId(), false, false))
|
|
{
|
|
return;
|
|
}
|
|
|
|
//_SceneRoot= (NL3D::CTransform*)NL3D::CNELU::Scene->createModel(NL3D::TransformId);
|
|
NL3D::CTransformShape *sphere = NL3D::CNELU::Scene->createInstance("sphere01.shape");
|
|
|
|
|
|
fontManager.setMaxMemory(2000000);
|
|
|
|
tc.init(NL3D::CNELU::Driver, &fontManager);
|
|
tc.setFontGenerator (NLMISC::CPath::lookup("beteckna.ttf"));
|
|
nlinfo("end initialize gl");
|
|
}
|
|
|
|
void QNelWidget::paintGL()
|
|
{
|
|
nlinfo("start painting gl");
|
|
NL3D::CNELU::clearBuffers(NL3D::CRGBA(0,0,0));
|
|
tc.setColor(NL3D::CRGBA (0, 0, 255));
|
|
tc.setFontSize(40);
|
|
tc.setHotSpot(NL3D::CComputedString::BottomLeft);
|
|
tc.printAt(0.3f, 0.5f, std::string("NeL"));
|
|
nlinfo("end painting gl");
|
|
}
|
|
|
|
void QNelWidget::resizeGL(int width, int height)
|
|
{
|
|
nlinfo("start resize gl");
|
|
// handle moves or resizes.
|
|
nlinfo("end resize gl");
|
|
}
|
|
|
|
void QNelWidget::swapBuffers() {
|
|
nlinfo("starting rendering.");
|
|
// render a frame
|
|
NL3D::CNELU::swapBuffers();
|
|
nlinfo("finished rendering.");
|
|
} |