< Development‎ | Tutorials
Revision as of 20:28, 29 June 2011 by Neverendingo (talk | contribs) (Text replace - "<code cppqt>" to "<syntaxhighlight lang="cpp-qt">")


KGLEngine tutorial 1
Tutorial Series   KGLEngine2d developement
Prerequisites   None
What's Next   Nothing at the moment
Further Reading   KGLEngine2d's code


( Class names has changed ! This tutorial is currently unvaible )

KGLengine is a powerfull 2d games engine, for people who want to create hight level of games. Instead QGraphicsView system, KGLEngine use all power of openGL and Eigen mathematic library. Now you will be able to create fullscreen games, particles effects for make smoke or explosion, shadow effects, collision detection with a lot of items, and as soon as possible to use Shaders effects.


First : install eigen2 librairy. Second, be sure you have libQt4-dev, libQt4-openGL-dev, and kde4-lib devel. download KGLEngine source from svn : svn co svn://anonsvn.kde.org/home/kde/trunk/playground/games/KGLEngine

cd kglengine mkdir build cd build cmake .. make; make install;

First program

Kglengine-tuto1.png <syntaxhighlight lang="cpp-qt">

  1. include <KApplication>
  2. include <KAboutData>
  3. include <KCmdLineArgs>
  1. include <KGLEngine2d>
  2. include <KGLItem>

using namespace std;

int main(int argc, char *argv[]) {

   KAboutData aboutData("kglintro", 0,
                        ki18n("tutorial1"), "1.0",
                        ki18n("engine 2d"),
                        ki18n("Copyright (c) 2009 Developer"));
   KCmdLineArgs::init(argc, argv, &aboutData);
   KApplication app;
   KGLEngine2d *engine= KGLEngine2d::instance(); //init engine

   engine->setShowAxis(true); //show repere line x,y
   engine->setShowFps(true);   //show fps
   engine->show();  //show window engine

   KGLItem * box = new KGLItem(QRectF(0,0,0.5,0.5));  //create an item
   box->scale(0.5); //reduce the size
   box->translate(-box->transformCenter()); //translate the box to the center
   box->rotate(M_PI/4); //rotate it with a radius = 45 deg
   box->setColor(Qt::white); //setColor! By default, it's white
   engine->addItem(box); //add item to the engine

   return 0;



This is the CmakeLists.txt Files.


find_package(KDE4 REQUIRED) find_package(Qt4 REQUIRED) find_package(OpenGL REQUIRED) find_package(Eigen2 REQUIRED)


include_directories(${KDE4_INCLUDES}) include_directories(${QT_QTOPENGL_INCLUDE_DIR}) include_directories(${X11_Xrandr_INCLUDE_PATH}) include_directories(${CMAKE_CURRENT_SOURCE_DIR}) include_directories(${EIGEN2_INCLUDE_DIR})

add_definitions(${QT_DEFINITIONS} ${KDE4_DEFINITIONS})

                      1. next target ###############




kde4_add_executable(tutorial1 ${tutorial1_SRCS} )

target_link_libraries(tutorial1 ${KDE4_KDEUI_LIBS} kglengine)

                      1. install files ###############

This page was last edited on 29 June 2011, at 20:51. Content is available under Creative Commons License SA 4.0 unless otherwise noted.