From e6117798b62652ca98cd386ad14c17c0bafd297d Mon Sep 17 00:00:00 2001
From: Maurice Raybaud <mauriceraybaud@hotmail.fr>
Date: Fri, 29 Apr 2011 17:39:04 +0000
Subject: [PATCH] Improved input precision for chromatic dispersion for more
 accurate caustics

---
 render_povray/__init__.py | 2 +-
 render_povray/render.py   | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/render_povray/__init__.py b/render_povray/__init__.py
index f54367262..3edb733f5 100644
--- a/render_povray/__init__.py
+++ b/render_povray/__init__.py
@@ -320,7 +320,7 @@ def register():
     Mat.pov_photons_dispersion = FloatProperty(
             name="chromatic dispersion",
             description="Light passing through will be separated according to wavelength. This ratio of refractive indices for violet to red controls how much the colors are spread out 1 = no dispersion, good values are 1.01 to 1.1",
-            min=1.00, max=10.0, soft_min=1.00, soft_max=1.10, default=1.00)
+            min=1.0000, max=10.000, soft_min=1.0000, soft_max=1.1000, precision=4, default=1.0000)
 
     Mat.pov_photons_reflection = BoolProperty(
             name="Reflective Photon Caustics",
diff --git a/render_povray/render.py b/render_povray/render.py
index f940991d6..ee227b493 100644
--- a/render_povray/render.py
+++ b/render_povray/render.py
@@ -291,7 +291,7 @@ def write_pov(filename, scene=None, info_callback=None):
                 if pov_fake_caustics:
                     tabWrite("caustics %.3g\n" % material.pov_fake_caustics_power)
                 if pov_photons_refraction:
-                    tabWrite("dispersion %.3g\n" % material.pov_photons_dispersion)  # Default of 1 means no dispersion
+                    tabWrite("dispersion %.6f\n" % material.pov_photons_dispersion)  # Default of 1 means no dispersion
             #TODO
             # Other interior args
             if material.use_transparency and material.transparency_method == 'RAYTRACE':
-- 
GitLab