Skip to content

Debug volume-caustic scene #46

@wahn

Description

@wahn

For debugging we use a lower resolution and the bdpt integrator, instead of mlt:

diff --git a/assets/scenes/caustic.pbrt b/assets/scenes/caustic.pbrt                                                                        
index 382670a..c17389a 100644                                                                                                               
--- a/assets/scenes/caustic.pbrt                                                                                                            
+++ b/assets/scenes/caustic.pbrt                                                                                                            
@@ -3,11 +3,12 @@ MakeNamedMedium "vol"                                                                                                     
         "rgb sigma_a" [ 0.0199999996 0.0199999996 0.0199999996 ]                                                                           
         "rgb sigma_s" [ 0.3499999940 0.3499999940 0.3499999940 ]                                                                           
 Film "image"                                                                                                                               
-        "integer xresolution" [ 800 ]                                                                                                      
-        "integer yresolution" [ 800 ]                                                                                                      
-        "string filename" [ "caustic.exr" ]                                                                                                
-Integrator "mlt"                                                                                                                           
-        "integer mutationsperpixel" [ 16384 ]                                                                                              
+        "integer xresolution" [ 400 ]                                                                                                      
+        "integer yresolution" [ 400 ]                                                                                                      
+        "string filename" [ "f16-22a.exr" ]                                                                                                
+Sampler "02sequence"                                                                                                                       
+        "integer pixelsamples" [ 64 ]                                                                                                      
+Integrator "bdpt"                                                                                                                          
 MediumInterface "" "vol"                                                                                                                   
 LookAt -0.75 0.800000012 -1.25                                                                                                             
         -1 0.800000012 0                                                                                                                   
@@ -30,7 +31,7 @@ AttributeEnd                                                                                                              
 AttributeBegin                                                                                                                             
     Rotate -60 0 0 1                                                                                                                       
     LightSource "infinite"                                                                                                                 
-            "string mapname" [ "textures/skylight-day.hdr" ]                                                                               
+            "string mapname" [ "textures/skylight-day.exr" ]                                                                               
             "rgb scale" [ 1.5000000000 1.5000000000 1.3999999762 ]                                                                         
 AttributeEnd                                                                                                                               
 LightSource "spot"                                                                                                                         

We can render the scene with bdpt (bi-directional path tracing) but the results of the C++ and Rust versions render very differently:

volume-caustic

> imf_diff -d f16-22a_cpp.png f16-22a_rust.png diff.jpg
differing pixels:	100.000% (160000 of 160000)
average difference:	 51.499%
maximum difference:	 86.603%
Summary: Many pixels differ strongly.
== "f16-22a_cpp.png" and "f16-22a_rust.png" are different

diff

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions