Index: /orxonox/trunk/src/lib/graphics/graphics_engine.cc
===================================================================
--- /orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 4849)
+++ /orxonox/trunk/src/lib/graphics/graphics_engine.cc	(revision 4850)
@@ -21,4 +21,5 @@
 
 #include "render_2d.h"
+#include "light.h"
 #include "debug.h"
 #include "text_engine.h"
@@ -433,5 +434,5 @@
 {
   Render2D::getInstance()->draw();
-
+  LightManager::getInstance()->draw();
 }
 
Index: /orxonox/trunk/src/lib/graphics/render2D/element_2d.h
===================================================================
--- /orxonox/trunk/src/lib/graphics/render2D/element_2d.h	(revision 4849)
+++ /orxonox/trunk/src/lib/graphics/render2D/element_2d.h	(revision 4850)
@@ -45,33 +45,34 @@
 class Element2D : virtual public BaseObject {
 
- public:
-  Element2D();
-  virtual ~Element2D();
+  public:
+    Element2D();
+    virtual ~Element2D();
 
-  void setPosition(int xCoord, int yCoord);
-  void setLayer(E2DLayer layer);
-  /** @param visible true if the Element should be visible false otherwise (will not be rendered) */
-  inline void setVisibility(bool visible) { this->visible = visible; };
-  /** @param bindNode the Node this 2D-element should follow. if NULL the Element will not follow anything */
-  inline void setBindNode(const PNode* bindNode) { this->bindNode = bindNode; };
+    void setPosition2D(int xCoord, int yCoord);
+    void setLayer(E2DLayer layer);
+    /** @param visible true if the Element should be visible false otherwise (will not be rendered) */
+    inline void setVisibility(bool visible) { this->visible = visible; };
+    /** @param bindNode the Node this 2D-element should follow. if NULL the Element will not follow anything */
+ // inline void setBindNode(const PNode* bindNode) { this->bindNode = bindNode; };
 
-  /** @returns the visibility state */
-  inline bool isVisible() { return this->visible; };
+    /** @returns the visibility state */
+    inline bool isVisible() { return this->visible; };
 
-  void positioning();
-  virtual void tick(float dt);
-  virtual void draw() const = NULL;
+    void positioning();
+    virtual void tick(float dt);
+    virtual void draw() const = NULL;
 
   private:
     void init();
 
- private:
-   bool                    visible;
-   int                     relPos2D[2];      //!< X-coord, Y-Coord (relative to the Coordinates of the alignment if given.)
-   Position2D              absPos2D;         //!< The absolute position of the 2D-Element.
-   E2DLayer                layer;
+  protected:
+    const PNode*            bindNode;         //!< a node over which to display this 2D-element
+  private:
+    bool                    visible;
+    int                     relPos2D[2];      //!< X-coord, Y-Coord (relative to the Coordinates of the alignment if given.)
+    Position2D              absPos2D;         //!< The absolute position of the 2D-Element.
+    E2DLayer                layer;
 
-   E2D_ALIGNMENT           alignment;        //!< How the Element is aligned around its Position
-   const PNode*            bindNode;         //!< a node over which to display this 2D-element
+    E2D_ALIGNMENT           alignment;        //!< How the Element is aligned around its Position
 };
 
Index: /orxonox/trunk/src/lib/graphics/text_engine.cc
===================================================================
--- /orxonox/trunk/src/lib/graphics/text_engine.cc	(revision 4849)
+++ /orxonox/trunk/src/lib/graphics/text_engine.cc	(revision 4850)
@@ -74,13 +74,4 @@
 {
   TextEngine::getInstance()->deleteText(this);
-}
-
-/**
- *  tells the Text, that it should folow a PNode
- * @param bindNode: the node to bind this text to
-*/
-void Text::setBindNode(PNode* bindNode)
-{
-  this->bindNode = bindNode;
 }
 
@@ -185,5 +176,5 @@
 
 /**
- *  draws the Font
+ *  draws the Text
 */
 void Text::draw() const
@@ -217,4 +208,6 @@
   // setting the Blending effects
   glColor4f(1.0f,1.0f,1.0f, this->blending);
+  glEnable(GL_BLEND);
+  glEnable(GL_TEXTURE_2D);
   glBlendFunc(GL_SRC_ALPHA, GL_ONE);
 
Index: /orxonox/trunk/src/lib/graphics/text_engine.h
===================================================================
--- /orxonox/trunk/src/lib/graphics/text_engine.h	(revision 4849)
+++ /orxonox/trunk/src/lib/graphics/text_engine.h	(revision 4850)
@@ -26,6 +26,8 @@
 #endif
 
+#include "base_object.h"
+#include "element_2d.h"
+
 #include "vector.h"
-#include "base_object.h"
 
 // FORWARD DECLARATION
@@ -104,11 +106,9 @@
 ////////////
 //! Represents one textElement.
-class Text : public BaseObject
+class Text : public Element2D
 {
   friend class TextEngine;
  public:
   ~Text();
-
-  void setBindNode(PNode* bindNode);
 
   void setType(int type);
@@ -124,5 +124,5 @@
   void createTexture();
 
-  void draw() const;
+  virtual void draw() const;
 
   void debug() const;
@@ -147,6 +147,4 @@
   TexCoord          texCoord;       //!< Texture-coordinates @todo fix this to have a struct
   SDL_Rect          posSize;        //!< An SDL-Rectangle representing the position and size of the Text on the screen.
-
-  PNode*            bindNode;       //!< A node the Text is bind to. (if NULL thr node will not be bound to anything.)
 };
 
Index: /orxonox/trunk/src/story_entities/world.cc
===================================================================
--- /orxonox/trunk/src/story_entities/world.cc	(revision 4849)
+++ /orxonox/trunk/src/story_entities/world.cc	(revision 4850)
@@ -850,6 +850,5 @@
 
   GraphicsEngine::getInstance()->draw();
-  TextEngine::getInstance()->draw();
-  LightManager::getInstance()->draw(); // must be at the end of the drawing procedure, otherwise Light cannot be handled as PNodes //
+  //TextEngine::getInstance()->draw();
 }
 
