Index: osgVisual/trunk/bin/osgVisualConfig.xml
===================================================================
--- osgVisual/trunk/bin/osgVisualConfig.xml	(revision 292)
+++ osgVisual/trunk/bin/osgVisualConfig.xml	(revision 293)
@@ -15,5 +15,5 @@
   
   <scenery>
-    <terrain filename="D:/OpenSceneGraph/VPB-Testdatensatz/DB_Small/database.ive.terrainmod" filename2="J:\BRD1m_MUC0.25m_srtmEU_BM\terrain.ive.terrainmod"></terrain>
+    <terrain filename="D:/OpenSceneGraph/VPB-Testdatensatz/DB_Small/database.ive.terrainmod" filename2="J:\BRD1m_MUC0.25m_srtmEU_BM\terrain.ive.terrainmod" filename3="axes.osg.10000000.scale"></terrain>
     <animationpath filename="airport_muc.path"></animationpath>
     <models>
Index: osgVisual/trunk/include/util/visual_util.h
===================================================================
--- osgVisual/trunk/include/util/visual_util.h	(revision 292)
+++ osgVisual/trunk/include/util/visual_util.h	(revision 293)
@@ -296,4 +296,15 @@
 	static bool strToBool(std::string s);
 
+	/**
+	 * \brief \todo : Kommentieren
+	 * 
+	 * @param StartPoint 
+	 * @param EndPoint 
+	 * @param radius 
+	 * @param CylinderColor 
+	 * @param pAddToThisGroup 
+	 */ 
+	static void AddCylinderBetweenPoints(osg::Vec3d StartPoint, osg::Vec3d EndPoint, float radius, float length, osg::Vec4d CylinderColor, osg::Group *pAddToThisGroup);
+
 	template<class T>
 	class FindTopMostNodeOfTypeVisitor : public osg::NodeVisitor
@@ -352,4 +363,5 @@
 	 */ 
 	static xmlNode* checkXMLNodeChildrenForScenery(xmlNode* node);
+
 };
 
Index: osgVisual/trunk/src/sky_Silverlining/skySilverLining_skyDrawable.cpp
===================================================================
--- osgVisual/trunk/src/sky_Silverlining/skySilverLining_skyDrawable.cpp	(revision 292)
+++ osgVisual/trunk/src/sky_Silverlining/skySilverLining_skyDrawable.cpp	(revision 293)
@@ -78,9 +78,12 @@
         //direction = view * direction;
         direction.normalize();
+		
+//OSG_NOTIFY(osg::ALWAYS)	<< "Light Vector: X:"<<direction.x()<<" Y:"<<direction.y()<<" Z:"<<direction.z() << std::endl;
+util::AddCylinderBetweenPoints(osg::Vec3d(0,0,0), direction , 10000.0, 15000000.0, osg::Vec4d(1.0, 1.0, 0.0, 1 ), sceneRoot);
 
         light->setAmbient(ambient);
         light->setDiffuse(diffuse);
         //light->setSpecular(osg::Vec4(0,0,0,1));
-		light->setSpecular(osg::Vec4(1.0,1.0,1.0,1));	// Test
+		//light->setSpecular(osg::Vec4(1.0,1.0,1.0,1));	// Test
         light->setPosition(osg::Vec4(direction.x(), direction.y(), direction.z(), 0));
     }
Index: osgVisual/trunk/src/util/visual_util.cpp
===================================================================
--- osgVisual/trunk/src/util/visual_util.cpp	(revision 292)
+++ osgVisual/trunk/src/util/visual_util.cpp	(revision 293)
@@ -16,4 +16,5 @@
 
 #include <visual_util.h>
+#include <osg/Material>
 
 using namespace osgVisual;
@@ -569,2 +570,43 @@
 	return(false);
 }
+
+void util::AddCylinderBetweenPoints(osg::Vec3d StartPoint, osg::Vec3d EndPoint, float radius, float length, osg::Vec4d CylinderColor, osg::Group *pAddToThisGroup)
+{
+	osg::ref_ptr<osg::Geode> geode = new osg::Geode;
+	osg::Vec3d center;
+	float height;
+	osg::ref_ptr<osg::Cylinder> cylinder;
+	osg::ref_ptr<osg::Drawable> cylinderDrawable;
+	osg::ref_ptr<osg::Material> pMaterial;
+
+	//height = (StartPoint-EndPoint).length();
+	height  = length;
+	center = osg::Vec3( (StartPoint.x() + EndPoint.x()) / 2, (StartPoint.y() + EndPoint.y()) / 2, (StartPoint.z() + EndPoint.z()) / 2);
+
+	// This is the default direction for the cylinders to face in OpenGL
+	osg::Vec3d z = osg::Vec3d(0,0,1);
+
+	// Get diff between two points you want cylinder along
+	osg::Vec3d p = StartPoint - EndPoint;
+
+	// Get CROSS product (the axis of rotation)
+	osg::Vec3d t = z ^ p;
+
+	// Get angle. length is magnitude of the vector
+	double angle = acos( (z * p) / p.length());
+
+	// Create a cylinder between the two points with the given radius
+	cylinder = new osg::Cylinder(center,radius,height);
+	cylinder->setRotation(osg::Quat(angle, osg::Vec3(t.x(), t.y(), t.z())));
+
+	cylinderDrawable = new osg::ShapeDrawable(cylinder );
+	geode->addDrawable(cylinderDrawable);
+
+	// Set the color of the cylinder that extends between the two points.
+	pMaterial = new osg::Material;
+	pMaterial->setDiffuse( osg::Material::FRONT, CylinderColor);
+	geode->getOrCreateStateSet()->setAttribute( pMaterial, osg::StateAttribute::OVERRIDE );
+
+	// Add the cylinder between the two points to an existing group
+	pAddToThisGroup->addChild(geode);
+}
