Roi Atalla avatar Roi Atalla committed d7fd5b9

Example 14.1 fully ported.

Comments (0)

Files changed (9)

.idea/workspace.xml

 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="ChangeListManager">
-    <list default="true" id="3bd3582b-975a-4915-888d-8e2c52d85938" name="Default" comment="Formatting and removed useless variables.">
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example2/Example13_2.java" afterPath="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example2/Example13_2.java" />
+    <list default="true" id="3bd3582b-975a-4915-888d-8e2c52d85938" name="Default" comment="">
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/Example14_1.java" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.Infinity.xml" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.PN.vert" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.ShaderGaussian.frag" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.TextureGaussian.frag" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.UnitCube.xml" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.Unlit.frag" />
+      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.Unlit.vert" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
     </list>
     <ignored path="OpenGL.iws" />
     <ignored path=".idea/workspace.xml" />
-    <file path="/a.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362806485721" ignored="false" />
+    <file path="/a.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362976669989" ignored="false" />
     <file path="/fragment.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362456584258" ignored="false" />
     <file path="/a.xml" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1361850040520" ignored="false" />
     <file path="/a.html" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1361850041808" ignored="false" />
     <file path="/a.groovy" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1361850042481" ignored="false" />
-    <file path="/Dummy.txt" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362808242952" ignored="false" />
+    <file path="/Dummy.txt" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362812100837" ignored="false" />
     <file path="/Example12_1.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362027020824" ignored="false" />
     <file path="/example12.1.DiffuseSpecular.frag" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1361702005810" ignored="false" />
     <file path="/LightManager.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362461124226" ignored="false" />
     <file path="/CommonCodeStyleSettings.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1361943912554" ignored="false" />
     <file path="$PROJECT_DIR$/../../../../../Downloads/Downloaded Folders/IntelliJ IDEA/java/java-impl/src/com/intellij/application/options/JavaIndentOptionsEditor.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1361943925808" ignored="false" />
     <file path="/JavaIndentOptionsEditor.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1361943925425" ignored="false" />
-    <file path="/a.dummy" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362620809769" ignored="false" />
+    <file path="/a.dummy" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362977001895" ignored="false" />
     <file path="$PROJECT_DIR$/../../../../../Downloads/Downloaded Folders/IntelliJ IDEA/platform/platform-resources-en/src/messages/ApplicationBundle.properties" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1361942803305" ignored="false" />
     <file path="/ApplicationBundle.properties" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1361942802444" ignored="false" />
     <file path="$PROJECT_DIR$/../../../../../Downloads/Downloaded Folders/IntelliJ IDEA/system/conversion/Test4fc3a780.xml" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1361942830409" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter9/example2/Example9_2.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter9/example1/Example9_1.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter8/example2/Example8_2.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
-    <file path="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter8/example3/Example8_3.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter8/example1/Example8_1.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter7/example1/Example7_1.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter7/example2/Example7_2.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
     <file path="/example13.2.GeomImpostor.geom" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362788035299" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/math/Vector2.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/math/Vector3.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
-    <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/math/Vector4.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/math/Matrix4.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/math/MatrixStack.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/math/Quaternion.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/math/Vector.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/interpolators/WeightedLinearInterpolatorf.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/interpolators/WeightedLinearInterpolatorVector.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
-    <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/UniformBlockArray.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/math/Matrix3.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
-    <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/ShaderProgram.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
-    <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/Timer.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
-    <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/Utils.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/interpolators/ConstVelLinearInterpolatorf.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/interpolators/ConstVelLinearInterpolatorVector.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/interpolators/LinearInterpolatorf.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/interpolators/LinearInterpolatorVector.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/interpolators/TimedLinearInterpolatorf.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/interpolators/TimedLinearInterpolatorVector.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214554" ignored="false" />
-    <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/PNGDecoder.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
-    <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/MousePoles.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
-    <file path="$PROJECT_DIR$/src/com/ra4king/opengl/util/Mesh.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/superbible/osb4/chapter3/Example3_6.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/superbible/osb4/chapter3/Example3_7.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/superbible/osb4/chapter3/Example3_8.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/superbible/osb4/chapter3/Example3_14.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/superbible/osb4/chapter3/Example3_2.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
     <file path="$PROJECT_DIR$/src/com/ra4king/opengl/superbible/osb4/chapter3/Example3_3.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
-    <file path="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter12/LightManager.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214556" ignored="false" />
-    <file path="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter12/Scene.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362804214555" ignored="false" />
     <file path="/Test.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362807437516" ignored="false" />
+    <file path="/Example14_1.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362980960263" ignored="false" />
+    <file path="/Example11_1.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362977099998" ignored="false" />
+    <file path="/Example11_2.java" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362977123654" ignored="false" />
+    <file path="/example14.1.PN.vert" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362980038617" ignored="false" />
+    <file path="/example14.1.ShaderGaussian.frag" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362980583851" ignored="false" />
+    <file path="/example14.1.TextureGaussian.frag" changelist="3bd3582b-975a-4915-888d-8e2c52d85938" time="1362980864538" ignored="false" />
     <option name="TRACKING_ENABLED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
     <option name="HIGHLIGHT_CONFLICTS" value="true" />
     <disable_hints />
   </component>
   <component name="DebuggerManager">
-    <line_breakpoints default_suspend_policy="SuspendAll" default_condition_enabled="true" />
     <breakpoint_any default_suspend_policy="SuspendAll" default_condition_enabled="true">
       <breakpoint>
         <option name="NOTIFY_CAUGHT" value="true" />
         <option name="LOG_MESSAGE" value="&#13;&#13;JAVA" />
       </breakpoint>
     </breakpoint_any>
+    <line_breakpoints default_suspend_policy="SuspendAll" default_condition_enabled="true" />
     <ui_properties default_suspend_policy="SuspendAll" default_condition_enabled="true" />
     <breakpoint_rules />
     <ui_properties />
   <component name="IdeDocumentHistory">
     <option name="changedFiles">
       <list>
-        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example1/example13.1.PerspImpostor.vert" />
-        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example1/example13.1.PerspImpostor.frag" />
-        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example1/example13.1.PN.vert" />
-        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example1/example13.1.Lighting.frag" />
-        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example1/example13.1.Unlit.vert" />
-        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example1/example13.1.BasicImpostor.frag" />
-        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example1/example13.1.Unlit.frag" />
-        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/util/math/Matrix4.java" />
         <option value="$PROJECT_DIR$/src/com/ra4king/opengl/util/MousePoles.java" />
         <option value="$PROJECT_DIR$/src/com/ra4king/opengl/util/ShaderProgram.java" />
         <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example2/example13.2.GeomImpostor.vert" />
         <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example2/example13.2.GeomImpostor.frag" />
         <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example1/Example13_1.java" />
         <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/Test.java" />
+        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example2/Example13_2.java" />
         <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example2/example13.2.GeomImpostor.geom" />
-        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example2/Example13_2.java" />
+        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter11/example1/Example11_1.java" />
+        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter11/example2/Example11_2.java" />
+        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.Unlit.vert" />
+        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.Infinity.xml" />
+        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.PN.vert" />
+        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/Example14_1.java" />
+        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.ShaderGaussian.frag" />
+        <option value="$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.TextureGaussian.frag" />
       </list>
     </option>
   </component>
     <treeState />
   </component>
   <component name="ProjectFrameBounds">
-    <option name="x" value="2065" />
-    <option name="y" value="83" />
-    <option name="width" value="1638" />
-    <option name="height" value="894" />
+    <option name="x" value="1912" />
+    <option name="y" value="-8" />
+    <option name="width" value="1936" />
+    <option name="height" value="1096" />
   </component>
   <component name="ProjectInspectionProfilesVisibleTreeState">
     <entry key="Project Default">
       <pane id="PackagesPane">
         <subPane />
       </pane>
+      <pane id="Scope" />
       <pane id="ProjectPane">
         <subPane>
           <PATH>
               <option name="myItemId" value="gl33" />
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
-          </PATH>
-          <PATH>
             <PATH_ELEMENT>
-              <option name="myItemId" value="OpenGL" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="OpenGL" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="src" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="opengl" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="gl33" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="chapter13" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
-            </PATH_ELEMENT>
-            <PATH_ELEMENT>
-              <option name="myItemId" value="example2" />
+              <option name="myItemId" value="chapter14" />
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
           </PATH>
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
             <PATH_ELEMENT>
-              <option name="myItemId" value="chapter13" />
+              <option name="myItemId" value="chapter14" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="example1" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="OpenGL" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="OpenGL" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="opengl" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="gl33" />
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
           </PATH>
         </subPane>
       </pane>
-      <pane id="Scope" />
     </panes>
   </component>
   <component name="PropertiesComponent">
     <property name="MemberChooser.showClasses" value="true" />
     <property name="FileHistory.org.zmlx.hg4idea.provider.HgHistoryProvider_treeOrder3" value="3" />
     <property name="GoToClass.includeLibraries" value="false" />
-    <property name="options.splitter.details.proportions" value="0.2" />
+    <property name="options.splitter.details.proportions" value="0.26499033" />
     <property name="GoToFile.includeJavaFiles" value="false" />
     <property name="FileHistory.org.zmlx.hg4idea.provider.HgHistoryProvider_flatWidth3" value="964" />
     <property name="FileHistory.org.zmlx.hg4idea.provider.HgHistoryProvider_flatWidth2" value="289" />
       <recent name="com.ra4king.opengl.arcsynthesis.gl33.chapter12.example2" />
     </key>
     <key name="CopyFile.RECENT_KEYS">
+      <recent name="E:\Roi Atalla\Documents\Programming Files\Java Files\Personal Projects\OpenGL\src\com\ra4king\opengl\arcsynthesis\gl33\chapter14\example1" />
       <recent name="E:\Roi Atalla\Documents\Programming Files\Java Files\Personal Projects\OpenGL\src\com\ra4king\opengl\arcsynthesis\gl33\chapter13\example2" />
       <recent name="E:\Roi Atalla\Documents\Programming Files\Java Files\Personal Projects\OpenGL\src\com\ra4king\opengl\arcsynthesis\gl33\chapter13\example1" />
       <recent name="E:\Roi Atalla\Documents\Programming Files\Java Files\Personal Projects\OpenGL\src\com\ra4king\opengl\arcsynthesis\gl33\chapter12\example3" />
       <recent name="E:\Roi Atalla\Documents\Programming Files\Java Files\Personal Projects\OpenGL\src\com\ra4king\opengl\arcsynthesis\gl33\chapter12\example2" />
-      <recent name="E:\Roi Atalla\Documents\Programming Files\Java Files\Personal Projects\OpenGL\files\natives" />
     </key>
   </component>
-  <component name="RunManager" selected="Application.Example13_2">
+  <component name="RunManager" selected="Application.Example14_1">
     <configuration default="false" name="Example12_2" type="Application" factoryName="Application" temporary="true">
       <option name="MAIN_CLASS_NAME" value="com.ra4king.opengl.arcsynthesis.gl33.chapter12.example2.Example12_2" />
       <option name="VM_PARAMETERS" value="-Djava.library.path=files/natives/" />
       <ConfigurationWrapper RunnerId="Run" />
       <method />
     </configuration>
-    <configuration default="false" name="Example12_1" type="Application" factoryName="Application" temporary="true">
-      <option name="MAIN_CLASS_NAME" value="com.ra4king.opengl.arcsynthesis.gl33.chapter12.example1.Example12_1" />
-      <option name="VM_PARAMETERS" value="-Djava.library.path=files/natives/" />
-      <option name="PROGRAM_PARAMETERS" value="" />
-      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
-      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
-      <option name="ALTERNATIVE_JRE_PATH" value="" />
-      <option name="ENABLE_SWING_INSPECTOR" value="false" />
-      <option name="ENV_VARIABLES" />
-      <option name="PASS_PARENT_ENVS" value="true" />
-      <module name="OpenGL" />
-      <envs />
-      <RunnerSettings RunnerId="Run" />
-      <ConfigurationWrapper RunnerId="Run" />
-      <method />
-    </configuration>
     <configuration default="false" name="Example12_3" type="Application" factoryName="Application" temporary="true">
       <option name="MAIN_CLASS_NAME" value="com.ra4king.opengl.arcsynthesis.gl33.chapter12.example3.Example12_3" />
       <option name="VM_PARAMETERS" value="-Djava.library.path=files/natives/" />
       <ConfigurationWrapper RunnerId="Run" />
       <method />
     </configuration>
+    <configuration default="false" name="Example14_1" type="Application" factoryName="Application" temporary="true">
+      <option name="MAIN_CLASS_NAME" value="com.ra4king.opengl.arcsynthesis.gl33.chapter14.example1.Example14_1" />
+      <option name="VM_PARAMETERS" value="-Djava.library.path=files/natives/" />
+      <option name="PROGRAM_PARAMETERS" value="" />
+      <option name="WORKING_DIRECTORY" value="file://$PROJECT_DIR$" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" value="" />
+      <option name="ENABLE_SWING_INSPECTOR" value="false" />
+      <option name="ENV_VARIABLES" />
+      <option name="PASS_PARENT_ENVS" value="true" />
+      <module name="OpenGL" />
+      <envs />
+      <RunnerSettings RunnerId="Run" />
+      <ConfigurationWrapper RunnerId="Run" />
+      <method />
+    </configuration>
     <configuration default="true" type="#org.jetbrains.idea.devkit.run.PluginConfigurationType" factoryName="Plugin">
       <module name="" />
       <option name="VM_PARAMETERS" value="-Xmx512m -Xms256m -XX:MaxPermSize=250m" />
     </configuration>
     <list size="5">
       <item index="0" class="java.lang.String" itemvalue="Application.Example12_2" />
-      <item index="1" class="java.lang.String" itemvalue="Application.Example12_1" />
-      <item index="2" class="java.lang.String" itemvalue="Application.Example12_3" />
-      <item index="3" class="java.lang.String" itemvalue="Application.Example13_1" />
-      <item index="4" class="java.lang.String" itemvalue="Application.Example13_2" />
+      <item index="1" class="java.lang.String" itemvalue="Application.Example12_3" />
+      <item index="2" class="java.lang.String" itemvalue="Application.Example13_1" />
+      <item index="3" class="java.lang.String" itemvalue="Application.Example13_2" />
+      <item index="4" class="java.lang.String" itemvalue="Application.Example14_1" />
     </list>
     <recent_temporary>
       <list size="5">
-        <item index="0" class="java.lang.String" itemvalue="Application.Example13_2" />
-        <item index="1" class="java.lang.String" itemvalue="Application.Example12_3" />
-        <item index="2" class="java.lang.String" itemvalue="Application.Example13_1" />
-        <item index="3" class="java.lang.String" itemvalue="Application.Example12_2" />
-        <item index="4" class="java.lang.String" itemvalue="Application.Example12_1" />
+        <item index="0" class="java.lang.String" itemvalue="Application.Example14_1" />
+        <item index="1" class="java.lang.String" itemvalue="Application.Example13_2" />
+        <item index="2" class="java.lang.String" itemvalue="Application.Example12_3" />
+        <item index="3" class="java.lang.String" itemvalue="Application.Example13_1" />
+        <item index="4" class="java.lang.String" itemvalue="Application.Example12_2" />
       </list>
     </recent_temporary>
     <configuration name="&lt;template&gt;" type="WebApp" default="true" selected="false">
       <created>1362804926151</created>
       <updated>1362804926151</updated>
     </task>
-    <option name="localTasksCounter" value="13" />
+    <task id="LOCAL-00013" summary="Forgot to remove a call to setFPS(0) in Example13.2.">
+      <created>1362812102717</created>
+      <updated>1362812102717</updated>
+    </task>
+    <option name="localTasksCounter" value="14" />
     <servers />
   </component>
   <component name="TodoView" selected-index="0">
     </todo-panel>
   </component>
   <component name="ToolWindowManager">
-    <frame x="2065" y="83" width="1638" height="894" extended-state="0" />
+    <frame x="1912" y="-8" width="1936" height="1096" extended-state="6" />
     <editor active="false" />
     <layout>
-      <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32942432" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
+      <window_info id="Changes" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.23987207" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="JetGradle" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32977587" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Palette" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
-      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.21641791" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
-      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2497332" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.45628998" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.081023455" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32905984" sideWeight="0.5" order="8" side_tool="true" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.18366013" sideWeight="0.14915694" order="2" side_tool="true" content_ui="tabs" />
-      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.24413647" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
+      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.18976545" sideWeight="0.5" order="10" side_tool="false" content_ui="tabs" />
       <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32978722" sideWeight="0.5" order="9" side_tool="false" content_ui="tabs" />
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.3283582" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.18366013" sideWeight="0.17250325" order="1" side_tool="true" content_ui="tabs" />
       <window_info id="Maven Projects" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.32977587" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
-      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
-      <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.25634518" sideWeight="0.7835821" order="0" side_tool="true" content_ui="combo" x="2394" y="136" width="397" height="768" />
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.19509594" sideWeight="0.9898039" order="2" side_tool="false" content_ui="tabs" />
+      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="SLIDING" type="SLIDING" visible="false" weight="0.36819637" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+      <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.17289221" sideWeight="0.7046908" order="0" side_tool="true" content_ui="combo" x="2394" y="136" width="397" height="768" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.29530916" sideWeight="0.9898039" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Documentation" active="true" anchor="right" auto_hide="false" internal_type="SLIDING" type="FLOATING" visible="true" weight="0.32977587" sideWeight="0.80490404" order="3" side_tool="false" content_ui="combo" x="2005" y="108" width="1736" height="896" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
+      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.2497332" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.39978677" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
     </layout>
     <option name="MAXIMUM_HISTORY_ROWS" value="1000" />
     <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
     <option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="false" />
-    <option name="LAST_COMMIT_MESSAGE" value="Formatting and removed useless variables." />
+    <option name="LAST_COMMIT_MESSAGE" value="Forgot to remove a call to setFPS(0) in Example13.2." />
     <option name="MAKE_NEW_CHANGELIST_ACTIVE" value="false" />
     <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="true" />
     <option name="CHECK_FILES_UP_TO_DATE_BEFORE_COMMIT" value="false" />
     <MESSAGE value="Example 13.1 fully ported." />
     <MESSAGE value="Example 13.2 fully ported." />
     <MESSAGE value="Formatting and removed useless variables." />
+    <MESSAGE value="Forgot to remove a call to setFPS(0) in Example13.2." />
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
     <option name="FILTER_TARGETS" value="false" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/util/math/Matrix4.java">
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example1/Example13_1.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="190" column="4" selection-start="4280" selection-end="4280" vertical-scroll-proportion="0.46931818">
+        <state line="270" column="8" selection-start="10034" selection-end="10034" vertical-scroll-proportion="0.24342105">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/util/MousePoles.java">
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter12/example3/Example12_3.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="515" column="102" selection-start="13478" selection-end="13478" vertical-scroll-proportion="0.38636363">
+        <state line="62" column="4" selection-start="2419" selection-end="2419" vertical-scroll-proportion="0.5263158">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example1/example13.1.DepthImpostor.frag">
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter11/example1/Example11_1.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="89" column="4" selection-start="2346" selection-end="2346" vertical-scroll-proportion="0.33522728" />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example1/example13.1.PerspImpostor.frag">
-      <provider selected="true" editor-type-id="text-editor">
-        <state line="102" column="0" selection-start="2636" selection-end="2636" vertical-scroll-proportion="0.625" />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/util/math/Matrix3.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state line="7" column="13" selection-start="138" selection-end="138" vertical-scroll-proportion="-0.2556818">
+        <state line="232" column="8" selection-start="8356" selection-end="8356" vertical-scroll-proportion="0.4876033">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/util/ShaderProgram.java">
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter11/example2/Example11_2.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="51" column="8" selection-start="1717" selection-end="1717" vertical-scroll-proportion="0.59090906">
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
+        <state line="37" column="4" selection-start="1350" selection-end="1350" vertical-scroll-proportion="0.30165288">
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example1/example13.1.LargePlane.xml">
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter12/LightManager.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+        <state line="196" column="4" selection-start="7475" selection-end="7475" vertical-scroll-proportion="0.4890351">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.Unlit.frag">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="10" column="0" selection-start="108" selection-end="108" vertical-scroll-proportion="0.16447368">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example2/example13.2.Unlit.vert">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="17" column="0" selection-start="260" selection-end="260" vertical-scroll-proportion="0.27960527" />
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/GLProgram.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state line="153" column="0" selection-start="3054" selection-end="3054" vertical-scroll-proportion="0.3323782">
+        <state line="17" column="0" selection-start="0" selection-end="260" vertical-scroll-proportion="0.27960527">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter12/example3/Example12_3.java">
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.Unlit.vert">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="34" column="13" selection-start="1642" selection-end="1642" vertical-scroll-proportion="0.09049774">
+        <state line="17" column="0" selection-start="260" selection-end="260" vertical-scroll-proportion="0.27960527">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example2/example13.2.GeomImpostor.frag">
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.Infinity.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="1" column="0" selection-start="13" selection-end="13" vertical-scroll-proportion="0.022590362">
+        <state line="4526" column="0" selection-start="98894" selection-end="98894" vertical-scroll-proportion="0.96710527">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example1/Example13_1.java">
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.UnitCube.xml">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="64" column="4" selection-start="2107" selection-end="2107" vertical-scroll-proportion="0.6522346">
-          <folding>
-            <element signature="imports" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example2/example13.2.GeomImpostor.vert">
-      <provider selected="true" editor-type-id="text-editor">
-        <state line="1" column="0" selection-start="13" selection-end="13" vertical-scroll-proportion="0.016447369">
+        <state line="113" column="0" selection-start="1719" selection-end="1719" vertical-scroll-proportion="0.9013158">
           <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example2/example13.2.GeomImpostor.geom">
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.PN.vert">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="51" column="0" selection-start="1114" selection-end="1114" vertical-scroll-proportion="0.91549295">
+        <state line="26" column="0" selection-start="543" selection-end="543" vertical-scroll-proportion="0.4276316">
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter13/example2/Example13_2.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state line="72" column="4" selection-start="2310" selection-end="2310" vertical-scroll-proportion="0.021520803">
+        <state line="82" column="8" selection-start="2676" selection-end="2676" vertical-scroll-proportion="0.47874016">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/util/math/Vector4.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="115" column="4" selection-start="1733" selection-end="1733" vertical-scroll-proportion="0.4031496">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.TextureGaussian.frag">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="74" column="0" selection-start="1898" selection-end="1898" vertical-scroll-proportion="0.8015748">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.ShaderGaussian.frag">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="74" column="0" selection-start="1947" selection-end="1947" vertical-scroll-proportion="0.8346457">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/Example14_1.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="108" column="8" selection-start="3734" selection-end="3734" vertical-scroll-proportion="0.68661416">
           <folding>
             <element signature="imports" expanded="true" />
           </folding>

src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/Example14_1.java

+package com.ra4king.opengl.arcsynthesis.gl33.chapter14.example1;
+
+import static org.lwjgl.opengl.GL11.*;
+import static org.lwjgl.opengl.GL12.*;
+import static org.lwjgl.opengl.GL13.*;
+import static org.lwjgl.opengl.GL15.*;
+import static org.lwjgl.opengl.GL20.*;
+import static org.lwjgl.opengl.GL30.*;
+import static org.lwjgl.opengl.GL31.*;
+import static org.lwjgl.opengl.GL32.*;
+import static org.lwjgl.opengl.GL33.*;
+
+import java.nio.ByteBuffer;
+import java.nio.FloatBuffer;
+
+import org.lwjgl.BufferUtils;
+import org.lwjgl.input.Keyboard;
+
+import com.ra4king.opengl.GLProgram;
+import com.ra4king.opengl.util.Mesh;
+import com.ra4king.opengl.util.MousePoles.MouseButton;
+import com.ra4king.opengl.util.MousePoles.ObjectData;
+import com.ra4king.opengl.util.MousePoles.ObjectPole;
+import com.ra4king.opengl.util.MousePoles.ViewData;
+import com.ra4king.opengl.util.MousePoles.ViewPole;
+import com.ra4king.opengl.util.MousePoles.ViewScale;
+import com.ra4king.opengl.util.ShaderProgram;
+import com.ra4king.opengl.util.Timer;
+import com.ra4king.opengl.util.Timer.Type;
+import com.ra4king.opengl.util.UniformBlockArray.UniformBlockObject;
+import com.ra4king.opengl.util.Utils;
+import com.ra4king.opengl.util.math.Matrix3;
+import com.ra4king.opengl.util.math.Matrix4;
+import com.ra4king.opengl.util.math.MatrixStack;
+import com.ra4king.opengl.util.math.Quaternion;
+import com.ra4king.opengl.util.math.Vector3;
+import com.ra4king.opengl.util.math.Vector4;
+
+public class Example14_1 extends GLProgram {
+	public static void main(String[] args) {
+		new Example14_1().run(true);
+	}
+	
+	private ProgramData litShaderProgram;
+	private ProgramData litTextureProgram;
+	
+	private UnlitProgramData unlit;
+	
+	private Mesh objectMesh;
+	private Mesh cubeMesh;
+	
+	private ObjectPole objectPole;
+	private ViewPole viewPole;
+	
+	private Timer lightTimer = new Timer(Type.LOOP, 6);
+	
+	private int materialUniformBuffer;
+	private int lightUniformBuffer;
+	private int projectionUniformBuffer;
+	
+	private final int materialBlockIndex = 0;
+	private final int lightBlockIndex = 1;
+	private final int projectionBlockIndex = 2;
+	
+	private final int gaussTexUnit = 0;
+	
+	private final int NUM_GAUSS_TEXTURES = 4;
+	private int[] gaussTextures = new int[NUM_GAUSS_TEXTURES];
+	private int currTexture;
+	
+	private int gaussSampler;
+	
+	private final float specularShininess = 0.2f;
+	
+	private final float halfLightDistance = 25;
+	private final float lightAttenuation = 1f / (halfLightDistance * halfLightDistance);
+	
+	private boolean drawCameraPos, drawLights = true, useTexture;
+	
+	private static final int NUMBER_OF_LIGHTS = 2;
+	
+	public Example14_1() {
+		super("Example 14.1 - Basic Texture", 500, 500, true);
+	}
+	
+	@Override
+	public void init() {
+		glClearColor(0.75f, 0.75f, 1, 1);
+		glClearDepth(1);
+		
+		ObjectData objectData = new ObjectData(new Vector3(0, 0.5f, 0), new Quaternion());
+		ViewData viewData = new ViewData(objectData.position, new Quaternion(0.3826834f, 0, 0, 0.92387953f), 10, 0);
+		ViewScale viewScale = new ViewScale(1.5f, 70, 1.5f, 0.5f, 0, 0, 90 / 250f);
+		
+		viewPole = new ViewPole(viewData, viewScale, MouseButton.LEFT_BUTTON, false);
+		objectPole = new ObjectPole(objectData, 90 / 250f, MouseButton.RIGHT_BUTTON, viewPole);
+		
+		litShaderProgram = loadStandardProgram("example14.1.PN.vert", "example14.1.ShaderGaussian.frag");
+		litTextureProgram = loadStandardProgram("example14.1.PN.vert", "example14.1.TextureGaussian.frag");
+		unlit = loadUnlitProgram("example14.1.Unlit.vert", "example14.1.Unlit.frag");
+		
+		try {
+			objectMesh = new Mesh(getClass().getResource("example14.1.Infinity.xml"));
+			cubeMesh = new Mesh(getClass().getResource("example14.1.UnitCube.xml"));
+		} catch(Exception exc) {
+			exc.printStackTrace();
+			destroy();
+		}
+		
+		glEnable(GL_CULL_FACE);
+		glCullFace(GL_BACK);
+		glFrontFace(GL_CW);
+		
+		glEnable(GL_DEPTH_TEST);
+		glDepthMask(true);
+		glDepthFunc(GL_LEQUAL);
+		glDepthRange(0, 1);
+		glEnable(GL_DEPTH_CLAMP);
+		
+		MaterialBlock material = new MaterialBlock(new Vector4(1, 0.673f, 0.043f, 1), new Vector4(1, 0.673f, 0.043f, 1).mult(0.4f), specularShininess);
+		materialUniformBuffer = glGenBuffers();
+		glBindBuffer(GL_UNIFORM_BUFFER, materialUniformBuffer);
+		glBufferData(GL_UNIFORM_BUFFER, material.toBuffer(), GL_STATIC_DRAW);
+		
+		lightUniformBuffer = glGenBuffers();
+		glBindBuffer(GL_UNIFORM_BUFFER, lightUniformBuffer);
+		glBufferData(GL_UNIFORM_BUFFER, LightBlock.SIZE, GL_DYNAMIC_DRAW);
+		
+		projectionUniformBuffer = glGenBuffers();
+		glBindBuffer(GL_UNIFORM_BUFFER, projectionUniformBuffer);
+		glBufferData(GL_UNIFORM_BUFFER, 16 * 4, GL_DYNAMIC_DRAW);
+		glBindBuffer(GL_UNIFORM_BUFFER, 0);
+		
+		glBindBufferRange(GL_UNIFORM_BUFFER, materialBlockIndex, materialUniformBuffer, 0, MaterialBlock.SIZE);
+		glBindBufferRange(GL_UNIFORM_BUFFER, lightBlockIndex, lightUniformBuffer, 0, LightBlock.SIZE);
+		glBindBufferRange(GL_UNIFORM_BUFFER, projectionBlockIndex, projectionUniformBuffer, 0, 16 * 4);
+		
+		createGaussianTextures();
+	}
+	
+	private ProgramData loadStandardProgram(String vertexShader, String fragmentShader) {
+		ProgramData data = new ProgramData(new ShaderProgram(readFromFile(vertexShader), readFromFile(fragmentShader)));
+		data.modelToCameraMatrixUniform = glGetUniformLocation(data.program.getProgram(), "modelToCameraMatrix");
+		data.normalModelToCameraMatrixUniform = glGetUniformLocation(data.program.getProgram(), "normalModelToCameraMatrix");
+		
+		int materialBlock = glGetUniformBlockIndex(data.program.getProgram(), "Material");
+		int lightBlock = glGetUniformBlockIndex(data.program.getProgram(), "Light");
+		int projectionBlock = glGetUniformBlockIndex(data.program.getProgram(), "Projection");
+		
+		glUniformBlockBinding(data.program.getProgram(), materialBlock, materialBlockIndex);
+		glUniformBlockBinding(data.program.getProgram(), lightBlock, lightBlockIndex);
+		glUniformBlockBinding(data.program.getProgram(), projectionBlock, projectionBlockIndex);
+		
+		int gaussianTextureUniform = glGetUniformLocation(data.program.getProgram(), "gaussianTexture");
+		data.program.begin();
+		glUniform1i(gaussianTextureUniform, gaussTexUnit);
+		data.program.end();
+		
+		return data;
+	}
+	
+	private UnlitProgramData loadUnlitProgram(String vertexShader, String fragmentShader) {
+		UnlitProgramData data = new UnlitProgramData(new ShaderProgram(readFromFile(vertexShader), readFromFile(fragmentShader)));
+		data.modelToCameraMatrixUniform = glGetUniformLocation(data.program.getProgram(), "modelToCameraMatrix");
+		data.objectColorUniform = glGetUniformLocation(data.program.getProgram(), "objectColor");
+		
+		int projectionBlock = glGetUniformBlockIndex(data.program.getProgram(), "Projection");
+		glUniformBlockBinding(data.program.getProgram(), projectionBlock, projectionBlockIndex);
+		
+		return data;
+	}
+	
+	private void createGaussianTextures() {
+		for(int a = 0; a < NUM_GAUSS_TEXTURES; a++)
+			gaussTextures[a] = createGaussianTexture(calcCosAngResolution(a));
+		
+		gaussSampler = glGenSamplers();
+		glSamplerParameteri(gaussSampler, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+		glSamplerParameteri(gaussSampler, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+		glSamplerParameteri(gaussSampler, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+	}
+	
+	private int createGaussianTexture(int cosAngleResolution) {
+		ByteBuffer textureData = buildGaussianData(cosAngleResolution);
+		
+		int gaussTexture = glGenTextures();
+		glBindTexture(GL_TEXTURE_1D, gaussTexture);
+		glTexImage1D(GL_TEXTURE_1D, 0, GL_R8, cosAngleResolution, 0, GL_RED, GL_UNSIGNED_BYTE, textureData);
+		glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_BASE_LEVEL, 0);
+		glTexParameteri(GL_TEXTURE_1D, GL_TEXTURE_MAX_LEVEL, 0);
+		glBindTexture(GL_TEXTURE_1D, 0);
+		
+		return gaussTexture;
+	}
+	
+	private int calcCosAngResolution(int level) {
+		return 64 * (int)Math.pow(2, level);
+	}
+	
+	private ByteBuffer buildGaussianData(int cosAngleResolution) {
+		ByteBuffer textureData = BufferUtils.createByteBuffer(cosAngleResolution);
+		
+		for(int a = 0; a < cosAngleResolution; a++) {
+			float cosAng = a / (float)(cosAngleResolution - 1);
+			float angle = (float)Math.acos(cosAng);
+			float exponent = angle / specularShininess;
+			exponent = -(exponent * exponent);
+			float gaussianTerm = (float)Math.exp(exponent);
+			
+			textureData.put((byte)(gaussianTerm * 255));
+		}
+		
+		textureData.flip();
+		
+		return textureData;
+	}
+	
+	@Override
+	public void resized() {
+		super.resized();
+		
+		glBindBuffer(GL_UNIFORM_BUFFER, projectionUniformBuffer);
+		glBufferSubData(GL_UNIFORM_BUFFER, 0, new Matrix4().clearToPerspectiveDeg(45, getWidth(), getHeight(), 1, 1000).toBuffer());
+		glBindBuffer(GL_UNIFORM_BUFFER, 0);
+	}
+	
+	@Override
+	public void update(long deltaTime) {
+		lightTimer.update(deltaTime);
+		
+		Utils.updateMousePoles(viewPole, objectPole);
+	}
+	
+	@Override
+	public void keyPressed(int key, char c) {
+		switch(key) {
+			case Keyboard.KEY_SPACE:
+				useTexture = !useTexture;
+				if(useTexture)
+					System.out.println("Texture");
+				else
+					System.out.println("Shader");
+				break;
+			case Keyboard.KEY_P:
+				lightTimer.togglePause();
+				break;
+			case Keyboard.KEY_MINUS:
+				lightTimer.rewind(0.5f);
+				break;
+			case Keyboard.KEY_EQUALS:
+				lightTimer.fastForward(0.5f);
+				break;
+			case Keyboard.KEY_T:
+				drawCameraPos = !drawCameraPos;
+				break;
+			case Keyboard.KEY_G:
+				drawLights = !drawLights;
+				break;
+		}
+		
+		if(c >= '1' && c <= '9') {
+			int number = c - '1';
+			if(number < NUM_GAUSS_TEXTURES) {
+				System.out.println("Angle resolution: " + calcCosAngResolution(number));
+				currTexture = number;
+			}
+		}
+	}
+	
+	@Override
+	public void render() {
+		glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
+		
+		MatrixStack modelMatrix = new MatrixStack();
+		modelMatrix.setTop(viewPole.calcMatrix());
+		
+		Matrix4 worldToCamMatrix = modelMatrix.getTop();
+		
+		LightBlock lightData = new LightBlock(new Vector4(0.2f, 0.2f, 0.2f, 1), lightAttenuation);
+		
+		Vector3 globalLightDirection = new Vector3(0.707f, 0.707f, 0);
+		
+		lightData.lights[0] = new PerLight(new Vector4(worldToCamMatrix.mult(new Vector4(globalLightDirection, 0))), new Vector4(0.6f, 0.6f, 0.6f, 1));
+		lightData.lights[1] = new PerLight(new Vector4(worldToCamMatrix.mult(calcLightPosition())), new Vector4(0.4f, 0.4f, 0.4f, 1));
+		
+		glBindBuffer(GL_UNIFORM_BUFFER, lightUniformBuffer);
+		glBufferSubData(GL_UNIFORM_BUFFER, 0, lightData.toBuffer());
+		glBindBuffer(GL_UNIFORM_BUFFER, 0);
+		
+		{
+			glBindBufferRange(GL_UNIFORM_BUFFER, materialBlockIndex, materialUniformBuffer, 0, MaterialBlock.SIZE);
+			
+			modelMatrix.pushMatrix();
+			modelMatrix.getTop().mult(objectPole.calcMatrix());
+			modelMatrix.getTop().scale(2);
+			
+			ProgramData program = useTexture ? litTextureProgram : litShaderProgram;
+			
+			program.program.begin();
+			glUniformMatrix4(program.modelToCameraMatrixUniform, false, modelMatrix.getTop().toBuffer());
+			glUniformMatrix3(program.normalModelToCameraMatrixUniform, false, new Matrix3(modelMatrix.getTop()).inverse().transpose().toBuffer());
+			
+			glActiveTexture(GL_TEXTURE0 + gaussTexUnit);
+			glBindTexture(GL_TEXTURE_1D, gaussTextures[currTexture]);
+			glBindSampler(gaussTexUnit, gaussSampler);
+			
+			objectMesh.render("lit");
+			
+			glBindSampler(gaussTexUnit, 0);
+			glBindTexture(GL_TEXTURE_1D, 0);
+			program.program.end();
+			
+			modelMatrix.popMatrix();
+			
+			glBindBufferBase(GL_UNIFORM_BUFFER, materialBlockIndex, 0);
+		}
+		
+		if(drawLights) {
+			modelMatrix.pushMatrix();
+			
+			modelMatrix.getTop().translate(new Vector3(calcLightPosition()));
+			modelMatrix.getTop().scale(0.25f);
+			
+			unlit.program.begin();
+			glUniformMatrix4(unlit.modelToCameraMatrixUniform, false, modelMatrix.getTop().toBuffer());
+			glUniform4(unlit.objectColorUniform, new Vector4(1).toBuffer());
+			cubeMesh.render("flat");
+			
+			modelMatrix.popMatrix();
+			modelMatrix.pushMatrix();
+			
+			modelMatrix.getTop().translate(globalLightDirection.copy().mult(100));
+			modelMatrix.getTop().scale(5);
+			
+			glUniformMatrix4(unlit.modelToCameraMatrixUniform, false, modelMatrix.getTop().toBuffer());
+			cubeMesh.render("flat");
+			
+			unlit.program.end();
+			
+			modelMatrix.popMatrix();
+		}
+		
+		if(drawCameraPos) {
+			modelMatrix.pushMatrix();
+			
+			modelMatrix.getTop().clearToIdentity();
+			modelMatrix.getTop().translate(0, 0, -viewPole.getView().radius);
+			
+			unlit.program.begin();
+			
+			glDisable(GL_DEPTH_TEST);
+			glDepthMask(false);
+			glUniformMatrix4(unlit.modelToCameraMatrixUniform, false, modelMatrix.getTop().toBuffer());
+			glUniform4f(unlit.objectColorUniform, 0.25f, 0.25f, 0.25f, 1);
+			cubeMesh.render("flat");
+			
+			glDepthMask(true);
+			glEnable(GL_DEPTH_TEST);
+			glUniform4f(unlit.objectColorUniform, 1, 1, 1, 1);
+			cubeMesh.render("flat");
+			
+			unlit.program.end();
+		}
+	}
+	
+	private Vector4 calcLightPosition() {
+		float currTime = lightTimer.getAlpha();
+		
+		Vector4 ret = new Vector4(0, 1, 0, 1);
+		ret.x((float)Math.cos(currTime * 2 * Math.PI) * 3);
+		ret.z((float)Math.sin(currTime * 2 * Math.PI) * 3);
+		
+		return ret;
+	}
+	
+	private static class ProgramData {
+		private ShaderProgram program;
+		
+		private int modelToCameraMatrixUniform;
+		private int normalModelToCameraMatrixUniform;
+		
+		public ProgramData(ShaderProgram program) {
+			this.program = program;
+		}
+	}
+	
+	private static class UnlitProgramData {
+		private ShaderProgram program;
+		
+		private int objectColorUniform;
+		private int modelToCameraMatrixUniform;
+		
+		public UnlitProgramData(ShaderProgram program) {
+			this.program = program;
+		}
+	}
+	
+	private static class PerLight {
+		private Vector4 cameraSpaceLightPos;
+		private Vector4 lightIntensity;
+		
+		public static final int SIZE = 2 * 4 * 4;
+		
+		public PerLight(Vector4 cameraSpaceLightPos, Vector4 lightIntensity) {
+			this.cameraSpaceLightPos = cameraSpaceLightPos;
+			this.lightIntensity = lightIntensity;
+		}
+		
+		private static final FloatBuffer buffer = BufferUtils.createFloatBuffer(SIZE / 4);
+		
+		public FloatBuffer toBuffer() {
+			buffer.clear();
+			buffer.put(cameraSpaceLightPos.toBuffer());
+			buffer.put(lightIntensity.toBuffer());
+			buffer.flip();
+			return buffer;
+		}
+	}
+	
+	private static class LightBlock {
+		private Vector4 ambientIntensity;
+		private float lightAttenuation;
+		private PerLight[] lights = new PerLight[NUMBER_OF_LIGHTS];
+		
+		public static final int SIZE = 2 * 4 * 4 + NUMBER_OF_LIGHTS * PerLight.SIZE;
+		
+		public LightBlock(Vector4 ambientIntensity, float lightAttenuation) {
+			this.ambientIntensity = ambientIntensity;
+			this.lightAttenuation = lightAttenuation;
+		}
+		
+		private static final FloatBuffer buffer = BufferUtils.createFloatBuffer(SIZE / 4);
+		
+		public FloatBuffer toBuffer() {
+			buffer.clear();
+			buffer.put(ambientIntensity.toBuffer());
+			buffer.put(lightAttenuation);
+			buffer.put(new float[3]);
+			
+			for(PerLight light : lights)
+				buffer.put(light.toBuffer());
+			
+			buffer.flip();
+			return buffer;
+		}
+	}
+	
+	private static class MaterialBlock implements UniformBlockObject {
+		private Vector4 diffuseColor;
+		private Vector4 specularColor;
+		private float specularShininess;
+		
+		public static final int SIZE = 3 * 4 * 4;
+		
+		public MaterialBlock(Vector4 diffuseColor, Vector4 specularColor, float specularShininess) {
+			this.diffuseColor = diffuseColor;
+			this.specularColor = specularColor;
+			this.specularShininess = specularShininess;
+		}
+		
+		private static final FloatBuffer buffer = BufferUtils.createFloatBuffer(SIZE / 4);
+		
+		public FloatBuffer toBuffer() {
+			buffer.clear();
+			buffer.put(diffuseColor.toBuffer());
+			buffer.put(specularColor.toBuffer());
+			buffer.put(specularShininess);
+			buffer.put(new float[3]);
+			buffer.flip();
+			return buffer;
+		}
+	}
+}

src/com/ra4king/opengl/arcsynthesis/gl33/chapter14/example1/example14.1.Infinity.xml

+<?xml version="1.0" encoding="UTF-8"?>
+<mesh xmlns="http://www.arcsynthesis.com/gltut/mesh">
+	<attribute index="0" type="float" size="3">
+		0.167654 -0.234565 -0.0332104
+		0.302162 -0.271324 -0.0468236
+		0.182526 -0.210757 -0.0258002
+		0.293968 -0.298388 -0.0534045
+		0.157943 -0.251324 -0.0336273
+		0.288955 -0.317101 -0.0532489
+		0.148496 -0.268167 -0.0320672
+		0.284227 -0.335768 -0.0511182
+		0.135823 -0.292669 -0.0230133
+		0.278415 -0.362448 -0.0412501
+		0.121263 -0.325107 0.00300836
+		0.272926 -0.396778 -0.0141836
+		0.11357 -0.348496 0.0395473
+		0.27176 -0.420281 0.0230666
+		0.113135 -0.356875 0.0673418
+		0.273652 -0.427666 0.0510813
+		0.115201 -0.35855 0.0865323
+		0.273652 -0.427666 0.0510813
+		0.113135 -0.356875 0.0673418
+		0.276172 -0.428181 0.0702837
+		0.118256 -0.358491 0.105664
+		0.279195 -0.426768 0.0893681
+		0.126052 -0.352434 0.132967
+		0.285272 -0.418094 0.116401
+		0.14331 -0.332063 0.168017
+		0.296793 -0.392915 0.150673
+		0.164538 -0.30173 0.191904
+		0.309501 -0.357416 0.173469
+		0.179411 -0.277921 0.199314
+		0.317694 -0.330351 0.18005
+		0.189122 -0.261162 0.199731
+		0.322708 -0.311638 0.179894
+		0.198569 -0.24432 0.198171
+		0.327435 -0.292971 0.177764
+		0.211241 -0.219817 0.189117
+		0.333248 -0.266291 0.167895
+		0.225802 -0.18738 0.163095
+		0.338737 -0.231961 0.140829
+		0.233494 -0.16399 0.126556
+		0.339903 -0.208458 0.103579
+		0.233929 -0.155611 0.0987616
+		0.338011 -0.201073 0.0755639
+		0.231863 -0.153937 0.0795711
+		0.33549 -0.200558 0.0563615
+		0.228809 -0.153995 0.0604395
+		0.332468 -0.201971 0.0372772
+		0.221012 -0.160052 0.0331361
+		0.326391 -0.210645 0.0102447
+		0.203755 -0.180423 -0.00191396
+		0.31487 -0.235824 -0.0240281
+		0.059575 -0.151312 -0.014235
+		0.0786781 -0.130791 -0.00669098
+		0.046823 -0.165889 -0.0147382
+		0.0342939 -0.180592 -0.0132618
+		0.0170487 -0.202169 -0.00431871
+		-0.00374913 -0.231119 0.0215787
+		-0.0161721 -0.252481 0.0580566
+		-0.0184941 -0.260538 0.0858529
+		-0.016984 -0.262523 0.105066
+		-0.0184941 -0.260538 0.0858529
+		-0.0141697 -0.262997 0.124228
+		-0.00563037 -0.258474 0.151606
+		0.0148709 -0.241704 0.186817
+		0.0413007 -0.215956 0.210897
+		0.0604038 -0.195435 0.218441
+		0.0731559 -0.180859 0.218944
+		0.0856849 -0.166156 0.217468
+		0.10293 -0.144579 0.208524
+		0.123728 -0.115629 0.182627
+		0.136151 -0.0942663 0.146149
+		0.138473 -0.0862093 0.118353
+		0.136963 -0.0842249 0.09914
+		0.134149 -0.0837509 0.0799775
+		0.125609 -0.0882733 0.0525993
+		0.105108 -0.105043 0.0173887
+		-0.0255131 -0.0585817 0.00113058
+		-0.00375342 -0.0410762 0.00906867
+		-0.0403129 -0.071061 0.000371472
+		-0.0549732 -0.0836672 0.00159961
+		-0.0755701 -0.102229 0.010212
+		-0.101325 -0.127261 0.035735
+		-0.11798 -0.145892 0.0720228
+		-0.122363 -0.153048 0.0998171
+		-0.121769 -0.154924 0.119091
+		-0.122363 -0.153048 0.0998171
+		-0.119656 -0.155506 0.13834
+		-0.111382 -0.151885 0.165933
+		-0.0896706 -0.137846 0.20161
+		-0.0603911 -0.116016 0.226257
+		-0.0386313 -0.0985104 0.234195
+		-0.0238314 -0.086031 0.234954
+		-0.00917113 -0.0734248 0.233726
+		0.0114257 -0.0548632 0.225114
+		0.0371804 -0.0298313 0.199591
+		0.0538357 -0.0112002 0.163303
+		0.0582184 -0.00404418 0.135509
+		0.057625 -0.00216794 0.116235
+		0.0555118 -0.00158578 0.0969855
+		0.0472376 -0.00520724 0.0693927
+		0.0255262 -0.0192458 0.0337157
+		-0.090764 0.0354466 0.00979596
+		-0.0677152 0.0508574 0.0184097
+		-0.10675 0.024569 0.00858545
+		-0.122717 0.0136248 0.00936997
+		-0.14561 -0.00233889 0.0173712
+		-0.17522 -0.0235597 0.0421559
+		-0.195687 -0.0389717 0.078001
+		-0.20229 -0.0445847 0.105711
+		-0.202932 -0.0457912 0.125036
+		-0.20229 -0.0445847 0.105711
+		-0.201926 -0.045872 0.144384
+		-0.194801 -0.0421098 0.172277
+		-0.173655 -0.0291026 0.208677
+		-0.143572 -0.00955826 0.234258
+		-0.120523 0.00585246 0.242871
+		-0.104537 0.0167302 0.244082
+		-0.0885693 0.0276743 0.243297
+		-0.0656766 0.0436381 0.235296
+		-0.0360671 0.064859 0.210511
+		-0.0155995 0.0802709 0.174666
+		-0.00899684 0.085884 0.146956
+		-0.00835436 0.0870905 0.127631
+		-0.00936031 0.0871712 0.108283
+		-0.0164857 0.083409 0.0803903
+		-0.0376322 0.0704018 0.0439903
+		-0.14442 0.127735 0.00998527
+		-0.121443 0.142765 0.0194229
+		-0.160681 0.117356 0.00819582
+		-0.177059 0.107009 0.00839895
+		-0.201008 0.0922384 0.0155559
+		-0.232967 0.0732725 0.0392256
+		-0.256332 0.0603407 0.0742706
+		-0.264969 0.0563229 0.101697
+		-0.266941 0.0560905 0.120969
+		-0.264969 0.0563229 0.101697
+		-0.26723 0.0569273 0.140322
+		-0.261844 0.0618141 0.16843
+		-0.242703 0.0758751 0.205541
+		-0.213689 0.0956283 0.232175
+		-0.190711 0.110658 0.241612
+		-0.17445 0.121037 0.243402
+		-0.158073 0.131385 0.243198
+		-0.134123 0.146155 0.236042
+		-0.102165 0.165121 0.212372
+		-0.0787994 0.178052 0.177327
+		-0.0701626 0.18207 0.1499
+		-0.0681902 0.182303 0.130629
+		-0.0679015 0.181466 0.111275
+		-0.0732873 0.176579 0.0831671
+		-0.0924286 0.162518 0.0460562
+		-0.197162 0.217318 0.001935
+		-0.175768 0.234167 0.012001
+		-0.212613 0.205849 -0.000323452
+		-0.228302 0.194486 -0.000602752
+		-0.251679 0.178509 0.00581443
+		-0.28377 0.158505 0.0284268
+		-0.308358 0.145535 0.0626103
+		-0.318365 0.14209 0.089646
+		-0.321476 0.142516 0.108764
+		-0.318365 0.14209 0.089646
+		-0.322981 0.14412 0.128012
+		-0.319609 0.150484 0.156138
+		-0.303643 0.167248 0.193627
+		-0.277563 0.189895 0.22098
+		-0.256168 0.206745 0.231046
+		-0.240718 0.218213 0.233305
+		-0.225028 0.229576 0.233584
+		-0.201651 0.245553 0.227167
+		-0.16956 0.265557 0.204554
+		-0.144972 0.278528 0.170371
+		-0.134965 0.281972 0.143335
+		-0.131854 0.281546 0.124218
+		-0.130349 0.279942 0.104969
+		-0.133721 0.273578 0.0768428
+		-0.149687 0.256815 0.0393543
+		-0.261304 0.301409 -0.0122185
+		-0.24348 0.321933 -0.00201952
+		-0.274463 0.287389 -0.0145966
+		-0.287939 0.273476 -0.0150068
+		-0.308409 0.25384 -0.00881684
+		-0.337299 0.229095 0.0134185
+		-0.360396 0.212836 0.0472338
+		-0.370546 0.208321 0.0740579
+		-0.374313 0.208634 0.0930595
+		-0.370546 0.208321 0.0740579
+		-0.376707 0.210387 0.112205
+		-0.375414 0.217873 0.140227
+		-0.363824 0.237991 0.177674
+		-0.342957 0.265426 0.205118
+		-0.325133 0.285951 0.215317
+		-0.311975 0.29997 0.217695
+		-0.298499 0.313883 0.218105
+		-0.278028 0.333519 0.211915
+		-0.249139 0.358264 0.18968
+		-0.226041 0.374523 0.155865
+		-0.215891 0.379038 0.12904
+		-0.212124 0.378725 0.110039
+		-0.209731 0.376972 0.0908936
+		-0.211024 0.369487 0.0628716
+		-0.222613 0.349368 0.0254249
+		-0.346094 0.371084 -0.0292562
+		-0.334491 0.39582 -0.0194357
+		-0.354976 0.353997 -0.031374
+		-0.364197 0.336959 -0.0315253
+		-0.378622 0.312631 -0.0249671
+		-0.399808 0.281375 -0.00226218
+		-0.417731 0.26004 0.0318689
+		-0.426341 0.253392 0.0587874
+		-0.430092 0.252986 0.0777904
+		-0.426341 0.253392 0.0587874
+		-0.432909 0.254341 0.0969104
+		-0.433742 0.262354 0.124804
+		-0.428088 0.285462 0.16189
+		-0.415455 0.317955 0.188834
+		-0.403852 0.34269 0.198655
+		-0.39497 0.359777 0.200772
+		-0.385749 0.376815 0.200924
+		-0.371324 0.401144 0.194366
+		-0.350138 0.4324 0.171661
+		-0.332215 0.453734 0.137529
+		-0.323605 0.460382 0.110611
+		-0.319854 0.460788 0.0916079
+		-0.317037 0.459433 0.0724878
+		-0.316205 0.45142 0.0445944
+		-0.321858 0.428313 0.00750816
+		-0.45246 0.411689 -0.0466551
+		-0.450177 0.439173 -0.0375779
+		-0.454794 0.392522 -0.0482439
+		-0.457439 0.373334 -0.047861
+		-0.462313 0.34567 -0.0405176
+		-0.470892 0.309572 -0.0167559
+		-0.479768 0.284205 0.0181589
+		-0.485174 0.275665 0.0453761
+		-0.488319 0.274466 0.0644555
+		-0.485174 0.275665 0.0453761
+		-0.491207 0.275246 0.083597
+		-0.494474 0.283184 0.111332
+		-0.496867 0.307769 0.147818
+		-0.496145 0.343322 0.173832
+		-0.493862 0.370806 0.18291
+		-0.491528 0.389973 0.184498
+		-0.488883 0.409161 0.184115
+		-0.484008 0.436825 0.176772
+		-0.47543 0.472923 0.15301
+		-0.466554 0.49829 0.118096
+		-0.461147 0.506831 0.0908782
+		-0.458003 0.508029 0.0717989
+		-0.455115 0.507249 0.0526574
+		-0.451848 0.499311 0.024922
+		-0.449455 0.474726 -0.0115633
+		-0.572168 0.406867 -0.0633485
+		-0.580881 0.433302 -0.0550887
+		-0.566735 0.388298 -0.0643549
+		-0.561564 0.369652 -0.0633838
+		-0.555031 0.34258 -0.0551746
+		-0.548431 0.306854 -0.0302463
+		-0.546267 0.281236 0.00553578
+		-0.547638 0.272176 0.0330853
+		-0.549903 0.270475 0.052251
+		-0.547638 0.272176 0.0330853
+		-0.552714 0.270694 0.0714186
+		-0.558641 0.277622 0.0989832
+		-0.570287 0.30047 0.134811
+		-0.583497 0.334266 0.159806
+		-0.59221 0.3607 0.168065
+		-0.597643 0.379269 0.169072
+		-0.602815 0.397915 0.168101
+		-0.609347 0.424987 0.159892
+		-0.615947 0.460713 0.134963
+		-0.618111 0.486331 0.099181
+		-0.61674 0.495391 0.0716315
+		-0.614476 0.497092 0.0524657
+		-0.611664 0.496873 0.0332982
+		-0.605737 0.489945 0.00573355
+		-0.594091 0.467097 -0.0300944
+		-0.689581 0.348843 -0.0793125
+		-0.707633 0.37024 -0.0716185
+		-0.677539 0.333678 -0.0799166
+		-0.665712 0.318395 -0.0785396
+		-0.649446 0.296016 -0.0697343
+		-0.62986 0.266087 -0.044005
+		-0.618203 0.244125 -0.00763053
+		-0.616065 0.235941 0.0201434
+		-0.61753 0.234013 0.0393654
+		-0.616065 0.235941 0.0201434
+		-0.620225 0.233655 0.0585474
+		-0.628343 0.238552 0.0859894
+		-0.647771 0.256244 0.121357
+		-0.672774 0.283195 0.145643
+		-0.690827 0.304592 0.153337
+		-0.702869 0.319757 0.153941
+		-0.714696 0.33504 0.152564
+		-0.730962 0.357419 0.143759
+		-0.750548 0.387347 0.118029
+		-0.762206 0.409309 0.081655
+		-0.764343 0.417493 0.0538809
+		-0.762878 0.419422 0.034659
+		-0.760183 0.419779 0.0154769
+		-0.752065 0.414882 -0.011965
+		-0.732637 0.397191 -0.0473329
+		-0.785727 0.244981 -0.0950375
+		-0.810212 0.258758 -0.0877172
+		-0.769124 0.235002 -0.0953813
+		-0.752699 0.224858 -0.0937437
+		-0.7297 0.209703 -0.0845631
+		-0.701103 0.188818 -0.0583449
+		-0.682828 0.172719 -0.0216278
+		-0.678219 0.166091 0.00626063
+		-0.679097 0.163969 0.0254979
+		-0.678219 0.166091 0.00626063
+		-0.681678 0.162884 0.0446684
+		-0.691259 0.164901 0.072001
+		-0.715996 0.175009 0.107033
+		-0.749097 0.191716 0.130835
+		-0.773582 0.205493 0.138155
+		-0.790185 0.215472 0.138499
+		-0.80661 0.225617 0.136861
+		-0.829609 0.240772 0.127681
+		-0.858206 0.261656 0.101462
+		-0.876481 0.277755 0.0647453
+		-0.88109 0.284383 0.0368567
+		-0.880212 0.286506 0.0176195
+		-0.877631 0.287591 -0.00155097
+		-0.86805 0.285573 -0.0288836
+		-0.843313 0.275466 -0.0639158
+		-0.839173 0.114133 -0.111312
+		-0.867196 0.117522 -0.104516
+		-0.82002 0.111218 -0.1113
+		-0.801007 0.10807 -0.10931
+		-0.774157 0.102743 -0.0996354
+		-0.740284 0.0941425 -0.0728025
+		-0.71798 0.0859808 -0.0356917
+		-0.711742 0.0814351 -0.00770289
+		-0.712121 0.0790229 0.0115164
+		-0.711742 0.0814351 -0.00770289
+		-0.71447 0.0769234 0.0306324
+		-0.724629 0.0749823 0.057761
+		-0.752029 0.0747159 0.0922643
+		-0.789455 0.0774406 0.115357
+		-0.817477 0.0808296 0.122152
+		-0.836631 0.0837445 0.12214
+		-0.855643 0.0868921 0.12015
+		-0.882494 0.0922194 0.110476
+		-0.916367 0.10082 0.083643
+		-0.938671 0.108982 0.046532
+		-0.944909 0.113527 0.0185432
+		-0.944529 0.115939 -0.000676084
+		-0.942181 0.118039 -0.0197921
+		-0.932021 0.11998 -0.0469206
+		-0.904621 0.120246 -0.0814239
+		-0.834143 -0.0209718 -0.128592
+		-0.867196 0.117522 -0.104516
+		-0.861141 -0.0298105 -0.122598
+		-0.839173 0.114133 -0.111312
+		-0.815552 -0.0155498 -0.128036
+		-0.82002 0.111218 -0.1113
+		-0.797038 -0.0104307 -0.125509
+		-0.801007 0.10807 -0.10931
+		-0.770688 -0.00411385 -0.115082
+		-0.774157 0.102743 -0.0996354
+		-0.737012 0.00190961 -0.087316
+		-0.740284 0.0941425 -0.0728025
+		-0.714259 0.00329077 -0.0496104
+		-0.71798 0.0859808 -0.0356917
+		-0.707372 0.00133526 -0.0214733
+		-0.711742 0.0814351 -0.00770289
+		-0.707169 -0.00132775 -0.00228447
+		-0.711742 0.0814351 -0.00770289
+		-0.707372 0.00133526 -0.0214733
+		-0.712121 0.0790229 0.0115164
+		-0.70888 -0.00453466 0.0167453
+		-0.71447 0.0769234 0.0306324
+		-0.717935 -0.0110189 0.0435578
+		-0.724629 0.0749823 0.057761
+		-0.743505 -0.0233657 0.0772483
+		-0.752029 0.0747159 0.0922643
+		-0.779145 -0.0370339 0.0992554
+		-0.789455 0.0774406 0.115357
+		-0.806143 -0.0458727 0.105249
+		-0.817477 0.0808296 0.122152
+		-0.824734 -0.0512947 0.104693
+		-0.836631 0.0837445 0.12214
+		-0.843248 -0.0564138 0.102166
+		-0.855643 0.0868921 0.12015
+		-0.869598 -0.0627307 0.0917398
+		-0.882494 0.0922194 0.110476
+		-0.903274 -0.0687542 0.0639734
+		-0.916367 0.10082 0.083643
+		-0.926027 -0.0701353 0.0262677
+		-0.938671 0.108982 0.046532
+		-0.932914 -0.0681798 -0.00186926
+		-0.944909 0.113527 0.0185432
+		-0.933117 -0.0655167 -0.0210582
+		-0.944529 0.115939 -0.000676084
+		-0.931406 -0.0623098 -0.040088
+		-0.942181 0.118039 -0.0197921
+		-0.922351 -0.0558256 -0.0669005
+		-0.932021 0.11998 -0.0469206
+		-0.896781 -0.0434787 -0.100591
+		-0.904621 0.120246 -0.0814239
+		-0.771364 -0.139529 -0.146466
+		-0.79258 -0.158651 -0.141255
+		-0.756582 -0.127052 -0.145378
+		-0.741791 -0.114919 -0.142323
+		-0.720489 -0.0986556 -0.131157
+		-0.692738 -0.080001 -0.102465
+		-0.673296 -0.0701908 -0.0641627
+		-0.666801 -0.0696878 -0.0358696
+		-0.665939 -0.0723802 -0.0167031
+		-0.666801 -0.0696878 -0.0358696
+		-0.666603 -0.0763422 0.00224966
+		-0.672813 -0.0864127 0.028763
+		-0.691884 -0.108654 0.0616707
+		-0.719378 -0.135975 0.0826234
+		-0.740594 -0.155097 0.0878339
+		-0.755376 -0.167574 0.0867459
+		-0.770167 -0.179708 0.0836914
+		-0.791469 -0.195971 0.0725248
+		-0.81922 -0.214626 0.0438336
+		-0.838662 -0.224436 0.00553083
+		-0.845157 -0.224939 -0.0227623
+		-0.846019 -0.222246 -0.0419288
+		-0.845355 -0.218284 -0.0608816
+		-0.839145 -0.208214 -0.087395
+		-0.820073 -0.185972 -0.120303
+		-0.669143 -0.224362 -0.163803
+		-0.68191 -0.250026 -0.159186
+		-0.660002 -0.207346 -0.162311
+		-0.650752 -0.190677 -0.158857
+		-0.637077 -0.167909 -0.147128
+		-0.618523 -0.140835 -0.117734
+		-0.604573 -0.125196 -0.0789759
+		-0.599102 -0.122806 -0.0505628
+		-0.597571 -0.125308 -0.0314122
+		-0.599102 -0.122806 -0.0505628
+		-0.596988 -0.129547 -0.0125169
+		-0.599419 -0.141629 0.013771
+		-0.60942 -0.16986 0.0460868
+		-0.625222 -0.205713 0.0662408
+		-0.637989 -0.231377 0.0708577
+		-0.64713 -0.248394 0.0693658
+		-0.65638 -0.265063 0.0659112
+		-0.670055 -0.28783 0.0541825
+		-0.688609 -0.314905 0.0247881
+		-0.702559 -0.330543 -0.0139695
+		-0.708029 -0.332933 -0.0423826
+		-0.709561 -0.330432 -0.0615331
+		-0.710143 -0.326192 -0.0804286
+		-0.707712 -0.31411 -0.106716
+		-0.697711 -0.285879 -0.139032
+		-0.550477 -0.264576 -0.179603
+		-0.55283 -0.293227 -0.175535
+		-0.54833 -0.245412 -0.177738
+		-0.54597 -0.226566 -0.173914
+		-0.541844 -0.200568 -0.161667
+		-0.534945 -0.169085 -0.131624
+		-0.528153 -0.150101 -0.0924481
+		-0.524216 -0.146374 -0.0639253
+		-0.522035 -0.14848 -0.0447901
+		-0.524216 -0.146374 -0.0639253
+		-0.520087 -0.152547 -0.0259485
+		-0.518086 -0.16515 0.000130288
+		-0.517164 -0.195667 0.0318982
+		-0.518684 -0.235189 0.051314
+		-0.521037 -0.26384 0.0553825
+		-0.523183 -0.283004 0.0535178
+		-0.525543 -0.30185 0.0496939
+		-0.52967 -0.327848 0.0374466
+		-0.536569 -0.359331 0.00740397
+		-0.54336 -0.378315 -0.0317724
+		-0.547297 -0.382042 -0.0602952
+		-0.549478 -0.379936 -0.0794303
+		-0.551427 -0.375869 -0.098272
+		-0.553427 -0.363266 -0.124351
+		-0.55435 -0.332749 -0.156119
+		-0.43127 -0.256117 -0.193554
+		-0.422583 -0.283585 -0.18995
+		-0.436589 -0.237616 -0.19137
+		-0.441606 -0.219367 -0.18723
+		-0.447781 -0.193997 -0.174534
+		-0.453628 -0.162851 -0.143923
+		-0.454898 -0.143482 -0.104369
+		-0.452915 -0.139098 -0.0757367
+		-0.450258 -0.140592 -0.0566041
+		-0.452915 -0.139098 -0.0757367
+		-0.447068 -0.143982 -0.0377977
+		-0.440644 -0.155387 -0.0118825
+		-0.428452 -0.183879 0.0194365
+		-0.41499 -0.221385 0.0382347
+		-0.406303 -0.248853 0.0418385
+		-0.400984 -0.267354 0.0396553
+		-0.395967 -0.285603 0.035515
+		-0.389792 -0.310973 0.0228193
+		-0.383945 -0.34212 -0.00779176
+		-0.382675 -0.361488 -0.0473462
+		-0.384658 -0.365872 -0.0759783
+		-0.387315 -0.364378 -0.0951108
+		-0.390505 -0.360989 -0.113917
+		-0.396929 -0.349584 -0.139832
+		-0.409121 -0.321092 -0.171152
+		-0.320386 -0.201715 -0.205913
+		-0.303178 -0.224838 -0.202422
+		-0.331535 -0.186034 -0.203645
+		-0.342342 -0.17052 -0.199418
+		-0.356703 -0.148791 -0.186589
+		-0.372895 -0.121766 -0.155787
+		-0.381002 -0.104483 -0.116077
+		-0.380954 -0.100113 -0.0873746
+		-0.378207 -0.100931 -0.068214
+		-0.380954 -0.100113 -0.0873746
+		-0.374327 -0.103357 -0.0493884
+		-0.364846 -0.11239 -0.0234759
+		-0.344358 -0.135733 0.0077759
+		-0.319535 -0.166984 0.026445
+		-0.302327 -0.190106 0.029936
+		-0.291178 -0.205787 0.0276685
+		-0.280371 -0.221301 0.0234414
+		-0.26601 -0.24303 0.0106125
+		-0.249818 -0.270056 -0.020189
+		-0.241711 -0.287339 -0.0598991
+		-0.241759 -0.291708 -0.0886019
+		-0.244506 -0.290891 -0.107763
+		-0.248386 -0.288464 -0.126588
+		-0.257867 -0.279431 -0.152501
+		-0.278355 -0.256088 -0.183752
+		-0.199137 -0.12855 -0.212905
+		-0.221083 -0.10993 -0.216732
+		-0.235565 -0.0972252 -0.214681
+		-0.249721 -0.0846231 -0.210663
+		-0.26895 -0.0668579 -0.198111
+		-0.291584 -0.0445158 -0.167617
+		-0.304328 -0.0298954 -0.128055
+		-0.305936 -0.0258896 -0.0993447
+		-0.303515 -0.0262317 -0.0801259
+		-0.305936 -0.0258896 -0.0993447
+		-0.299616 -0.0278793 -0.06122
+		-0.28892 -0.034746 -0.0351165
+		-0.264369 -0.0530835 -0.0034579
+		-0.233504 -0.0780169 0.0156993
+		-0.211558 -0.096637 0.0195264
+		-0.197076 -0.109342 0.0174755
+		-0.18292 -0.121944 0.0134578
+		-0.163691 -0.139709 0.000905536
+		-0.141057 -0.162051 -0.0295883
+		-0.128313 -0.176672 -0.0691502
+		-0.126704 -0.180677 -0.097861
+		-0.129126 -0.180335 -0.11708
+		-0.133025 -0.178688 -0.135986
+		-0.143721 -0.171821 -0.162089
+		-0.168272 -0.153483 -0.193748
+		-0.10846 -0.00961894 -0.220558
+		-0.132278 0.00635946 -0.225063
+		-0.148202 0.0172779 -0.22346
+		-0.163858 0.0281149 -0.219881
+		-0.185442 0.0434155 -0.207926
+		-0.211553 0.0627087 -0.178138
+		-0.227259 0.0754012 -0.138977
+		-0.230305 0.0789403 -0.110322
+		-0.228519 0.0787125 -0.0910317
+		-0.230305 0.0789403 -0.110322
+		-0.225105 0.0773624 -0.072009
+		-0.214583 0.0715547 -0.0455797
+		-0.189163 0.0559145 -0.013168
+		-0.156281 0.0345664 0.00693989
+		-0.132462 0.0185879 0.0114448
+		-0.116538 0.00766945 0.0098421
+		-0.100883 -0.00316757 0.0062629
+		-0.0792978 -0.0184682 -0.00569236
+		-0.0531873 -0.0377613 -0.0354806
+		-0.0374808 -0.0504539 -0.0746408
+		-0.0344352 -0.0539929 -0.103296
+		-0.0362206 -0.0537651 -0.122587
+		-0.039635 -0.052415 -0.141609
+		-0.0501567 -0.0466073 -0.168039
+		-0.0755769 -0.0309671 -0.20045
+		-0.0252202 0.114428 -0.223602
+		-0.0489554 0.130267 -0.228958
+		-0.0650304 0.141032 -0.227927
+		-0.0809244 0.151692 -0.22491
+		-0.103153 0.166655 -0.213733
+		-0.130729 0.18534 -0.184893
+		-0.14827 0.197388 -0.146313
+		-0.152616 0.200525 -0.117778
+		-0.151687 0.200059 -0.0984322
+		-0.152616 0.200525 -0.117778
+		-0.149109 0.198488 -0.079295
+		-0.13972 0.192421 -0.0524999
+		-0.115627 0.176567 -0.0191908
+		-0.0834822 0.155229 0.00208688
+		-0.0597468 0.139389 0.00744349
+		-0.0436718 0.128625 0.00641203
+		-0.0277778 0.117965 0.00339538
+		-0.00554931 0.103001 -0.00778133
+		0.0220272 0.0843168 -0.0366213
+		0.0395681 0.0722693 -0.0752023
+		0.043914 0.0691318 -0.103737
+		0.0429849 0.0695979 -0.123083
+		0.0404065 0.0711693 -0.14222
+		0.0310177 0.0772363 -0.169015
+		0.00692445 0.0930902 -0.202324
+		0.0576031 0.226596 -0.220561
+		0.0357966 0.244748 -0.226719
+		0.0207978 0.257002 -0.226236
+		0.00586921 0.2691 -0.223764
+		-0.0153528 0.285961 -0.213358
+		-0.0424206 0.306749 -0.185492
+		-0.0606376 0.319798 -0.147555
+		-0.0660885 0.322868 -0.119204
+		-0.0661803 0.321992 -0.0998499
+		-0.0660885 0.322868 -0.119204
+		-0.0647283 0.319861 -0.0806485
+		-0.0573215 0.312468 -0.0535665
+		-0.0365633 0.293803 -0.0194782
+		-0.00772381 0.269099 0.00286764
+		0.0140827 0.250947 0.00902563
+		0.0290815 0.238694 0.00854266
+		0.0440101 0.226595 0.00607067
+		0.0652322 0.209735 -0.0043357
+		0.0923 0.188947 -0.0322016
+		0.110517 0.175898 -0.0701382
+		0.115968 0.172828 -0.0984897
+		0.11606 0.173703 -0.117844
+		0.114608 0.175835 -0.137045
+		0.107201 0.183227 -0.164127
+		0.0864426 0.201893 -0.198215
+		0.12838 0.336933 -0.218281
+		0.145902 0.314757 -0.211634
+		0.116067 0.35189 -0.218146
+		0.103702 0.366653 -0.216024
+		0.0857418 0.387208 -0.206132
+		0.0620259 0.412512 -0.178955
+		0.0450022 0.428342 -0.141526
+		0.0389667 0.432015 -0.113366
+		0.0378194 0.430896 -0.0940581
+		0.0389667 0.432015 -0.113366
+		0.0379453 0.428243 -0.0748671
+		0.0425122 0.419148 -0.047676
+		0.0576279 0.396272 -0.0131862
+		0.0800136 0.366056 0.00977468
+		0.0975351 0.343881 0.0164223
+		0.109848 0.328923 0.0162869
+		0.122213 0.314161 0.0141655
+		0.140174 0.293606 0.00427306
+		0.163889 0.268301 -0.0229038
+		0.180913 0.252472 -0.0603328
+		0.186949 0.248799 -0.0884935
+		0.188096 0.249918 -0.107801
+		0.18797 0.25257 -0.126992
+		0.183403 0.261666 -0.154183
+		0.168288 0.284541 -0.188673
+		0.234142 0.39991 -0.205314
+		0.245054 0.373864 -0.198573
+		0.226175 0.41757 -0.205256
+		0.21805 0.435039 -0.203218
+		0.205825 0.4595 -0.193462
+		0.188803 0.489908 -0.166501
+		0.175468 0.509334 -0.12927
+		0.169813 0.514226 -0.101216
+		0.167869 0.513286 -0.0819629
+		0.169813 0.514226 -0.101216
+		0.166755 0.510534 -0.0628179
+		0.168014 0.500333 -0.0356645
+		0.175636 0.47401 -0.00116378
+		0.188676 0.438794 0.0218817
+		0.199588 0.412747 0.0286232
+		0.207555 0.395087 0.0285655
+		0.21568 0.377618 0.0265269
+		0.227905 0.353157 0.0167715
+		0.244927 0.32275 -0.0101901
+		0.258262 0.303323 -0.0474208
+		0.263917 0.298431 -0.0754749
+		0.265861 0.299371 -0.0947281
+		0.266975 0.302123 -0.113873
+		0.265716 0.312324 -0.141026
+		0.258094 0.338647 -0.175527
+		0.355094 0.431242 -0.189973
+		0.358319 0.403166 -0.183319
+		0.352323 0.450416 -0.189861
+		0.349332 0.469443 -0.18777
+		0.344273 0.496292 -0.177946
+		0.336111 0.530114 -0.150914
+		0.328371 0.552321 -0.113654
+		0.324064 0.558474 -0.0856092
+		0.32178 0.558031 -0.0663755
+		0.324064 0.558474 -0.0856092
+		0.319794 0.555617 -0.0472554
+		0.317963 0.545358 -0.020157
+		0.317727 0.517814 0.0142323
+		0.320329 0.480272 0.0371488
+		0.323554 0.452197 0.0438036
+		0.326325 0.433022 0.043691
+		0.329316 0.413995 0.0415999
+		0.334376 0.387146 0.0317768
+		0.342538 0.353325 0.00474387
+		0.350278 0.331117 -0.0325152
+		0.354585 0.324964 -0.0605605
+		0.356868 0.325407 -0.0797942
+		0.358854 0.327821 -0.0989143
+		0.360686 0.33808 -0.126013
+		0.360921 0.365624 -0.160402
+		0.48614 0.42834 -0.173939
+		0.481435 0.40045 -0.167387
+		0.488823 0.447526 -0.173753
+		0.49126 0.466624 -0.171589
+		0.493915 0.493777 -0.161659
+		0.495589 0.528418 -0.134484
+		0.494465 0.551744 -0.0971211
+		0.492134 0.558734 -0.0690383
+		0.48988 0.558864 -0.0497965
+		0.492134 0.558734 -0.0690383
+		0.487361 0.557018 -0.0306758
+		0.482831 0.54756 -0.00360256
+		0.475039 0.521028 0.0306995
+		0.467149 0.48415 0.053485
+		0.462444 0.45626 0.0600365
+		0.459761 0.437074 0.0598511
+		0.457325 0.417976 0.0576866
+		0.454669 0.390823 0.0477565
+		0.452995 0.356182 0.0205812
+		0.45412 0.332855 -0.0167812
+		0.456451 0.325866 -0.0448641
+		0.458705 0.325736 -0.0641059
+		0.461223 0.327582 -0.0832266
+		0.465754 0.33704 -0.1103
+		0.473545 0.363573 -0.144602
+		0.613438 0.38758 -0.158631
+		0.600512 0.362387 -0.152214
+		0.621831 0.405039 -0.158349
+		0.629974 0.422472 -0.156087
+		0.640823 0.447447 -0.146011
+		0.653121 0.479707 -0.118636
+		0.659374 0.501952 -0.0811217
+		0.659452 0.509082 -0.0529774
+		0.657462 0.509728 -0.0337168
+		0.659452 0.509082 -0.0529774
+		0.654618 0.508573 -0.0145876
+		0.647591 0.500712 0.0124635
+		0.632309 0.477517 0.0466647
+		0.613716 0.444594 0.0692863
+		0.60079 0.419401 0.0757039
+		0.592397 0.401942 0.0754219
+		0.584254 0.384509 0.0731596
+		0.573404 0.359535 0.0630838
+		0.561106 0.327275 0.0357091
+		0.554853 0.305029 -0.00180548
+		0.554776 0.297899 -0.0299498
+		0.556766 0.297253 -0.0492104
+		0.559609 0.298408 -0.0683397
+		0.566637 0.306269 -0.0953908
+		0.581919 0.329465 -0.129592
+		0.719728 0.308351 -0.144997
+		0.698983 0.289028 -0.138737
+		0.733594 0.321876 -0.144601
+		0.747226 0.335435 -0.142224
+		0.766017 0.355052 -0.131976
+		0.78874 0.380795 -0.104367
+		0.802397 0.39907 -0.0666726
+		0.805034 0.40538 -0.038456
+		0.803469 0.40642 -0.0191735
+		0.805034 0.40538 -0.038456
+		0.800486 0.406063 -3.41551e-005
+		0.791309 0.400737 0.0269908
+		0.769154 0.383739 0.0610726
+		0.740507 0.358887 0.0835012
+		0.719762 0.339563 0.0897608
+		0.705895 0.326039 0.0893651
+		0.692264 0.312479 0.0869873
+		0.673473 0.292862 0.0767399
+		0.65075 0.267119 0.0491303
+		0.637092 0.248844 0.0114364
+		0.634456 0.242535 -0.0167802
+		0.636021 0.241494 -0.0360627
+		0.639004 0.241851 -0.0552021
+		0.648181 0.247177 -0.0822272
+		0.670336 0.264175 -0.116309
+		0.790085 0.196229 -0.133204
+		0.763623 0.185981 -0.127069
+		0.808002 0.203583 -0.132719
+		0.825716 0.211032 -0.130249
+		0.850482 0.222068 -0.119865
+		0.88119 0.237088 -0.0920678
+		0.900702 0.248439 -0.0542292
+		0.905516 0.252936 -0.0259531
+		0.90446 0.254234 -0.00665164
+		0.905516 0.252936 -0.0259531
+		0.901566 0.254768 0.0124974
+		0.891073 0.252906 0.0395039
+		0.864182 0.244978 0.0734944
+		0.828329 0.232345 0.0957721
+		0.801866 0.222097 0.101908
+		0.783949 0.214743 0.101422
+		0.766235 0.207294 0.0989527