Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000343LuxRenderCorepublic2008-07-14 22:022009-11-25 00:28
ReporterLord Crc 
Assigned ToDade 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version0.5 
Target VersionFixed in Version0.6 
Summary0000343: haltspp not functioning when using high number of samples per pixel in integrator
DescriptionFlexImageFilm's haltspp relies on BufferGroup's numberOfSamples member to record the total number of samples for that buffer. The problem is that numberOfSamples is of the float type, and numerical issues creep in when it reaches a value of around 16 million. This means that it will simply stay constant after a while, and thus might never reach the haltSamplePerPixel count. Note that even for a modest image of 800x600, this happens as low as 0000021:0000034 samples/pixel.

A workaround is to use the double datatype instead. This should be sufficient for most renderings.
TagsNo tags attached.
Mercurial Changeset #
Requires Documentation UpdateNo
Requires Exporter Update
Attached Files

- Relationships

-  Notes
(0000932)
Dade (developer)
2008-07-15 04:09

Most of the time I use haltspp with value 1. It is like saying: "stop at first complete pass".

I don't see any advantage in doing multiple passes, a single pass with more samples will produce a better stratification.

Anyway changing numberOfSamples in a double should have no drawback at all so I guess I can fix it at the next commit ^^
(0000933)
Lord Crc (administrator)
2008-07-15 10:09
edited on: 2008-07-15 10:10

It halts at samples/pixel, not pass/pixel (which, imho, is what it really should do, butt that's another thing). When using lowdiscrepancy sampler with 128 pixel samples, you'll need to set haltspp to 128 for a single pass. And for any reasonable image size, it'll never stop due to the numerical isssue :/

(0000935)
Dade (developer)
2008-07-16 02:13

Nope, setting haltspp to 1 (or 2, 3, etc.) will stop after 1 single pass even in the case of your example. No need to set to 128. Just try it.

The number of samples per pixel is one of the conditions to match in order to end the rendering, even if it is matched after one single pixel, the rendering will go on anyway up to the end of the pass (and will stop there).

I have written this feature, I know how it works ^^
(0000936)
Lord Crc (administrator)
2008-07-16 02:34

Yeah ok, I missunderstood you then.
(0000937)
Dade (developer)
2008-07-16 03:44

Now BufferGroup.numberOfSamples is a double, it should have fixed this issue.

- Issue History
Date Modified Username Field Change
2008-07-14 22:02 Lord Crc New Issue
2008-07-15 04:04 Dade Status new => assigned
2008-07-15 04:04 Dade Assigned To => Dade
2008-07-15 04:09 Dade Note Added: 0000932
2008-07-15 04:09 Dade Status assigned => acknowledged
2008-07-15 10:09 Lord Crc Note Added: 0000933
2008-07-15 10:10 Lord Crc Note Edited: 0000933
2008-07-16 02:13 Dade Note Added: 0000935
2008-07-16 02:34 Lord Crc Note Added: 0000936
2008-07-16 03:44 Dade Note Added: 0000937
2008-07-16 03:44 Dade Status acknowledged => feedback
2008-07-16 12:32 jeanphi Note Added: 0000940
2008-07-16 14:45 jeanphi Note Deleted: 0000940
2008-07-17 04:44 Dade Requires Documentation Update => No
2008-07-17 04:44 Dade Requires LuxBlend Implementation => No
2008-07-17 04:44 Dade Requires LuxMaya Implementation => No
2008-07-17 04:44 Dade Requires LuXSI Implementation => No
2008-07-17 04:44 Dade Status feedback => resolved
2008-07-17 04:44 Dade Fixed in Version => 0.6
2008-07-17 04:44 Dade Resolution open => fixed
2009-11-25 00:28 jeanphi Status resolved => closed


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker