Index: /osgVisual/bin/osgVisualConfig.xml
===================================================================
--- /osgVisual/bin/osgVisualConfig.xml	(revision 147)
+++ /osgVisual/bin/osgVisualConfig.xml	(revision 148)
@@ -12,8 +12,8 @@
           window : renderImplementation = osg::Camera::SEPERATE_WINDOW
     -->
-    <distortion channelname="center" renderimplemmentation="fbo" hdr="yes">
-      <!-- optional: <distortionmap filename="distmap.png"></distortionmap> -->
-      <!-- optional: <blendmap filename="blendmap.png"></blendmap> -->
-  </distortion>
+    <distortion channelname="center" renderimplemmentation="fbo" width="2048" height="2048" useshader="yes" hdr="yes" usetexturerectangle="no">
+      <!-- optional: <distortionmap filename="distmap.png"></distortionmap> to set distortionmap independend from channel map-->
+      <!-- optional: <blendmap filename="blendmap.png"></blendmap> to set blendmap independend from channel map -->
+    </distortion>
   </module>
   <module name="sky_silverlining" enabled="yes"></module>
Index: /osgVisual/include/distortion/visual_distortion.h
===================================================================
--- /osgVisual/include/distortion/visual_distortion.h	(revision 147)
+++ /osgVisual/include/distortion/visual_distortion.h	(revision 148)
@@ -33,7 +33,14 @@
 #include <osgGA/GUIActionAdapter>
 
+#include <visual_util.h>
+
 #include <string>
 #include <iostream>
 #include <fstream>
+
+// XML Parser
+#include <stdio.h>
+#include <libxml/parser.h>
+#include <libxml/tree.h>
 
 
@@ -68,4 +75,6 @@
 	virtual ~visual_distortion(void);
 
+	bool processXMLConfiguration(); 
+
 	/**
 	 * \brief This function parses the arguments for distortion relevant parameters.
@@ -469,4 +478,9 @@
 
 	/**
+	 * XML config filename
+	 */ 
+	std::string configFileName;
+
+	/**
 	 * Target implementation which should be used to distort.
 	 */ 
Index: /osgVisual/src/core/visual_core.cpp
===================================================================
--- /osgVisual/src/core/visual_core.cpp	(revision 147)
+++ /osgVisual/src/core/visual_core.cpp	(revision 148)
@@ -363,5 +363,4 @@
 	// Pass the nodes to the corresponding modules...
 	if(name == "core") this->config(a_node);
-
 }
 
Index: /osgVisual/src/distortion/visual_distortion.cpp
===================================================================
--- /osgVisual/src/distortion/visual_distortion.cpp	(revision 147)
+++ /osgVisual/src/distortion/visual_distortion.cpp	(revision 148)
@@ -23,4 +23,5 @@
 	OSG_NOTIFY (osg::ALWAYS ) << "visual_distortion instantiated." << std::endl;
 
+	this->configFileName = configFileName;
 	initialized = false;
 	distortionEnabled = false;
@@ -37,4 +38,45 @@
 {
 	OSG_NOTIFY (osg::ALWAYS ) << "visual_distortion destroyed." << std::endl;
+}
+
+bool visual_distortion::processXMLConfiguration()
+{
+	// Init XML
+	xmlDoc* tmpDoc;
+	xmlNode* config = util::getModuleXMLConfig( configFileName, "distortion", tmpDoc );
+	if(config)
+	{
+		xmlNode* a_node = config;
+		// Extract infos
+		std::string name = "";
+		bool enabled = false;
+
+		xmlAttr  *attr = a_node->properties;
+		while ( attr ) 
+		{ 
+			std::string attr_name=reinterpret_cast<const char*>(attr->name);
+			std::string attr_value=reinterpret_cast<const char*>(attr->children->content);
+			if( attr_name == "name" )
+				name = reinterpret_cast<const char*>(attr->children->content);
+			if( attr_name == "enabled" && attr_value== "yes" )
+				enabled = true;
+			if( attr_name == "enabled" && attr_value== "no" )
+				enabled = false;
+
+			attr = attr->next; 
+		} 
+		OSG_ALWAYS << "Module '" << name << "' found. Enabled = " << enabled << std::endl;
+	}
+
+	// extract configuration values
+
+	// clean up
+	if(tmpDoc)
+	{
+		xmlFreeDoc(tmpDoc); xmlCleanupParser();
+		return true;
+	}
+
+	return true;
 }
 
@@ -64,21 +106,21 @@
 
 	// Read out Distortion CMDLine arguments
-	while (arguments.read("--width", tex_width)) {}
-    while (arguments.read("--height", tex_height)) {}
-
-	while (arguments.read("--fbo")) { renderImplementation = osg::Camera::FRAME_BUFFER_OBJECT; }
-    while (arguments.read("--pbuffer")) { renderImplementation = osg::Camera::PIXEL_BUFFER; }
-    while (arguments.read("--pbuffer-rtt")) { renderImplementation = osg::Camera::PIXEL_BUFFER_RTT; }
-    while (arguments.read("--fb")) { renderImplementation = osg::Camera::FRAME_BUFFER; }
-    while (arguments.read("--window")) { renderImplementation = osg::Camera::SEPERATE_WINDOW; }
-
-    while (arguments.read("--texture-rectangle")) { useTextureRectangle = true; }
-
-    while (arguments.read("--shaderDistortion")) { useShaderDistortion = true; }
-
-    while (arguments.read("--hdr")) { useHDR = true; }
-
-	while (arguments.read("--distortionmap", distortMapFileName)) { }
-    while (arguments.read("--blendmap", blendMapFileName)) { }
+	//while (arguments.read("--width", tex_width)) {}
+    //while (arguments.read("--height", tex_height)) {}
+
+	//while (arguments.read("--fbo")) { renderImplementation = osg::Camera::FRAME_BUFFER_OBJECT; }
+	//while (arguments.read("--pbuffer")) { renderImplementation = osg::Camera::PIXEL_BUFFER; }
+	//while (arguments.read("--pbuffer-rtt")) { renderImplementation = osg::Camera::PIXEL_BUFFER_RTT; }
+	//while (arguments.read("--fb")) { renderImplementation = osg::Camera::FRAME_BUFFER; }
+	//while (arguments.read("--window")) { renderImplementation = osg::Camera::SEPERATE_WINDOW; }
+
+    //while (arguments.read("--texture-rectangle")) { useTextureRectangle = true; }
+
+    //while (arguments.read("--shaderDistortion")) { useShaderDistortion = true; }
+
+    //while (arguments.read("--hdr")) { useHDR = true; }
+
+	//while (arguments.read("--distortionmap", distortMapFileName)) { }
+    //while (arguments.read("--blendmap", blendMapFileName)) { }
 
 	std::string pre_cfg("..\\resources\\distortion\\view_");
