Index: osgVisual/include/distortion/visual_distortion.h
===================================================================
--- osgVisual/include/distortion/visual_distortion.h	(revision 144)
+++ osgVisual/include/distortion/visual_distortion.h	(revision 145)
@@ -60,5 +60,5 @@
 	 * 
 	 */ 
-	visual_distortion(osgViewer::Viewer* viewer_, osg::ArgumentParser& arguments_);
+	visual_distortion(osgViewer::Viewer* viewer_, osg::ArgumentParser& arguments_, std::string configFileName);
 
 	/**
Index: osgVisual/include/sky_Silverlining/visual_skySilverLining.h
===================================================================
--- osgVisual/include/sky_Silverlining/visual_skySilverLining.h	(revision 144)
+++ osgVisual/include/sky_Silverlining/visual_skySilverLining.h	(revision 145)
@@ -64,4 +64,5 @@
 	 * 
 	 * @param viewer_ : Pointer to the applications viewer
+	 * @param configFileName : Filename of the XML configfile to read the configuration from. Currently not used because skySilverlining currently does not need any configuration parameters.
 	 */ 
 	visual_skySilverLining(osgViewer::Viewer* viewer_, std::string configFileName);
Index: osgVisual/include/util/visual_util.h
===================================================================
--- osgVisual/include/util/visual_util.h	(revision 144)
+++ osgVisual/include/util/visual_util.h	(revision 145)
@@ -220,9 +220,37 @@
 	static bool setTransparentWindowBackground(osgViewer::Viewer* viewer_);
 
-	// Parses for the XML node of the specified module. The caller has to clean up if ret_value!=NULL, otherwise this function cleans up.
-	// nötige cleanup-Schritte:       xmlFreeDoc(doc); xmlCleanupParser();
+	/**
+	 * \brief  Parses for the XML node of the specified module.The caller has to clean up the xmlDoc and the parser, beside it returns NULL because the queried modules is not configured.
+	 * 
+	 * To clean up, call this two functions:
+	 *  xmlFreeDoc(doc);
+	 *  xmlCleanupParser();
+	 * 
+	 * Example to use this function: 
+	 *	xmlDoc* tmpDoc;
+	 *  xmlNode* yourNode = util::getModuleXMLConfig( configFilename, "core", tmpDoc );
+	 *  // use yourNode
+	 *  if(tmpDoc)
+	 *  {
+	 *     xmlFreeDoc(tmpDoc); xmlCleanupParser();
+	 *  }
+	 * 
+	 * @param configFilename : Config Filename to parse.
+	 * @param moduleName : Module name to search for.
+	 * @param doc : xmlDoc to use. Must be created outside that the caller can clean it up.
+	 * @return : NULL on error, otherwise pointer to the xmlNode of the queried module.
+	 */ 
 	static xmlNode* getModuleXMLConfig(std::string configFilename, std::string moduleName, xmlDoc*& doc);
 
 private: 
+	/**
+	 * \brief This functions checks a list of nodes and all of its children for the specified module configuration.
+	 * 
+	 * This function is used by getModuleXMLConfig() and works recursive
+	 * 
+	 * @param node : Node to search in
+	 * @param moduleName :Module name to search for.
+	 * @return : NULL if the module configuration was not found, otherwise pointer to the XML Node with the configuration for the specified module. 
+	 */ 
 	static xmlNode* checkXMLNodeChildrenForModule(xmlNode* node, std::string moduleName);
 };
Index: osgVisual/src/distortion/visual_distortion.cpp
===================================================================
--- osgVisual/src/distortion/visual_distortion.cpp	(revision 144)
+++ osgVisual/src/distortion/visual_distortion.cpp	(revision 145)
@@ -19,5 +19,5 @@
 using namespace osgVisual;
 
-visual_distortion::visual_distortion(osgViewer::Viewer* viewer_, osg::ArgumentParser& arguments_) : viewer(viewer_), arguments(arguments_)
+visual_distortion::visual_distortion(osgViewer::Viewer* viewer_, osg::ArgumentParser& arguments_, std::string configFileName) : viewer(viewer_), arguments(arguments_)
 {
 	OSG_NOTIFY (osg::ALWAYS ) << "visual_distortion instantiated." << std::endl;
@@ -41,15 +41,26 @@
 bool visual_distortion::processCommandlineparameters()
 {
+	// Distortion files.
 	arguments.getApplicationUsage()->addCommandLineOption("-C <channelname>","Setup the channel name, this is the preset for blendmap, distortionmap and camera configuration file.");
+    arguments.getApplicationUsage()->addCommandLineOption("--distortionmap","Set a distortion map file name.");
+    arguments.getApplicationUsage()->addCommandLineOption("--blendmap","Set a blend map file name.");
+
+	// Render implementation.
+	arguments.getApplicationUsage()->addCommandLineOption("--shaderDistortion","Use OpenGL shader for distortion and blending.");
 	arguments.getApplicationUsage()->addCommandLineOption("--fbo","Use Frame Buffer Object for render to texture, where supported.");
     arguments.getApplicationUsage()->addCommandLineOption("--fb","Use FrameBuffer for render to texture.");
     arguments.getApplicationUsage()->addCommandLineOption("--pbuffer","Use Pixel Buffer for render to texture, where supported.");
     arguments.getApplicationUsage()->addCommandLineOption("--window","Use a seperate Window for render to texture.");
-    arguments.getApplicationUsage()->addCommandLineOption("--width","Set the width of the render to texture.");
-    arguments.getApplicationUsage()->addCommandLineOption("--height","Set the height of the render to texture.");
+
+	// Texture
+    arguments.getApplicationUsage()->addCommandLineOption("--width","Set the width of the render to texture.");		// used for all render implementations
+    arguments.getApplicationUsage()->addCommandLineOption("--height","Set the height of the render to texture.");	// used for all render implementations
+
+	// Texture Rectangle?
     arguments.getApplicationUsage()->addCommandLineOption("--texture-rectangle","Use osg::TextureRectangle for doing the render to texure to.");
-    arguments.getApplicationUsage()->addCommandLineOption("--distortionmap","Set a distortion map file name.");
-    arguments.getApplicationUsage()->addCommandLineOption("--blendmap","Set a blend map file name.");
-    arguments.getApplicationUsage()->addCommandLineOption("--shaderDistortion","Use OpenGL shader for distortion and blending.");
+
+	// HDR?
+    arguments.getApplicationUsage()->addCommandLineOption("--hdr","Render distortion as HDR.");
+
 	arguments.getApplicationUsage()->addKeyboardMouseBinding("d", "Toggle Distortion.");
 
@@ -162,5 +173,5 @@
 {
 	// Copy Main Camera's matrixes to the PRE_RENDER Camera.
-	std::cout << "distortion updatecallback" << std::endl;
+	//std::cout << "distortion updatecallback" << std::endl;
 	sceneCamera->setViewMatrix( viewer->getCamera()->getViewMatrix() );
 	sceneCamera->setProjectionMatrix( viewer->getCamera()->getProjectionMatrix() );
@@ -345,6 +356,7 @@
         camera->setReferenceFrame(osg::Transform::ABSOLUTE_RF);
         camera->setViewMatrix(osg::Matrix::identity());
-        //camera->setProjectionMatrixAsOrtho2D(0,viewer->getCamera()->getViewport()->width(),0,viewer->getCamera()->getViewport()->height());
+        //sceneCamera->setProjectionMatrixAsOrtho2D(0,viewer->getCamera()->getViewport()->width(),0,viewer->getCamera()->getViewport()->height());
 		camera->setProjectionMatrixAsOrtho2D(0,1280,0,1024);
+		/** \todo: use screen size dynamically */
 
         // set the camera to render before the main camera.
Index: osgVisual/src/vista2D/visual_vista2D.cpp
===================================================================
--- osgVisual/src/vista2D/visual_vista2D.cpp	(revision 144)
+++ osgVisual/src/vista2D/visual_vista2D.cpp	(revision 145)
@@ -66,5 +66,5 @@
    // matrix. Positions described under this node will equate to
    // pixel coordinates.
-   vista2DProjectionMatrix->setMatrix(osg::Matrix::ortho2D(0,1600,0,900));
+   vista2DProjectionMatrix->setMatrix(osg::Matrix::ortho2D(0,1600,0,900)); /** todo: use screen size dynamically. */
   
    // For the HUD model view matrix use an identity matrix:
