POV-Ray : Newsgroups : povray.binaries.images : Different result between partial rendering and normal rendering ? : Different result between partial rendering and normal rendering ? Server Time
26 Apr 2024 13:42:42 EDT (-0400)
  Different result between partial rendering and normal rendering ?  
From: BayashiPascal
Date: 17 Jun 2019 11:10:01
Message: <web.5d07acb1d24138982bedecc40@news.povray.org>
Hi there,
I've realized something I wasn't aware until now and wanted to ask for your
opinion. I'm using partial rendering (don't know if it's the right term, I mean
rendering the image by chunks instead of in one pass) on a current project and
I've made a unit test to check if my automatic procedure reuniting all the
chunks give me the right result, i.e. give me the exact same image as the one
rendered in one pass. As you can guess, I don't get the same image and the
problem is not in my procedure.
So, I've made a simple test case to investigate further. What I've found is that
with antialiasing turned on, the image by chunk is different from the image in
one pass. Then I thought there should be some randomness in the subsampling used
for antialising, maybe the seed is different at each rendering. So I've compared
two renderings in one shot, and there was no difference, which leave me with no
clue.
That's not a very big problem to me, but I'm wondering if it's known, if it's a
bug, if I'm doing something wrong, ...
If you wish to check yourself: I'm using POV-Ray 3.6.1 on Ubuntu 16.04, the
simple test case I've used is

--- testPov.pov

camera {
  location 5
  look_at 0
}

light_source { 10 color rgb 1 }

background { color rgb z }

sphere { 0 1 texture { pigment { color x } } }

--- end of testPov.pov

--- testPov.ini

Input_File_Name=testPov.pov
Width=100
Height=100
Antialias=on

--- end of testPov.ini

--- Makefile

oneShot:
 povray testPov.ini -D +OoneShot.png

fourFragments: firstFragment secondFragment thirdFragment fourthFragment

firstFragment:
 povray testPov.ini +SC1 +SR1 +EC50 +ER50 -D -OfirstFragment.png

secondFragment:
 povray testPov.ini +SC51 +SR1 +EC100 +ER50 -D -OsecondFragment.png

thirdFragment:
 povray testPov.ini +SC1 +SR51 +EC50 +ER100 -D -OthirdFragment.png

fourthFragment:
 povray testPov.ini +SC51 +SR51 +EC100 +ER100 -D -OfourthFragment.png

--- end of Makefile

Result of rendering in attachment. First line, two rendering in one pass and
their difference. Second line, rendering in one pass, rendering by chunks, their
difference (no antialising). Third line, rendering in one pass, rendering by
chunks, their difference (with antialising, check the value of the pixels at the
limit of the sphere and the background, they are not [0,0,0]). Both Gimp and my
code give me the same differences so I'm confident the culprit is POV-Ray.

Regards,
Pascal


Post a reply to this message


Attachments:
Download 'partialrenderingdifference.png' (4 KB)

Preview of image 'partialrenderingdifference.png'
partialrenderingdifference.png


 

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.